@cobotar/protocol 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,212 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
2
+ // @generated from file ar/v1/function_definition.proto (package ar.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import type { DefinitionStatus } from "./definition_status_pb.ts";
8
+ import { file_ar_v1_definition_status } from "./definition_status_pb.ts";
9
+ import type { ExchangeType, HandlerRequirement } from "./events_pb.ts";
10
+ import { file_ar_v1_events } from "./events_pb.ts";
11
+ import type { FunctionType } from "./function_pb.ts";
12
+ import { file_ar_v1_function } from "./function_pb.ts";
13
+ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
14
+ import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
15
+ import type { Message } from "@bufbuild/protobuf";
16
+
17
+ /**
18
+ * Describes the file ar/v1/function_definition.proto.
19
+ */
20
+ export const file_ar_v1_function_definition: GenFile = /*@__PURE__*/
21
+ fileDesc("Ch9hci92MS9mdW5jdGlvbl9kZWZpbml0aW9uLnByb3RvEgVhci52MSL0AwoSRnVuY3Rpb25EZWZpbml0aW9uEhgKAmlkGAEgASgJQgy6SAnIAQFyBPjzBAESGQoDa2V5GAIgASgJQgy6SAnIAQFyBODzBAESFwoEbmFtZRgDIAEoCUIJukgGcgSA8QQBEgwKBGljb24YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSLgoEdHlwZRgGIAEoDjITLmFyLnYxLkZ1bmN0aW9uVHlwZUILukgIyAEBggECEAESMAoFZ3JvdXAYByABKA4yFC5hci52MS5GdW5jdGlvbkdyb3VwQgu6SAjIAQGCAQIQARIZCghyZXZpc2lvbhgIIAEoBEIHukgEMgIoARI0CgZzdGF0dXMYCSABKA4yFy5hci52MS5EZWZpbml0aW9uU3RhdHVzQgu6SAjIAQGCAQIQARIvChJjb25zdW1lcnNfcmVxdWlyZWQYCiADKAsyEy5hci52MS5FeGNoYW5nZVR5cGUSLwoSY29uc3VtZXJzX29wdGlvbmFsGAsgAygLMhMuYXIudjEuRXhjaGFuZ2VUeXBlEjQKEXJlcXVpcmVkX2hhbmRsZXJzGAwgAygLMhkuYXIudjEuSGFuZGxlclJlcXVpcmVtZW50EiIKBWVtaXRzGA0gAygLMhMuYXIudjEuRXhjaGFuZ2VUeXBlIsADChNGdW5jdGlvbkRlZmluaXRpb25zEqgDCgVpdGVtcxgBIAMoCzIZLmFyLnYxLkZ1bmN0aW9uRGVmaW5pdGlvbkL9ArpI+QK6AX0KJWZ1bmN0aW9uX2RlZmluaXRpb25zLml0ZW1zLnVuaXF1ZV9pZHMSJmZ1bmN0aW9uIGRlZmluaXRpb24gaWRzIG11c3QgYmUgdW5pcXVlGix0aGlzLm1hcChkZWZpbml0aW9uLCBkZWZpbml0aW9uLmlkKS51bmlxdWUoKboB9QEKL2Z1bmN0aW9uX2RlZmluaXRpb25zLml0ZW1zLnVuaXF1ZV9rZXlfcmV2aXNpb25zEjlmdW5jdGlvbiBkZWZpbml0aW9uIGtleSBhbmQgcmV2aXNpb24gcGFpcnMgbXVzdCBiZSB1bmlxdWUahgF0aGlzLmFsbChkZWZpbml0aW9uLCB0aGlzLmZpbHRlcihjYW5kaWRhdGUsIGNhbmRpZGF0ZS5rZXkgPT0gZGVmaW5pdGlvbi5rZXkgJiYgY2FuZGlkYXRlLnJldmlzaW9uID09IGRlZmluaXRpb24ucmV2aXNpb24pLnNpemUoKSA9PSAxKSqnAgoNRnVuY3Rpb25Hcm91cBIeChpGVU5DVElPTl9HUk9VUF9VTlNQRUNJRklFRBAAEhoKFkZVTkNUSU9OX0dST1VQX0dFTkVSQUwQARIYChRGVU5DVElPTl9HUk9VUF9ST0JPVBACEhcKE0ZVTkNUSU9OX0dST1VQX1RBU0sQAxIeChpGVU5DVElPTl9HUk9VUF9FTlZJUk9OTUVOVBAEEhsKF0ZVTkNUSU9OX0dST1VQX09QRVJBVE9SEAUSGgoWRlVOQ1RJT05fR1JPVVBfU1BBVElBTBAGEhgKFEZVTkNUSU9OX0dST1VQX0xPR0lDEAcSFwoTRlVOQ1RJT05fR1JPVVBfREFUQRAIEhsKF0ZVTkNUSU9OX0dST1VQX1RFTVBPUkFMEAlCkwEKCWNvbS5hci52MUIXRnVuY3Rpb25EZWZpbml0aW9uUHJvdG9QAVovZ2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL2FyL3YxO2FydjGiAgNBWFiqAg5NZXNzYWdlcy5BUi5WMcoCBUFyXFYx4gIRQXJcVjFcR1BCTWV0YWRhdGHqAgZBcjo6VjFiBnByb3RvMw", [file_ar_v1_definition_status, file_ar_v1_events, file_ar_v1_function, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
22
+
23
+ /**
24
+ * @generated from message ar.v1.FunctionDefinition
25
+ */
26
+ export type FunctionDefinition = Message<"ar.v1.FunctionDefinition"> & {
27
+ /**
28
+ * Stable identity of this immutable built-in definition revision.
29
+ *
30
+ * @generated from field: string id = 1;
31
+ */
32
+ id: string;
33
+
34
+ /**
35
+ * Stable logical identity shared by every revision of this definition.
36
+ *
37
+ * @generated from field: string key = 2;
38
+ */
39
+ key: string;
40
+
41
+ /**
42
+ * @generated from field: string name = 3;
43
+ */
44
+ name: string;
45
+
46
+ /**
47
+ * @generated from field: string icon = 4;
48
+ */
49
+ icon: string;
50
+
51
+ /**
52
+ * @generated from field: string description = 5;
53
+ */
54
+ description: string;
55
+
56
+ /**
57
+ * @generated from field: ar.v1.FunctionType type = 6;
58
+ */
59
+ type: FunctionType;
60
+
61
+ /**
62
+ * @generated from field: ar.v1.FunctionGroup group = 7;
63
+ */
64
+ group: FunctionGroup;
65
+
66
+ /**
67
+ * Monotonic revision of the externally visible definition contract.
68
+ *
69
+ * @generated from field: uint64 revision = 8;
70
+ */
71
+ revision: bigint;
72
+
73
+ /**
74
+ * @generated from field: ar.v1.DefinitionStatus status = 9;
75
+ */
76
+ status: DefinitionStatus;
77
+
78
+ /**
79
+ * Inputs the function expects to receive
80
+ *
81
+ * @generated from field: repeated ar.v1.ExchangeType consumers_required = 10;
82
+ */
83
+ consumersRequired: ExchangeType[];
84
+
85
+ /**
86
+ * Inputs that will enhance the function, but are not needed to function
87
+ *
88
+ * @generated from field: repeated ar.v1.ExchangeType consumers_optional = 11;
89
+ */
90
+ consumersOptional: ExchangeType[];
91
+
92
+ /**
93
+ * Events that MUST have at least one handler somewhere else in the system.
94
+ *
95
+ * @generated from field: repeated ar.v1.HandlerRequirement required_handlers = 12;
96
+ */
97
+ requiredHandlers: HandlerRequirement[];
98
+
99
+ /**
100
+ * Outputs the function publishes
101
+ *
102
+ * @generated from field: repeated ar.v1.ExchangeType emits = 13;
103
+ */
104
+ emits: ExchangeType[];
105
+ };
106
+
107
+ /**
108
+ * Describes the message ar.v1.FunctionDefinition.
109
+ * Use `create(FunctionDefinitionSchema)` to create a new message.
110
+ */
111
+ export const FunctionDefinitionSchema: GenMessage<FunctionDefinition> = /*@__PURE__*/
112
+ messageDesc(file_ar_v1_function_definition, 0);
113
+
114
+ /**
115
+ * The catalog service additionally enforces that revisions sharing a key also
116
+ * share a type, and that at most one revision per key/type is ACTIVE.
117
+ *
118
+ * @generated from message ar.v1.FunctionDefinitions
119
+ */
120
+ export type FunctionDefinitions = Message<"ar.v1.FunctionDefinitions"> & {
121
+ /**
122
+ * @generated from field: repeated ar.v1.FunctionDefinition items = 1;
123
+ */
124
+ items: FunctionDefinition[];
125
+ };
126
+
127
+ /**
128
+ * Describes the message ar.v1.FunctionDefinitions.
129
+ * Use `create(FunctionDefinitionsSchema)` to create a new message.
130
+ */
131
+ export const FunctionDefinitionsSchema: GenMessage<FunctionDefinitions> = /*@__PURE__*/
132
+ messageDesc(file_ar_v1_function_definition, 1);
133
+
134
+ /**
135
+ * @generated from enum ar.v1.FunctionGroup
136
+ */
137
+ export enum FunctionGroup {
138
+ /**
139
+ * @generated from enum value: FUNCTION_GROUP_UNSPECIFIED = 0;
140
+ */
141
+ UNSPECIFIED = 0,
142
+
143
+ /**
144
+ * Functions that do not yet fit a more specific domain.
145
+ *
146
+ * @generated from enum value: FUNCTION_GROUP_GENERAL = 1;
147
+ */
148
+ GENERAL = 1,
149
+
150
+ /**
151
+ * Functions that read or evaluate robot-specific information.
152
+ *
153
+ * @generated from enum value: FUNCTION_GROUP_ROBOT = 2;
154
+ */
155
+ ROBOT = 2,
156
+
157
+ /**
158
+ * Functions that resolve or evaluate task and process information.
159
+ *
160
+ * @generated from enum value: FUNCTION_GROUP_TASK = 3;
161
+ */
162
+ TASK = 3,
163
+
164
+ /**
165
+ * Functions that evaluate the surrounding work environment.
166
+ *
167
+ * @generated from enum value: FUNCTION_GROUP_ENVIRONMENT = 4;
168
+ */
169
+ ENVIRONMENT = 4,
170
+
171
+ /**
172
+ * Functions that resolve or evaluate operator-specific information.
173
+ *
174
+ * @generated from enum value: FUNCTION_GROUP_OPERATOR = 5;
175
+ */
176
+ OPERATOR = 5,
177
+
178
+ /**
179
+ * Functions that evaluate positions, movement, distance, or geometry.
180
+ *
181
+ * @generated from enum value: FUNCTION_GROUP_SPATIAL = 6;
182
+ */
183
+ SPATIAL = 6,
184
+
185
+ /**
186
+ * Boolean operations and predicates.
187
+ *
188
+ * @generated from enum value: FUNCTION_GROUP_LOGIC = 7;
189
+ */
190
+ LOGIC = 7,
191
+
192
+ /**
193
+ * Formatting, conversion, parsing, and other value transformations.
194
+ *
195
+ * @generated from enum value: FUNCTION_GROUP_DATA = 8;
196
+ */
197
+ DATA = 8,
198
+
199
+ /**
200
+ * Functions related to durations, timing, and schedules.
201
+ *
202
+ * @generated from enum value: FUNCTION_GROUP_TEMPORAL = 9;
203
+ */
204
+ TEMPORAL = 9,
205
+ }
206
+
207
+ /**
208
+ * Describes the enum ar.v1.FunctionGroup.
209
+ */
210
+ export const FunctionGroupSchema: GenEnum<FunctionGroup> = /*@__PURE__*/
211
+ enumDesc(file_ar_v1_function_definition, 0);
212
+
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file ar/v1/function.proto.
15
15
  */
16
16
  export const file_ar_v1_function: GenFile = /*@__PURE__*/
17
- fileDesc("ChRhci92MS9mdW5jdGlvbi5wcm90bxIFYXIudjEi8AEKD0Z1bmN0aW9uTWVzc2FnZRIYCgJpZBgBIAEoCUIMukgJyAEBcgTQ8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEi4KBHR5cGUYBSABKA4yEy5hci52MS5GdW5jdGlvblR5cGVCC7pICMgBAYIBAhABEh8KCWNvbmZpZ19pZBgGIAEoCUIMukgJyAEBcgSQ8QQBEjYKCnByb3ZlbmFuY2UYByABKAsyGi5hci52MS5BUkNvbnRlbnRQcm92ZW5hbmNlQga6SAPIAQEiOQoQRnVuY3Rpb25NZXNzYWdlcxIlCgVpdGVtcxgBIAMoCzIWLmFyLnYxLkZ1bmN0aW9uTWVzc2FnZSKhAQoSRnVuY3Rpb25BZGRNZXNzYWdlEh8KCWNvbmZpZ19pZBgBIAEoCUIMukgJyAEBcgSQ8QQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEi4KBHR5cGUYBSABKA4yEy5hci52MS5GdW5jdGlvblR5cGVCC7pICMgBAYIBAhABImoKFUZ1bmN0aW9uVXBkYXRlTWVzc2FnZRIVCgJpZBgBIAEoCUIJukgGcgTQ8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJKr4GCgxGdW5jdGlvblR5cGUSHQoZRlVOQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEhsKF0ZVTkNUSU9OX1RZUEVfUFJPWElNSVRZEAoSHAoYRlVOQ1RJT05fVFlQRV9TVEFUSU9OQVJZEAsSFwoTRlVOQ1RJT05fVFlQRV9USU1FUhAVEhcKE0ZVTkNUSU9OX1RZUEVfREVMQVkQFhIZChVGVU5DVElPTl9UWVBFX1RJTUVPVVQQFxIaChZGVU5DVElPTl9UWVBFX0RFQk9VTkNFEBgSHgoaRlVOQ1RJT05fVFlQRV9FTEFQU0VEX1RJTUUQGRIaChZGVU5DVElPTl9UWVBFX1NDSEVEVUxFEBoSHwobRlVOQ1RJT05fVFlQRV9QQVJUX0ZPUl9UQVNLECgSIQodRlVOQ1RJT05fVFlQRV9JU19QQVJUX09GX1RZUEUQMhInCiNGVU5DVElPTl9UWVBFX0NMT1NFU1RfV09SS0FCTEVfVEFTSxAzEiEKHUZVTkNUSU9OX1RZUEVfU1RSSU5HX0ZPUk1BVF8xEDwSIQodRlVOQ1RJT05fVFlQRV9TVFJJTkdfRk9STUFUXzIQPRIeChpGVU5DVElPTl9UWVBFX1NUUklOR19FTVBUWRA+EhwKGEZVTkNUSU9OX1RZUEVfSU5UX0ZPUk1BVBBGEh0KGUZVTkNUSU9OX1RZUEVfSU5UX0NPTVBBUkUQRxIeChpGVU5DVElPTl9UWVBFX0ZMT0FUX0ZPUk1BVBBQEh8KG0ZVTkNUSU9OX1RZUEVfRkxPQVRfQ09NUEFSRRBREh8KG0ZVTkNUSU9OX1RZUEVfRE9VQkxFX0ZPUk1BVBBaEiAKHEZVTkNUSU9OX1RZUEVfRE9VQkxFX0NPTVBBUkUQWxIVChFGVU5DVElPTl9UWVBFX0FORBBkEhQKEEZVTkNUSU9OX1RZUEVfT1IQZRIVChFGVU5DVElPTl9UWVBFX05PVBBmEioKJkZVTkNUSU9OX1RZUEVfUk9CT1RfQ09ORklHVVJBQkxFX0lOUFVUEHgSKwonRlVOQ1RJT05fVFlQRV9ST0JPVF9DT05GSUdVUkFCTEVfT1VUUFVUEHlCiQEKCWNvbS5hci52MUINRnVuY3Rpb25Qcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_ar_v1_provenance, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("ChRhci92MS9mdW5jdGlvbi5wcm90bxIFYXIudjEi7gEKD0Z1bmN0aW9uTWVzc2FnZRIYCgJpZBgBIAEoCUIMukgJyAEBcgTQ8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiwKFmZ1bmN0aW9uX2RlZmluaXRpb25faWQYBSABKAlCDLpICcgBAXIE+PMEARIfCgljb25maWdfaWQYBiABKAlCDLpICcgBAXIEkPEEARI2Cgpwcm92ZW5hbmNlGAcgASgLMhouYXIudjEuQVJDb250ZW50UHJvdmVuYW5jZUIGukgDyAEBIjkKEEZ1bmN0aW9uTWVzc2FnZXMSJQoFaXRlbXMYASADKAsyFi5hci52MS5GdW5jdGlvbk1lc3NhZ2UinwEKEkZ1bmN0aW9uQWRkTWVzc2FnZRIfCgljb25maWdfaWQYASABKAlCDLpICcgBAXIEkPEEARIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIsChZmdW5jdGlvbl9kZWZpbml0aW9uX2lkGAUgASgJQgy6SAnIAQFyBPjzBAEiagoVRnVuY3Rpb25VcGRhdGVNZXNzYWdlEhUKAmlkGAEgASgJQgm6SAZyBNDzBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkqvgYKDEZ1bmN0aW9uVHlwZRIdChlGVU5DVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASGwoXRlVOQ1RJT05fVFlQRV9QUk9YSU1JVFkQChIcChhGVU5DVElPTl9UWVBFX1NUQVRJT05BUlkQCxIXChNGVU5DVElPTl9UWVBFX1RJTUVSEBUSFwoTRlVOQ1RJT05fVFlQRV9ERUxBWRAWEhkKFUZVTkNUSU9OX1RZUEVfVElNRU9VVBAXEhoKFkZVTkNUSU9OX1RZUEVfREVCT1VOQ0UQGBIeChpGVU5DVElPTl9UWVBFX0VMQVBTRURfVElNRRAZEhoKFkZVTkNUSU9OX1RZUEVfU0NIRURVTEUQGhIfChtGVU5DVElPTl9UWVBFX1BBUlRfRk9SX1RBU0sQKBIhCh1GVU5DVElPTl9UWVBFX0lTX1BBUlRfT0ZfVFlQRRAyEicKI0ZVTkNUSU9OX1RZUEVfQ0xPU0VTVF9XT1JLQUJMRV9UQVNLEDMSIQodRlVOQ1RJT05fVFlQRV9TVFJJTkdfRk9STUFUXzEQPBIhCh1GVU5DVElPTl9UWVBFX1NUUklOR19GT1JNQVRfMhA9Eh4KGkZVTkNUSU9OX1RZUEVfU1RSSU5HX0VNUFRZED4SHAoYRlVOQ1RJT05fVFlQRV9JTlRfRk9STUFUEEYSHQoZRlVOQ1RJT05fVFlQRV9JTlRfQ09NUEFSRRBHEh4KGkZVTkNUSU9OX1RZUEVfRkxPQVRfRk9STUFUEFASHwobRlVOQ1RJT05fVFlQRV9GTE9BVF9DT01QQVJFEFESHwobRlVOQ1RJT05fVFlQRV9ET1VCTEVfRk9STUFUEFoSIAocRlVOQ1RJT05fVFlQRV9ET1VCTEVfQ09NUEFSRRBbEhUKEUZVTkNUSU9OX1RZUEVfQU5EEGQSFAoQRlVOQ1RJT05fVFlQRV9PUhBlEhUKEUZVTkNUSU9OX1RZUEVfTk9UEGYSKgomRlVOQ1RJT05fVFlQRV9ST0JPVF9DT05GSUdVUkFCTEVfSU5QVVQQeBIrCidGVU5DVElPTl9UWVBFX1JPQk9UX0NPTkZJR1VSQUJMRV9PVVRQVVQQeUKJAQoJY29tLmFyLnYxQg1GdW5jdGlvblByb3RvUAFaL2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hci92MTthcnYxogIDQVhYqgIOTWVzc2FnZXMuQVIuVjHKAgVBclxWMeICEUFyXFYxXEdQQk1ldGFkYXRh6gIGQXI6OlYxYgZwcm90bzM", [file_ar_v1_provenance, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  * @generated from message ar.v1.FunctionMessage
@@ -41,9 +41,9 @@ export type FunctionMessage = Message<"ar.v1.FunctionMessage"> & {
41
41
  description: string;
42
42
 
43
43
  /**
44
- * @generated from field: ar.v1.FunctionType type = 5;
44
+ * @generated from field: string function_definition_id = 5;
45
45
  */
46
- type: FunctionType;
46
+ functionDefinitionId: string;
47
47
 
48
48
  /**
49
49
  * @generated from field: string config_id = 6;
@@ -105,9 +105,9 @@ export type FunctionAddMessage = Message<"ar.v1.FunctionAddMessage"> & {
105
105
  description: string;
106
106
 
107
107
  /**
108
- * @generated from field: ar.v1.FunctionType type = 5;
108
+ * @generated from field: string function_definition_id = 5;
109
109
  */
110
- type: FunctionType;
110
+ functionDefinitionId: string;
111
111
  };
112
112
 
113
113
  /**
@@ -4,10 +4,6 @@
4
4
 
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
- import type { ActionType } from "./action_pb.ts";
8
- import { file_ar_v1_action } from "./action_pb.ts";
9
- import type { FeedbackType } from "./feedback_pb.ts";
10
- import { file_ar_v1_feedback } from "./feedback_pb.ts";
11
7
  import type { AssistanceSemantic } from "./semantic_source_pb.ts";
12
8
  import { file_ar_v1_semantic_source } from "./semantic_source_pb.ts";
13
9
  import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
@@ -20,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf";
20
16
  * Describes the file ar/v1/presentation_strategy.proto.
21
17
  */
22
18
  export const file_ar_v1_presentation_strategy: GenFile = /*@__PURE__*/
23
- fileDesc("CiFhci92MS9wcmVzZW50YXRpb25fc3RyYXRlZ3kucHJvdG8SBWFyLnYxIm4KF1Byb3BlcnR5VmFsdWVBc3NpZ25tZW50EiIKDHByb3BlcnR5X2tleRgBIAEoCUIMukgJyAEBcgTg8wQBEi8KBXZhbHVlGAIgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBASKSAwoQUHJlc2VudGF0aW9uUm9sZRIZCgNrZXkYASABKAlCDLpICcgBAXIE4PMEARIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESEwoLZGVzY3JpcHRpb24YAyABKAkSSAoScmVxdWlyZWRfc2VtYW50aWNzGAQgAygOMhkuYXIudjEuQXNzaXN0YW5jZVNlbWFudGljQhG6SA6SAQsYASIHggEEEAEgABJDChVkZWZhdWx0X2ZlZWRiYWNrX3R5cGUYBSABKA4yEy5hci52MS5GZWVkYmFja1R5cGVCCrpIB4IBBBABIABIAIgBARI/ChNkZWZhdWx0X2FjdGlvbl90eXBlGAYgASgOMhEuYXIudjEuQWN0aW9uVHlwZUIKukgHggEEEAEgAEgBiAEBOjO6SDAiLgoVZGVmYXVsdF9mZWVkYmFja190eXBlChNkZWZhdWx0X2FjdGlvbl90eXBlEAFCGAoWX2RlZmF1bHRfZmVlZGJhY2tfdHlwZUIWChRfZGVmYXVsdF9hY3Rpb25fdHlwZSKEAgoWUHJlc2VudGF0aW9uUm9sZVByZXNldBIeCghyb2xlX2tleRgBIAEoCUIMukgJyAEBcgTg8wQBEskBCgpwcm9wZXJ0aWVzGAIgAygLMh4uYXIudjEuUHJvcGVydHlWYWx1ZUFzc2lnbm1lbnRClAG6SJABugGMAQo4cHJlc2VudGF0aW9uX3JvbGVfcHJlc2V0LnByb3BlcnRpZXMudW5pcXVlX3Byb3BlcnR5X2tleXMSHHByb3BlcnR5IGtleXMgbXVzdCBiZSB1bmlxdWUaMnRoaXMubWFwKHByb3BlcnR5LCBwcm9wZXJ0eS5wcm9wZXJ0eV9rZXkpLnVuaXF1ZSgpItsCChpQcmVzZW50YXRpb25GaWRlbGl0eUFuY2hvchI6CghmaWRlbGl0eRgBIAEoDjIbLmFyLnYxLlByZXNlbnRhdGlvbkZpZGVsaXR5Qgu6SAjIAQGCAQIQARIwCg90YXJnZXRfY292ZXJhZ2UYAiABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEs4BCg1wcmVzZW50YXRpb25zGAMgAygLMh0uYXIudjEuUHJlc2VudGF0aW9uUm9sZVByZXNldEKXAbpIkwG6AY8BCjtwcmVzZW50YXRpb25fZmlkZWxpdHlfYW5jaG9yLnByZXNlbnRhdGlvbnMudW5pcXVlX3JvbGVfa2V5cxIYcm9sZSBrZXlzIG11c3QgYmUgdW5pcXVlGjZ0aGlzLm1hcChwcmVzZW50YXRpb24sIHByZXNlbnRhdGlvbi5yb2xlX2tleSkudW5pcXVlKCkioQIKGkFzc2lzdGFuY2VQcmVzZW50YXRpb25SdWxlEjgKCHNlbWFudGljGAEgASgOMhkuYXIudjEuQXNzaXN0YW5jZVNlbWFudGljQgu6SAjIAQGCAQIQARLIAQoHYW5jaG9ycxgCIAMoCzIhLmFyLnYxLlByZXNlbnRhdGlvbkZpZGVsaXR5QW5jaG9yQpMBukiPAboBhAEKNmFzc2lzdGFuY2VfcHJlc2VudGF0aW9uX3J1bGUuYW5jaG9ycy51bmlxdWVfZmlkZWxpdGllcxIeYW5jaG9yIGZpZGVsaXR5IG11c3QgYmUgdW5pcXVlGip0aGlzLm1hcChhbmNob3IsIGFuY2hvci5maWRlbGl0eSkudW5pcXVlKCmSAQQIAxADIo0IChRQcmVzZW50YXRpb25TdHJhdGVneRIYCgJpZBgBIAEoCUIMukgJyAEBcgTY8wQBEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhkKA2tleRgFIAEoCUIMukgJyAEBcgTg8wQBEpQBCgVyb2xlcxgGIAMoCzIXLmFyLnYxLlByZXNlbnRhdGlvblJvbGVCbLpIaboBZgoncHJlc2VudGF0aW9uX3N0cmF0ZWd5LnJvbGVzLnVuaXF1ZV9rZXlzEhhyb2xlIGtleXMgbXVzdCBiZSB1bmlxdWUaIXRoaXMubWFwKHJvbGUsIHJvbGUua2V5KS51bmlxdWUoKRKtAQoFcnVsZXMYByADKAsyIS5hci52MS5Bc3Npc3RhbmNlUHJlc2VudGF0aW9uUnVsZUJ7ukh4ugF1CixwcmVzZW50YXRpb25fc3RyYXRlZ3kucnVsZXMudW5pcXVlX3NlbWFudGljcxIdcnVsZSBzZW1hbnRpY3MgbXVzdCBiZSB1bmlxdWUaJnRoaXMubWFwKHJ1bGUsIHJ1bGUuc2VtYW50aWMpLnVuaXF1ZSgpOrwEuki4BBr2AQotcHJlc2VudGF0aW9uX3N0cmF0ZWd5LnByZXNldHMucmVmZXJlbmNlX3JvbGVzEj9ldmVyeSBwcmVzZW50YXRpb24gcHJlc2V0IG11c3QgcmVmZXJlbmNlIGEgcm9sZSBpbiB0aGUgc3RyYXRlZ3kagwF0aGlzLnJ1bGVzLmFsbChydWxlLCBydWxlLmFuY2hvcnMuYWxsKGFuY2hvciwgYW5jaG9yLnByZXNlbnRhdGlvbnMuYWxsKHByZXNldCwgcHJlc2V0LnJvbGVfa2V5IGluIHRoaXMucm9sZXMubWFwKHJvbGUsIHJvbGUua2V5KSkpKRq8Ago6cHJlc2VudGF0aW9uX3N0cmF0ZWd5LnByZXNldHMucm9sZXNfc3VwcG9ydF9ydWxlX3NlbWFudGljcxJBZXZlcnkgcmVmZXJlbmNlZCByb2xlIG11c3QgZGVjbGFyZSB0aGUgcnVsZSdzIGFzc2lzdGFuY2Ugc2VtYW50aWMaugF0aGlzLnJ1bGVzLmFsbChydWxlLCBydWxlLmFuY2hvcnMuYWxsKGFuY2hvciwgYW5jaG9yLnByZXNlbnRhdGlvbnMuYWxsKHByZXNldCwgdGhpcy5yb2xlcy5maWx0ZXIocm9sZSwgcm9sZS5rZXkgPT0gcHJlc2V0LnJvbGVfa2V5KS5hbGwocm9sZSwgcnVsZS5zZW1hbnRpYyBpbiByb2xlLnJlcXVpcmVkX3NlbWFudGljcykpKSkiVQoXUHJlc2VudGF0aW9uU3RyYXRlZ3lBZGQSFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiRAoWUHJlc2VudGF0aW9uU3RyYXRlZ2llcxIqCgVpdGVtcxgBIAMoCzIbLmFyLnYxLlByZXNlbnRhdGlvblN0cmF0ZWd5Kp4BChRQcmVzZW50YXRpb25GaWRlbGl0eRIlCiFQUkVTRU5UQVRJT05fRklERUxJVFlfVU5TUEVDSUZJRUQQABIdChlQUkVTRU5UQVRJT05fRklERUxJVFlfTE9XEAESIAocUFJFU0VOVEFUSU9OX0ZJREVMSVRZX01FRElVTRACEh4KGlBSRVNFTlRBVElPTl9GSURFTElUWV9ISUdIEANClQEKCWNvbS5hci52MUIZUHJlc2VudGF0aW9uU3RyYXRlZ3lQcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_ar_v1_action, file_ar_v1_feedback, file_ar_v1_semantic_source, file_buf_validate_validate, file_common_v1_property, file_validation_v1_predefined_string_rules]);
19
+ fileDesc("CiFhci92MS9wcmVzZW50YXRpb25fc3RyYXRlZ3kucHJvdG8SBWFyLnYxIm4KF1Byb3BlcnR5VmFsdWVBc3NpZ25tZW50EiIKDHByb3BlcnR5X2tleRgBIAEoCUIMukgJyAEBcgTg8wQBEi8KBXZhbHVlGAIgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBASKiAwoQUHJlc2VudGF0aW9uUm9sZRIZCgNrZXkYASABKAlCDLpICcgBAXIE4PMEARIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESEwoLZGVzY3JpcHRpb24YAyABKAkSSAoScmVxdWlyZWRfc2VtYW50aWNzGAQgAygOMhkuYXIudjEuQXNzaXN0YW5jZVNlbWFudGljQhG6SA6SAQsYASIHggEEEAEgABI4Ch5kZWZhdWx0X2ZlZWRiYWNrX2RlZmluaXRpb25faWQYBSABKAlCC7pICHIG8PMEARABSACIAQESNgocZGVmYXVsdF9hY3Rpb25fZGVmaW5pdGlvbl9pZBgGIAEoCUILukgIcgbo8wQBEAFIAYgBATpFukhCIkAKHmRlZmF1bHRfZmVlZGJhY2tfZGVmaW5pdGlvbl9pZAocZGVmYXVsdF9hY3Rpb25fZGVmaW5pdGlvbl9pZBABQiEKH19kZWZhdWx0X2ZlZWRiYWNrX2RlZmluaXRpb25faWRCHwodX2RlZmF1bHRfYWN0aW9uX2RlZmluaXRpb25faWQihAIKFlByZXNlbnRhdGlvblJvbGVQcmVzZXQSHgoIcm9sZV9rZXkYASABKAlCDLpICcgBAXIE4PMEARLJAQoKcHJvcGVydGllcxgCIAMoCzIeLmFyLnYxLlByb3BlcnR5VmFsdWVBc3NpZ25tZW50QpQBukiQAboBjAEKOHByZXNlbnRhdGlvbl9yb2xlX3ByZXNldC5wcm9wZXJ0aWVzLnVuaXF1ZV9wcm9wZXJ0eV9rZXlzEhxwcm9wZXJ0eSBrZXlzIG11c3QgYmUgdW5pcXVlGjJ0aGlzLm1hcChwcm9wZXJ0eSwgcHJvcGVydHkucHJvcGVydHlfa2V5KS51bmlxdWUoKSLbAgoaUHJlc2VudGF0aW9uRmlkZWxpdHlBbmNob3ISOgoIZmlkZWxpdHkYASABKA4yGy5hci52MS5QcmVzZW50YXRpb25GaWRlbGl0eUILukgIyAEBggECEAESMAoPdGFyZ2V0X2NvdmVyYWdlGAIgASgBQhe6SBQSEhkAAAAAAADwPykAAAAAAAAAABLOAQoNcHJlc2VudGF0aW9ucxgDIAMoCzIdLmFyLnYxLlByZXNlbnRhdGlvblJvbGVQcmVzZXRClwG6SJMBugGPAQo7cHJlc2VudGF0aW9uX2ZpZGVsaXR5X2FuY2hvci5wcmVzZW50YXRpb25zLnVuaXF1ZV9yb2xlX2tleXMSGHJvbGUga2V5cyBtdXN0IGJlIHVuaXF1ZRo2dGhpcy5tYXAocHJlc2VudGF0aW9uLCBwcmVzZW50YXRpb24ucm9sZV9rZXkpLnVuaXF1ZSgpIqECChpBc3Npc3RhbmNlUHJlc2VudGF0aW9uUnVsZRI4CghzZW1hbnRpYxgBIAEoDjIZLmFyLnYxLkFzc2lzdGFuY2VTZW1hbnRpY0ILukgIyAEBggECEAESyAEKB2FuY2hvcnMYAiADKAsyIS5hci52MS5QcmVzZW50YXRpb25GaWRlbGl0eUFuY2hvckKTAbpIjwG6AYQBCjZhc3Npc3RhbmNlX3ByZXNlbnRhdGlvbl9ydWxlLmFuY2hvcnMudW5pcXVlX2ZpZGVsaXRpZXMSHmFuY2hvciBmaWRlbGl0eSBtdXN0IGJlIHVuaXF1ZRoqdGhpcy5tYXAoYW5jaG9yLCBhbmNob3IuZmlkZWxpdHkpLnVuaXF1ZSgpkgEECAMQAyKNCAoUUHJlc2VudGF0aW9uU3RyYXRlZ3kSGAoCaWQYASABKAlCDLpICcgBAXIE2PMEARIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIZCgNrZXkYBSABKAlCDLpICcgBAXIE4PMEARKUAQoFcm9sZXMYBiADKAsyFy5hci52MS5QcmVzZW50YXRpb25Sb2xlQmy6SGm6AWYKJ3ByZXNlbnRhdGlvbl9zdHJhdGVneS5yb2xlcy51bmlxdWVfa2V5cxIYcm9sZSBrZXlzIG11c3QgYmUgdW5pcXVlGiF0aGlzLm1hcChyb2xlLCByb2xlLmtleSkudW5pcXVlKCkSrQEKBXJ1bGVzGAcgAygLMiEuYXIudjEuQXNzaXN0YW5jZVByZXNlbnRhdGlvblJ1bGVCe7pIeLoBdQoscHJlc2VudGF0aW9uX3N0cmF0ZWd5LnJ1bGVzLnVuaXF1ZV9zZW1hbnRpY3MSHXJ1bGUgc2VtYW50aWNzIG11c3QgYmUgdW5pcXVlGiZ0aGlzLm1hcChydWxlLCBydWxlLnNlbWFudGljKS51bmlxdWUoKTq8BLpIuAQa9gEKLXByZXNlbnRhdGlvbl9zdHJhdGVneS5wcmVzZXRzLnJlZmVyZW5jZV9yb2xlcxI/ZXZlcnkgcHJlc2VudGF0aW9uIHByZXNldCBtdXN0IHJlZmVyZW5jZSBhIHJvbGUgaW4gdGhlIHN0cmF0ZWd5GoMBdGhpcy5ydWxlcy5hbGwocnVsZSwgcnVsZS5hbmNob3JzLmFsbChhbmNob3IsIGFuY2hvci5wcmVzZW50YXRpb25zLmFsbChwcmVzZXQsIHByZXNldC5yb2xlX2tleSBpbiB0aGlzLnJvbGVzLm1hcChyb2xlLCByb2xlLmtleSkpKSkavAIKOnByZXNlbnRhdGlvbl9zdHJhdGVneS5wcmVzZXRzLnJvbGVzX3N1cHBvcnRfcnVsZV9zZW1hbnRpY3MSQWV2ZXJ5IHJlZmVyZW5jZWQgcm9sZSBtdXN0IGRlY2xhcmUgdGhlIHJ1bGUncyBhc3Npc3RhbmNlIHNlbWFudGljGroBdGhpcy5ydWxlcy5hbGwocnVsZSwgcnVsZS5hbmNob3JzLmFsbChhbmNob3IsIGFuY2hvci5wcmVzZW50YXRpb25zLmFsbChwcmVzZXQsIHRoaXMucm9sZXMuZmlsdGVyKHJvbGUsIHJvbGUua2V5ID09IHByZXNldC5yb2xlX2tleSkuYWxsKHJvbGUsIHJ1bGUuc2VtYW50aWMgaW4gcm9sZS5yZXF1aXJlZF9zZW1hbnRpY3MpKSkpIlUKF1ByZXNlbnRhdGlvblN0cmF0ZWd5QWRkEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJIkQKFlByZXNlbnRhdGlvblN0cmF0ZWdpZXMSKgoFaXRlbXMYASADKAsyGy5hci52MS5QcmVzZW50YXRpb25TdHJhdGVneSqeAQoUUHJlc2VudGF0aW9uRmlkZWxpdHkSJQohUFJFU0VOVEFUSU9OX0ZJREVMSVRZX1VOU1BFQ0lGSUVEEAASHQoZUFJFU0VOVEFUSU9OX0ZJREVMSVRZX0xPVxABEiAKHFBSRVNFTlRBVElPTl9GSURFTElUWV9NRURJVU0QAhIeChpQUkVTRU5UQVRJT05fRklERUxJVFlfSElHSBADQpUBCgljb20uYXIudjFCGVByZXNlbnRhdGlvblN0cmF0ZWd5UHJvdG9QAVovZ2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL2FyL3YxO2FydjGiAgNBWFiqAg5NZXNzYWdlcy5BUi5WMcoCBUFyXFYx4gIRQXJcVjFcR1BCTWV0YWRhdGHqAgZBcjo6VjFiBnByb3RvMw", [file_ar_v1_semantic_source, file_buf_validate_validate, file_common_v1_property, file_validation_v1_predefined_string_rules]);
24
20
 
25
21
  /**
26
22
  * Assigns a desired value to a property identified by its stable,
@@ -84,8 +80,8 @@ export type PresentationRole = Message<"ar.v1.PresentationRole"> & {
84
80
  /**
85
81
  * Assistance semantics that an implementation of this role must support.
86
82
  *
87
- * For Feedback, these are checked against FeedbackInfoMessage.capabilities.
88
- * Action compatibility may initially also depend on ActionType until
83
+ * For Feedback, these are checked against FeedbackDefinition.capabilities.
84
+ * Action compatibility may initially also depend on ActionDefinition.type until
89
85
  * semantic Action capabilities are introduced.
90
86
  *
91
87
  * @generated from field: repeated ar.v1.AssistanceSemantic required_semantics = 4;
@@ -96,14 +92,14 @@ export type PresentationRole = Message<"ar.v1.PresentationRole"> & {
96
92
  * Default implementation created by reconciliation when the role has no
97
93
  * compatible explicit binding.
98
94
  *
99
- * @generated from field: optional ar.v1.FeedbackType default_feedback_type = 5;
95
+ * @generated from field: optional string default_feedback_definition_id = 5;
100
96
  */
101
- defaultFeedbackType?: FeedbackType;
97
+ defaultFeedbackDefinitionId?: string;
102
98
 
103
99
  /**
104
- * @generated from field: optional ar.v1.ActionType default_action_type = 6;
100
+ * @generated from field: optional string default_action_definition_id = 6;
105
101
  */
106
- defaultActionType?: ActionType;
102
+ defaultActionDefinitionId?: string;
107
103
  };
108
104
 
109
105
  /**
@@ -11,7 +11,7 @@ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
11
11
  * Describes the file validation/v1/predefined_string_rules.proto.
12
12
  */
13
13
  export const file_validation_v1_predefined_string_rules: GenFile = /*@__PURE__*/
14
- fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OoICCiBwcm9wZXJ0eV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiTTiABKAhCnAHCSJgBCpUBCidzdHJpbmcucHJvcGVydHlfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb3BlcnR5IGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfZGVmaW5pdGlvbi0nKSlSHXByb3BlcnR5RGVmaW5pdGlvbklkQ29tcG9uZW50OvgBCh5wcm9wZXJ0eV9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYs04gASgIQpYBwkiSAQqPAQolc3RyaW5nLnByb3BlcnR5X2luc3RhbmNlX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaW5zdGFuY2UgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfaW5zdGFuY2UtJykpUhtwcm9wZXJ0eUluc3RhbmNlSWRDb21wb25lbnQ68wEKHXJvYm90X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJROIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9kZWZpbml0aW9uLScpKVIacm9ib3REZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG3JvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiVTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSByb2JvdCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9pbnN0YW5jZS0nKSlSGHJvYm90SW5zdGFuY2VJZENvbXBvbmVudDrzAQodYXNzZXRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlk4gASgIQpMBwkiPAQqMAQokc3RyaW5nLmFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBkZWZpbml0aW9uIGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2RlZmluaXRpb24tJykpUhphc3NldERlZmluaXRpb25JZENvbXBvbmVudDrpAQobYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJdOIAEoCEKNAcJIiQEKhgEKInN0cmluZy5hc3NldF9pbnN0YW5jZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFzc2V0IGluc3RhbmNlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2luc3RhbmNlLScpKVIYYXNzZXRJbnN0YW5jZUlkQ29tcG9uZW50OtkBChhlbnZpcm9ubWVudF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmE4gASgIQoIBwkh/Cn0KH3N0cmluZy5lbnZpcm9ubWVudF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGVudmlyb25tZW50IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Vudmlyb25tZW50LScpKVIWZW52aXJvbm1lbnRJZENvbXBvbmVudDruAQoccGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiZTiABKAhCkAHCSIwBCokBCiNzdHJpbmcucGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3BhcnRfZGVmaW5pdGlvbi0nKSlSGXBhcnREZWZpbml0aW9uSWRDb21wb25lbnQ65AEKGnBhcnRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJpOIAEoCEKKAcJIhgEKgwEKIXN0cmluZy5wYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIrdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBpbnN0YW5jZSBpZBoxKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2luc3RhbmNlLScpKVIXcGFydEluc3RhbmNlSWRDb21wb25lbnQ67gEKHHRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYm04gASgIQpABwkiMAQqJAQojc3RyaW5nLnRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0b29sX2RlZmluaXRpb24tJykpUhl0b29sRGVmaW5pdGlvbklkQ29tcG9uZW50Os8BChp0b29sX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxicTiABKAhCdsJIcwpxChhzdHJpbmcudG9vbF9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9pbnN0YW5jZS0nKSlSF3Rvb2xJbnN0YW5jZUlkQ29tcG9uZW50Or8BChNtYXJrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ1OIAEoCEJzwkhwCm4KGnN0cmluZy5tYXJrZXJfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBtYXJrZXIgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbWFya2VyLScpKVIRbWFya2VySWRDb21wb25lbnQ6xAEKFGZpeHR1cmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ5OIAEoCEJ2wkhzCnEKG3N0cmluZy5maXh0dXJlX2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZml4dHVyZSBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdmaXh0dXJlLScpKVISZml4dHVyZUlkQ29tcG9uZW50OsQBChRzdGF0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxifTiABKAhCdsJIcwpxChtzdHJpbmcuc3RhdGlvbl9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHN0YXRpb24gaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc3RhdGlvbi0nKSlSEnN0YXRpb25JZENvbXBvbmVudDq6AQoSc2tpbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKBOIAEoCEJwwkhtCmsKGXN0cmluZy5za2lsbF9pZF9jb21wb25lbnQSI3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNraWxsIGlkGikodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NraWxsLScpKVIQc2tpbGxJZENvbXBvbmVudDrYAQoYcHJvY2Vzc19ydW5faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKFOIAEoCEKCAcJIfwp9Ch9zdHJpbmcucHJvY2Vzc19ydW5faWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJ1biBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3J1bi0nKSlSFXByb2Nlc3NSdW5JZENvbXBvbmVudDrfAQoZc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiiTiABKAhChwHCSIMBCoABCiBzdHJpbmcuc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIqdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgc2VxdWVuY2UgcnVuIGlkGjAodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX3J1bi0nKSlSFnNlcXVlbmNlUnVuSWRDb21wb25lbnQ6yAEKFXRhc2tfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxijTiABKAhCecJIdgp0ChxzdHJpbmcudGFza19ydW5faWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIHJ1biBpZBosKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0YXNrX3J1bi0nKSlSEnRhc2tSdW5JZENvbXBvbmVudDrpAQobcHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKROIAEoCEKNAcJIiQEKhgEKInN0cmluZy5wcm9jZXNzX3JlY2lwZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb2Nlc3MgcmVjaXBlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2Nlc3NfcmVjaXBlLScpKVIYcHJvY2Vzc1JlY2lwZUlkQ29tcG9uZW50OoICCiBzZXF1ZW5jZV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxilTiABKAhCnAHCSJgBCpUBCidzdHJpbmcuc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc2VxdWVuY2VfZGVmaW5pdGlvbi0nKSlSHXNlcXVlbmNlRGVmaW5pdGlvbklkQ29tcG9uZW50Ou4BChx0YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKZOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19kZWZpbml0aW9uLScpKVIZdGFza0RlZmluaXRpb25JZENvbXBvbmVudDq1AQoRY2VsbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYp04gASgIQm3CSGoKaAoYc3RyaW5nLmNlbGxfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjZWxsIGlkGigodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NlbGwtJykpUg9jZWxsSWRDb21wb25lbnQ6tQEKEWxpbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKhOIAEoCEJtwkhqCmgKGHN0cmluZy5saW5lX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbGluZSBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdsaW5lLScpKVIPbGluZUlkQ29tcG9uZW50OocCCiFjb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYqU4gASgIQp8BwkibAQqYAQooc3RyaW5nLmNvbnRhaW5lcl9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIydGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY29udGFpbmVyIGRlZmluaXRpb24gaWQaOCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2RlZmluaXRpb24tJykpUh5jb250YWluZXJEZWZpbml0aW9uSWRDb21wb25lbnQ6+gEKH2NvbnRhaW5lcl9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuo0GIAEoCEKVAcJIkQEKjgEKInN0cmluZy5yb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjb250YWluZXJfaW5zdGFuY2UtJykpUhxjb250YWluZXJJbnN0YW5jZUlkQ29tcG9uZW50OsABChN3b3JrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLuNBiABKAhCc8JIcApuChpzdHJpbmcud29ya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgd29ya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3dvcmtlci0nKSlSEXdvcmtlcklkQ29tcG9uZW50OsUBChRwcm9kdWN0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi8jQYgASgIQnbCSHMKcQobc3RyaW5nLnByb2R1Y3RfaWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9kdWN0IGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2R1Y3QtJykpUhJwcm9kdWN0SWRDb21wb25lbnQ6+AEKHmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi9jQYgASgIQpYBwkiSAQqPAQolc3RyaW5nLmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgQVIgY29uZmlnIGJpbmRpbmcgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2JpbmRpbmctJykpUhphckNvbmZpZ0JpbmRpbmdJZENvbXBvbmVudDr9AQofYXJfY29uZmlnX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi+jQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWdfaW5zdGFuY2UtJykpUhthckNvbmZpZ0luc3RhbmNlSWRDb21wb25lbnQ65AEKGmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL+NBiABKAhCigHCSIYBCoMBCiFzdHJpbmcuYXJfaW5wdXRfc2xvdF9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGlucHV0IHNsb3QgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfaW5wdXRfc2xvdC0nKSlSFmFySW5wdXRTbG90SWRDb21wb25lbnQ62QEKGG1vZGVsX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjAjQYgASgIQoIBwkh/Cn0KH3N0cmluZy5tb2RlbF9hc3NldF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIG1vZGVsIGFzc2V0IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21vZGVsX2Fzc2V0LScpKVIVbW9kZWxBc3NldElkQ29tcG9uZW50OuUBChpzaWRlY2FyX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjBjQYgASgIQooBwkiGAQqDAQohc3RyaW5nLnNpZGVjYXJfYXNzZXRfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzaWRlY2FyIGFzc2V0IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NpZGVjYXJfYXNzZXQtJykpUhdzaWRlY2FyQXNzZXRJZENvbXBvbmVudDrZAQoYaW1hZ2VfYXNzZXRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMKNBiABKAhCggHCSH8KfQofc3RyaW5nLmltYWdlX2Fzc2V0X2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgaW1hZ2UgYXNzZXQgaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnaW1hZ2VfYXNzZXQtJykpUhVpbWFnZUFzc2V0SWRDb21wb25lbnQ6wAEKE2RldmljZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYxI0GIAEoCEJzwkhwCm4KGnN0cmluZy5kZXZpY2VfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBkZXZpY2UgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZGV2aWNlLScpKVIRZGV2aWNlSWRDb21wb25lbnQ6tgEKEXpvbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMWNBiABKAhCbcJIagpoChhzdHJpbmcuem9uZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHpvbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnem9uZS0nKSlSD3pvbmVJZENvbXBvbmVudDr+AQofYWN0b3JfYXZhaWxhYmlsaXR5X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjGjQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFjdG9yX2F2YWlsYWJpbGl0eV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFjdG9yLWF2YWlsYWJpbGl0eSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhY3Rvcl9hdmFpbGFiaWxpdHktJykpUhxhY3RvckF2YWlsYWJpbGl0eUlkQ29tcG9uZW50OvQBCh1hY3Rvcl9hc3NpZ25tZW50X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjHjQYgASgIQpMBwkiPAQqMAQokc3RyaW5nLmFjdG9yX2Fzc2lnbm1lbnRfaWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhY3Rvci1hc3NpZ25tZW50IGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdG9yX2Fzc2lnbm1lbnQtJykpUhphY3RvckFzc2lnbm1lbnRJZENvbXBvbmVudDrJAQoVZmVlZGJhY2tfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLhOIAEoCEJ5wkh2CnQKHHN0cmluZy5mZWVkYmFja19pZF9jb21wb25lbnQSJnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZlZWRiYWNrIGlkGiwodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2ZlZWRiYWNrLScpKVITZmVlZGJhY2tJZENvbXBvbmVudDq/AQoTYWN0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi5TiABKAhCc8JIcApuChpzdHJpbmcuYWN0aW9uX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYWN0aW9uIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdGlvbi0nKSlSEWFjdGlvbklkQ29tcG9uZW50OskBChVmdW5jdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuk4gASgIQnnCSHYKdAocc3RyaW5nLmZ1bmN0aW9uX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZnVuY3Rpb24gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZnVuY3Rpb24tJykpUhNmdW5jdGlvbklkQ29tcG9uZW50OoMCCiJwcmVzZW50YXRpb25fc3RyYXRlZ3lfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLtOIAEoCEKZAcJIlQEKkgEKKXN0cmluZy5wcmVzZW50YXRpb25fc3RyYXRlZ3lfaWRfY29tcG9uZW50EjN0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcmVzZW50YXRpb24tc3RyYXRlZ3kgaWQaMCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJlc2VudGF0aW9uLScpKVIfcHJlc2VudGF0aW9uU3RyYXRlZ3lJZENvbXBvbmVudDqfAgoNa2V5X2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi8TiABKAhC3QHCSNkBCtYBChRzdHJpbmcua2V5X2NvbXBvbmVudBJyS2V5IG11c3QgYmUgMSB0byA2NCBjaGFyYWN0ZXJzIGFuZCBjb250YWluIG9ubHkgbG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cywgYW5kIHVuZGVyc2NvcmVzLCBzdGFydGluZyB3aXRoIGEgbGV0dGVyGkp0aGlzLnNpemUoKSA+PSAxICYmIHRoaXMuc2l6ZSgpIDw9IDY0ICYmIHRoaXMubWF0Y2hlcygnXlthLXpdW2EtejAtOV9dKiQnKVIMa2V5Q29tcG9uZW50QrUBChFjb20udmFsaWRhdGlvbi52MUIaUHJlZGVmaW5lZFN0cmluZ1J1bGVzUHJvdG9QAVo/Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3ZhbGlkYXRpb24vdjE7dmFsaWRhdGlvbnYxogIDVlhYygINVmFsaWRhdGlvblxWMeICGVZhbGlkYXRpb25cVjFcR1BCTWV0YWRhdGHqAg5WYWxpZGF0aW9uOjpWMQ", [file_buf_validate_validate]);
14
+ fileDesc("Cit2YWxpZGF0aW9uL3YxL3ByZWRlZmluZWRfc3RyaW5nX3J1bGVzLnByb3RvEg12YWxpZGF0aW9uLnYxOrEBCg5uYW1lX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiQTiABKAhCbsJIawppChVzdHJpbmcubmFtZV9jb21wb25lbnQSKk5hbWUgbXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycxokdGhpcy5zaXplKCkgPiAwICYmIHRoaXMuc2l6ZSgpIDw9IDY0Ug1uYW1lQ29tcG9uZW50OroBChJtb2RlbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYkU4gASgIQnDCSG0KawoZc3RyaW5nLm1vZGVsX2lkX2NvbXBvbmVudBIjdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbW9kZWwgaWQaKSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbW9kZWwtJykpUhBtb2RlbElkQ29tcG9uZW50OswBChZhcl9jb25maWdfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJJOIAEoCEJ7wkh4CnYKHXN0cmluZy5hcl9jb25maWdfaWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBBUkNvbmZpZyBpZBotKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWctJykpUhNhckNvbmZpZ0lkQ29tcG9uZW50OoICCiBwcm9wZXJ0eV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiTTiABKAhCnAHCSJgBCpUBCidzdHJpbmcucHJvcGVydHlfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb3BlcnR5IGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfZGVmaW5pdGlvbi0nKSlSHXByb3BlcnR5RGVmaW5pdGlvbklkQ29tcG9uZW50OvgBCh5wcm9wZXJ0eV9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYs04gASgIQpYBwkiSAQqPAQolc3RyaW5nLnByb3BlcnR5X2luc3RhbmNlX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvcGVydHkgaW5zdGFuY2UgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJvcGVydHlfaW5zdGFuY2UtJykpUhtwcm9wZXJ0eUluc3RhbmNlSWRDb21wb25lbnQ68wEKHXJvYm90X2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJROIAEoCEKTAcJIjwEKjAEKJHN0cmluZy5yb2JvdF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIudGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcm9ib3QgZGVmaW5pdGlvbiBpZBo0KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9kZWZpbml0aW9uLScpKVIacm9ib3REZWZpbml0aW9uSWRDb21wb25lbnQ66QEKG3JvYm90X2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiVTiABKAhCjQHCSIkBCoYBCiJzdHJpbmcucm9ib3RfaW5zdGFuY2VfaWRfY29tcG9uZW50Eix0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSByb2JvdCBpbnN0YW5jZSBpZBoyKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdyb2JvdF9pbnN0YW5jZS0nKSlSGHJvYm90SW5zdGFuY2VJZENvbXBvbmVudDrzAQodYXNzZXRfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYlk4gASgIQpMBwkiPAQqMAQokc3RyaW5nLmFzc2V0X2RlZmluaXRpb25faWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhc3NldCBkZWZpbml0aW9uIGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2RlZmluaXRpb24tJykpUhphc3NldERlZmluaXRpb25JZENvbXBvbmVudDrpAQobYXNzZXRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJdOIAEoCEKNAcJIiQEKhgEKInN0cmluZy5hc3NldF9pbnN0YW5jZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFzc2V0IGluc3RhbmNlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Fzc2V0X2luc3RhbmNlLScpKVIYYXNzZXRJbnN0YW5jZUlkQ29tcG9uZW50OtkBChhlbnZpcm9ubWVudF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYmE4gASgIQoIBwkh/Cn0KH3N0cmluZy5lbnZpcm9ubWVudF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGVudmlyb25tZW50IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2Vudmlyb25tZW50LScpKVIWZW52aXJvbm1lbnRJZENvbXBvbmVudDruAQoccGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiZTiABKAhCkAHCSIwBCokBCiNzdHJpbmcucGFydF9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBItdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBkZWZpbml0aW9uIGlkGjModGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3BhcnRfZGVmaW5pdGlvbi0nKSlSGXBhcnREZWZpbml0aW9uSWRDb21wb25lbnQ65AEKGnBhcnRfaW5zdGFuY2VfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJpOIAEoCEKKAcJIhgEKgwEKIXN0cmluZy5wYXJ0X2luc3RhbmNlX2lkX2NvbXBvbmVudBIrdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcGFydCBpbnN0YW5jZSBpZBoxKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwYXJ0X2luc3RhbmNlLScpKVIXcGFydEluc3RhbmNlSWRDb21wb25lbnQ67gEKHHRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYm04gASgIQpABwkiMAQqJAQojc3RyaW5nLnRvb2xfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSLXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgZGVmaW5pdGlvbiBpZBozKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0b29sX2RlZmluaXRpb24tJykpUhl0b29sRGVmaW5pdGlvbklkQ29tcG9uZW50Os8BChp0b29sX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxicTiABKAhCdsJIcwpxChhzdHJpbmcudG9vbF9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHRvb2wgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndG9vbF9pbnN0YW5jZS0nKSlSF3Rvb2xJbnN0YW5jZUlkQ29tcG9uZW50Or8BChNtYXJrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ1OIAEoCEJzwkhwCm4KGnN0cmluZy5tYXJrZXJfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBtYXJrZXIgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnbWFya2VyLScpKVIRbWFya2VySWRDb21wb25lbnQ6xAEKFGZpeHR1cmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGJ5OIAEoCEJ2wkhzCnEKG3N0cmluZy5maXh0dXJlX2lkX2NvbXBvbmVudBIldGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZml4dHVyZSBpZBorKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdmaXh0dXJlLScpKVISZml4dHVyZUlkQ29tcG9uZW50OsQBChRzdGF0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxifTiABKAhCdsJIcwpxChtzdHJpbmcuc3RhdGlvbl9pZF9jb21wb25lbnQSJXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHN0YXRpb24gaWQaKyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc3RhdGlvbi0nKSlSEnN0YXRpb25JZENvbXBvbmVudDq6AQoSc2tpbGxfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKBOIAEoCEJwwkhtCmsKGXN0cmluZy5za2lsbF9pZF9jb21wb25lbnQSI3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNraWxsIGlkGikodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NraWxsLScpKVIQc2tpbGxJZENvbXBvbmVudDrYAQoYcHJvY2Vzc19ydW5faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKFOIAEoCEKCAcJIfwp9Ch9zdHJpbmcucHJvY2Vzc19ydW5faWRfY29tcG9uZW50Eil0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9jZXNzIHJ1biBpZBovKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdwcm9jZXNzX3J1bi0nKSlSFXByb2Nlc3NSdW5JZENvbXBvbmVudDrfAQoZc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxiiTiABKAhChwHCSIMBCoABCiBzdHJpbmcuc2VxdWVuY2VfcnVuX2lkX2NvbXBvbmVudBIqdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgc2VxdWVuY2UgcnVuIGlkGjAodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NlcXVlbmNlX3J1bi0nKSlSFnNlcXVlbmNlUnVuSWRDb21wb25lbnQ6yAEKFXRhc2tfcnVuX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxijTiABKAhCecJIdgp0ChxzdHJpbmcudGFza19ydW5faWRfY29tcG9uZW50EiZ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIHJ1biBpZBosKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCd0YXNrX3J1bi0nKSlSEnRhc2tSdW5JZENvbXBvbmVudDrpAQobcHJvY2Vzc19yZWNpcGVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKROIAEoCEKNAcJIiQEKhgEKInN0cmluZy5wcm9jZXNzX3JlY2lwZV9pZF9jb21wb25lbnQSLHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHByb2Nlc3MgcmVjaXBlIGlkGjIodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2Nlc3NfcmVjaXBlLScpKVIYcHJvY2Vzc1JlY2lwZUlkQ29tcG9uZW50OoICCiBzZXF1ZW5jZV9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxilTiABKAhCnAHCSJgBCpUBCidzdHJpbmcuc2VxdWVuY2VfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHNlcXVlbmNlIGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnc2VxdWVuY2VfZGVmaW5pdGlvbi0nKSlSHXNlcXVlbmNlRGVmaW5pdGlvbklkQ29tcG9uZW50Ou4BChx0YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKZOIAEoCEKQAcJIjAEKiQEKI3N0cmluZy50YXNrX2RlZmluaXRpb25faWRfY29tcG9uZW50Ei10aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB0YXNrIGRlZmluaXRpb24gaWQaMyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgndGFza19kZWZpbml0aW9uLScpKVIZdGFza0RlZmluaXRpb25JZENvbXBvbmVudDq1AQoRY2VsbF9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYp04gASgIQm3CSGoKaAoYc3RyaW5nLmNlbGxfaWRfY29tcG9uZW50EiJ0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBjZWxsIGlkGigodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2NlbGwtJykpUg9jZWxsSWRDb21wb25lbnQ6tQEKEWxpbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGKhOIAEoCEJtwkhqCmgKGHN0cmluZy5saW5lX2lkX2NvbXBvbmVudBIidGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgbGluZSBpZBooKHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdsaW5lLScpKVIPbGluZUlkQ29tcG9uZW50OocCCiFjb250YWluZXJfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYqU4gASgIQp8BwkibAQqYAQooc3RyaW5nLmNvbnRhaW5lcl9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIydGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgY29udGFpbmVyIGRlZmluaXRpb24gaWQaOCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnY29udGFpbmVyX2RlZmluaXRpb24tJykpUh5jb250YWluZXJEZWZpbml0aW9uSWRDb21wb25lbnQ6+gEKH2NvbnRhaW5lcl9pbnN0YW5jZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuo0GIAEoCEKVAcJIkQEKjgEKInN0cmluZy5yb2JvdF9pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGNvbnRhaW5lciBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdjb250YWluZXJfaW5zdGFuY2UtJykpUhxjb250YWluZXJJbnN0YW5jZUlkQ29tcG9uZW50OsABChN3b3JrZXJfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLuNBiABKAhCc8JIcApuChpzdHJpbmcud29ya2VyX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgd29ya2VyIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3dvcmtlci0nKSlSEXdvcmtlcklkQ29tcG9uZW50OsUBChRwcm9kdWN0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi8jQYgASgIQnbCSHMKcQobc3RyaW5nLnByb2R1Y3RfaWRfY29tcG9uZW50EiV0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcm9kdWN0IGlkGisodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3Byb2R1Y3QtJykpUhJwcm9kdWN0SWRDb21wb25lbnQ6+AEKHmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi9jQYgASgIQpYBwkiSAQqPAQolc3RyaW5nLmFyX2NvbmZpZ19iaW5kaW5nX2lkX2NvbXBvbmVudBIvdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgQVIgY29uZmlnIGJpbmRpbmcgaWQaNSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfY29uZmlnX2JpbmRpbmctJykpUhphckNvbmZpZ0JpbmRpbmdJZENvbXBvbmVudDr9AQofYXJfY29uZmlnX2luc3RhbmNlX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi+jQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFyX2NvbmZpZ19pbnN0YW5jZV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGNvbmZpZyBpbnN0YW5jZSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhcl9jb25maWdfaW5zdGFuY2UtJykpUhthckNvbmZpZ0luc3RhbmNlSWRDb21wb25lbnQ65AEKGmFyX2lucHV0X3Nsb3RfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGL+NBiABKAhCigHCSIYBCoMBCiFzdHJpbmcuYXJfaW5wdXRfc2xvdF9pZF9jb21wb25lbnQSK3RoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIEFSIGlucHV0IHNsb3QgaWQaMSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnYXJfaW5wdXRfc2xvdC0nKSlSFmFySW5wdXRTbG90SWRDb21wb25lbnQ62QEKGG1vZGVsX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjAjQYgASgIQoIBwkh/Cn0KH3N0cmluZy5tb2RlbF9hc3NldF9pZF9jb21wb25lbnQSKXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIG1vZGVsIGFzc2V0IGlkGi8odGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ21vZGVsX2Fzc2V0LScpKVIVbW9kZWxBc3NldElkQ29tcG9uZW50OuUBChpzaWRlY2FyX2Fzc2V0X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjBjQYgASgIQooBwkiGAQqDAQohc3RyaW5nLnNpZGVjYXJfYXNzZXRfaWRfY29tcG9uZW50Eit0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBzaWRlY2FyIGFzc2V0IGlkGjEodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ3NpZGVjYXJfYXNzZXQtJykpUhdzaWRlY2FyQXNzZXRJZENvbXBvbmVudDrZAQoYaW1hZ2VfYXNzZXRfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMKNBiABKAhCggHCSH8KfQofc3RyaW5nLmltYWdlX2Fzc2V0X2lkX2NvbXBvbmVudBIpdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgaW1hZ2UgYXNzZXQgaWQaLyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnaW1hZ2VfYXNzZXQtJykpUhVpbWFnZUFzc2V0SWRDb21wb25lbnQ6wAEKE2RldmljZV9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYxI0GIAEoCEJzwkhwCm4KGnN0cmluZy5kZXZpY2VfaWRfY29tcG9uZW50EiR0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBkZXZpY2UgaWQaKih0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZGV2aWNlLScpKVIRZGV2aWNlSWRDb21wb25lbnQ6tgEKEXpvbmVfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGMWNBiABKAhCbcJIagpoChhzdHJpbmcuem9uZV9pZF9jb21wb25lbnQSInRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHpvbmUgaWQaKCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnem9uZS0nKSlSD3pvbmVJZENvbXBvbmVudDr+AQofYWN0b3JfYXZhaWxhYmlsaXR5X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjGjQYgASgIQpkBwkiVAQqSAQomc3RyaW5nLmFjdG9yX2F2YWlsYWJpbGl0eV9pZF9jb21wb25lbnQSMHRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGFjdG9yLWF2YWlsYWJpbGl0eSBpZBo2KHRoaXMgPT0gJycgfHwgdGhpcy5zdGFydHNXaXRoKCdhY3Rvcl9hdmFpbGFiaWxpdHktJykpUhxhY3RvckF2YWlsYWJpbGl0eUlkQ29tcG9uZW50OvQBCh1hY3Rvcl9hc3NpZ25tZW50X2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxjHjQYgASgIQpMBwkiPAQqMAQokc3RyaW5nLmFjdG9yX2Fzc2lnbm1lbnRfaWRfY29tcG9uZW50Ei50aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBhY3Rvci1hc3NpZ25tZW50IGlkGjQodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdG9yX2Fzc2lnbm1lbnQtJykpUhphY3RvckFzc2lnbm1lbnRJZENvbXBvbmVudDrJAQoVZmVlZGJhY2tfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLhOIAEoCEJ5wkh2CnQKHHN0cmluZy5mZWVkYmFja19pZF9jb21wb25lbnQSJnRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZlZWRiYWNrIGlkGiwodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2ZlZWRiYWNrLScpKVITZmVlZGJhY2tJZENvbXBvbmVudDq/AQoTYWN0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi5TiABKAhCc8JIcApuChpzdHJpbmcuYWN0aW9uX2lkX2NvbXBvbmVudBIkdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgYWN0aW9uIGlkGioodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdGlvbi0nKSlSEWFjdGlvbklkQ29tcG9uZW50OskBChVmdW5jdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYuk4gASgIQnnCSHYKdAocc3RyaW5nLmZ1bmN0aW9uX2lkX2NvbXBvbmVudBImdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgZnVuY3Rpb24gaWQaLCh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZnVuY3Rpb24tJykpUhNmdW5jdGlvbklkQ29tcG9uZW50OowCCiJwcmVzZW50YXRpb25fc3RyYXRlZ3lfaWRfY29tcG9uZW50EhkuYnVmLnZhbGlkYXRlLlN0cmluZ1J1bGVzGLtOIAEoCEKiAcJIngEKmwEKKXN0cmluZy5wcmVzZW50YXRpb25fc3RyYXRlZ3lfaWRfY29tcG9uZW50EjN0aGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgYSBwcmVzZW50YXRpb24tc3RyYXRlZ3kgaWQaOSh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgncHJlc2VudGF0aW9uX3N0cmF0ZWd5LScpKVIfcHJlc2VudGF0aW9uU3RyYXRlZ3lJZENvbXBvbmVudDqfAgoNa2V5X2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi8TiABKAhC3QHCSNkBCtYBChRzdHJpbmcua2V5X2NvbXBvbmVudBJyS2V5IG11c3QgYmUgMSB0byA2NCBjaGFyYWN0ZXJzIGFuZCBjb250YWluIG9ubHkgbG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cywgYW5kIHVuZGVyc2NvcmVzLCBzdGFydGluZyB3aXRoIGEgbGV0dGVyGkp0aGlzLnNpemUoKSA+PSAxICYmIHRoaXMuc2l6ZSgpIDw9IDY0ICYmIHRoaXMubWF0Y2hlcygnXlthLXpdW2EtejAtOV9dKiQnKVIMa2V5Q29tcG9uZW50OvkBCh5hY3Rpb25fZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSGS5idWYudmFsaWRhdGUuU3RyaW5nUnVsZXMYvU4gASgIQpcBwkiTAQqQAQolc3RyaW5nLmFjdGlvbl9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIwdGhpcyBkb2VzIG5vdCBzZWVtIHRvIGJlIGFuIGFjdGlvbiBkZWZpbml0aW9uIGlkGjUodGhpcyA9PSAnJyB8fCB0aGlzLnN0YXJ0c1dpdGgoJ2FjdGlvbl9kZWZpbml0aW9uLScpKVIbYWN0aW9uRGVmaW5pdGlvbklkQ29tcG9uZW50OoICCiBmZWVkYmFja19kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi+TiABKAhCnAHCSJgBCpUBCidzdHJpbmcuZmVlZGJhY2tfZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZlZWRiYWNrIGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZmVlZGJhY2tfZGVmaW5pdGlvbi0nKSlSHWZlZWRiYWNrRGVmaW5pdGlvbklkQ29tcG9uZW50OoICCiBmdW5jdGlvbl9kZWZpbml0aW9uX2lkX2NvbXBvbmVudBIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlcxi/TiABKAhCnAHCSJgBCpUBCidzdHJpbmcuZnVuY3Rpb25fZGVmaW5pdGlvbl9pZF9jb21wb25lbnQSMXRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBhIGZ1bmN0aW9uIGRlZmluaXRpb24gaWQaNyh0aGlzID09ICcnIHx8IHRoaXMuc3RhcnRzV2l0aCgnZnVuY3Rpb25fZGVmaW5pdGlvbi0nKSlSHWZ1bmN0aW9uRGVmaW5pdGlvbklkQ29tcG9uZW50QrUBChFjb20udmFsaWRhdGlvbi52MUIaUHJlZGVmaW5lZFN0cmluZ1J1bGVzUHJvdG9QAVo/Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3ZhbGlkYXRpb24vdjE7dmFsaWRhdGlvbnYxogIDVlhYygINVmFsaWRhdGlvblxWMeICGVZhbGlkYXRpb25cVjFcR1BCTWV0YWRhdGHqAg5WYWxpZGF0aW9uOjpWMQ", [file_buf_validate_validate]);
15
15
 
16
16
  /**
17
17
  * @generated from extension: optional bool name_component = 10000;
@@ -283,3 +283,21 @@ export const presentation_strategy_id_component: GenExtension<StringRules, boole
283
283
  export const key_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
284
284
  extDesc(file_validation_v1_predefined_string_rules, 44);
285
285
 
286
+ /**
287
+ * @generated from extension: optional bool action_definition_id_component = 10045;
288
+ */
289
+ export const action_definition_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
290
+ extDesc(file_validation_v1_predefined_string_rules, 45);
291
+
292
+ /**
293
+ * @generated from extension: optional bool feedback_definition_id_component = 10046;
294
+ */
295
+ export const feedback_definition_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
296
+ extDesc(file_validation_v1_predefined_string_rules, 46);
297
+
298
+ /**
299
+ * @generated from extension: optional bool function_definition_id_component = 10047;
300
+ */
301
+ export const function_definition_id_component: GenExtension<StringRules, boolean> = /*@__PURE__*/
302
+ extDesc(file_validation_v1_predefined_string_rules, 47);
303
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [
@@ -1,145 +0,0 @@
1
- // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
2
- // @generated from file ar/v1/action_info.proto (package ar.v1, syntax proto3)
3
- /* eslint-disable */
4
-
5
- import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
- import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
- import type { ActionType } from "./action_pb.ts";
8
- import { file_ar_v1_action } from "./action_pb.ts";
9
- import type { ExchangeType, HandlerRequirement } from "./events_pb.ts";
10
- import { file_ar_v1_events } from "./events_pb.ts";
11
- import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
12
- import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
13
- import type { Message } from "@bufbuild/protobuf";
14
-
15
- /**
16
- * Describes the file ar/v1/action_info.proto.
17
- */
18
- export const file_ar_v1_action_info: GenFile = /*@__PURE__*/
19
- fileDesc("Chdhci92MS9hY3Rpb25faW5mby5wcm90bxIFYXIudjEijwMKEUFjdGlvbkluZm9NZXNzYWdlEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiwKBHR5cGUYBSABKA4yES5hci52MS5BY3Rpb25UeXBlQgu6SAjIAQGCAQIQARIrCgVncm91cBgGIAEoDjISLmFyLnYxLkFjdGlvbkdyb3VwQgi6SAWCAQIQARIVCg1yZXF1aXJlX2FnZW50GAcgASgIEi8KEmNvbnN1bWVyc19yZXF1aXJlZBgIIAMoCzITLmFyLnYxLkV4Y2hhbmdlVHlwZRIvChJjb25zdW1lcnNfb3B0aW9uYWwYCSADKAsyEy5hci52MS5FeGNoYW5nZVR5cGUSNAoRcmVxdWlyZWRfaGFuZGxlcnMYCiADKAsyGS5hci52MS5IYW5kbGVyUmVxdWlyZW1lbnQSIgoFZW1pdHMYCyADKAsyEy5hci52MS5FeGNoYW5nZVR5cGUSEAoIZGlzYWJsZWQYDCABKAgiPQoSQWN0aW9uSW5mb01lc3NhZ2VzEicKBWl0ZW1zGAEgAygLMhguYXIudjEuQWN0aW9uSW5mb01lc3NhZ2UqdAoLQWN0aW9uR3JvdXASHAoYQUNUSU9OX0dST1VQX1VOU1BFQ0lGSUVEEAASGAoUQUNUSU9OX0dST1VQX0dFTkVSQUwQARIWChJBQ1RJT05fR1JPVVBfUk9CT1QQAhIVChFBQ1RJT05fR1JPVVBfVEFTSxADQosBCgljb20uYXIudjFCD0FjdGlvbkluZm9Qcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_ar_v1_action, file_ar_v1_events, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
20
-
21
- /**
22
- * TODO: Rename to ActionDefinition
23
- *
24
- * @generated from message ar.v1.ActionInfoMessage
25
- */
26
- export type ActionInfoMessage = Message<"ar.v1.ActionInfoMessage"> & {
27
- /**
28
- * @generated from field: string name = 2;
29
- */
30
- name: string;
31
-
32
- /**
33
- * @generated from field: string icon = 3;
34
- */
35
- icon: string;
36
-
37
- /**
38
- * @generated from field: string description = 4;
39
- */
40
- description: string;
41
-
42
- /**
43
- * @generated from field: ar.v1.ActionType type = 5;
44
- */
45
- type: ActionType;
46
-
47
- /**
48
- * @generated from field: ar.v1.ActionGroup group = 6;
49
- */
50
- group: ActionGroup;
51
-
52
- /**
53
- * @generated from field: bool require_agent = 7;
54
- */
55
- requireAgent: boolean;
56
-
57
- /**
58
- * Inputs the action expects to receive
59
- *
60
- * @generated from field: repeated ar.v1.ExchangeType consumers_required = 8;
61
- */
62
- consumersRequired: ExchangeType[];
63
-
64
- /**
65
- * Inputs that will enhance the action, but not needed to function
66
- *
67
- * @generated from field: repeated ar.v1.ExchangeType consumers_optional = 9;
68
- */
69
- consumersOptional: ExchangeType[];
70
-
71
- /**
72
- * Events that MUST have at least one handler somewhere else in the system. (i.e., if the action emits these, it expects the environment to react)
73
- *
74
- * @generated from field: repeated ar.v1.HandlerRequirement required_handlers = 10;
75
- */
76
- requiredHandlers: HandlerRequirement[];
77
-
78
- /**
79
- * / Outputs the action publishes
80
- *
81
- * @generated from field: repeated ar.v1.ExchangeType emits = 11;
82
- */
83
- emits: ExchangeType[];
84
-
85
- /**
86
- * @generated from field: bool disabled = 12;
87
- */
88
- disabled: boolean;
89
- };
90
-
91
- /**
92
- * Describes the message ar.v1.ActionInfoMessage.
93
- * Use `create(ActionInfoMessageSchema)` to create a new message.
94
- */
95
- export const ActionInfoMessageSchema: GenMessage<ActionInfoMessage> = /*@__PURE__*/
96
- messageDesc(file_ar_v1_action_info, 0);
97
-
98
- /**
99
- * @generated from message ar.v1.ActionInfoMessages
100
- */
101
- export type ActionInfoMessages = Message<"ar.v1.ActionInfoMessages"> & {
102
- /**
103
- * @generated from field: repeated ar.v1.ActionInfoMessage items = 1;
104
- */
105
- items: ActionInfoMessage[];
106
- };
107
-
108
- /**
109
- * Describes the message ar.v1.ActionInfoMessages.
110
- * Use `create(ActionInfoMessagesSchema)` to create a new message.
111
- */
112
- export const ActionInfoMessagesSchema: GenMessage<ActionInfoMessages> = /*@__PURE__*/
113
- messageDesc(file_ar_v1_action_info, 1);
114
-
115
- /**
116
- * @generated from enum ar.v1.ActionGroup
117
- */
118
- export enum ActionGroup {
119
- /**
120
- * @generated from enum value: ACTION_GROUP_UNSPECIFIED = 0;
121
- */
122
- UNSPECIFIED = 0,
123
-
124
- /**
125
- * @generated from enum value: ACTION_GROUP_GENERAL = 1;
126
- */
127
- GENERAL = 1,
128
-
129
- /**
130
- * @generated from enum value: ACTION_GROUP_ROBOT = 2;
131
- */
132
- ROBOT = 2,
133
-
134
- /**
135
- * @generated from enum value: ACTION_GROUP_TASK = 3;
136
- */
137
- TASK = 3,
138
- }
139
-
140
- /**
141
- * Describes the enum ar.v1.ActionGroup.
142
- */
143
- export const ActionGroupSchema: GenEnum<ActionGroup> = /*@__PURE__*/
144
- enumDesc(file_ar_v1_action_info, 0);
145
-