@coralogix/rum-cli 1.1.41 → 1.1.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +1 -0
  2. package/api/base/base.api.ts +29 -34
  3. package/api/dsym/dsym.api.ts +8 -0
  4. package/api/proguard/proguard.api.ts +8 -0
  5. package/api/react-native/react-native.api.ts +8 -0
  6. package/api/source-maps/source-maps.api.ts +4 -74
  7. package/cli/commands/dsym/upload-dsym-command.ts +4 -2
  8. package/cli/commands/proguard/upload-proguard-command.ts +4 -2
  9. package/cli/commands/react-native/upload-react-native-source-maps-command.ts +4 -2
  10. package/cli/commands/source-maps/upload-source-maps-command.ts +3 -2
  11. package/dist/api/base/base.api.d.ts +4 -5
  12. package/dist/api/base/base.api.js +16 -25
  13. package/dist/api/dsym/dsym.api.d.ts +2 -2
  14. package/dist/api/dsym/dsym.api.js +7 -3
  15. package/dist/api/proguard/proguard.api.d.ts +2 -2
  16. package/dist/api/proguard/proguard.api.js +7 -3
  17. package/dist/api/react-native/react-native.api.d.ts +2 -2
  18. package/dist/api/react-native/react-native.api.js +7 -3
  19. package/dist/api/source-maps/source-maps.api.d.ts +2 -5
  20. package/dist/api/source-maps/source-maps.api.js +5 -55
  21. package/dist/cli/commands/dsym/upload-dsym-command.js +5 -3
  22. package/dist/cli/commands/proguard/upload-proguard-command.js +5 -3
  23. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +5 -3
  24. package/dist/cli/commands/source-maps/upload-source-maps-command.js +4 -3
  25. package/dist/grpc-client/grpc-client-factory.d.ts +86 -0
  26. package/dist/models/dsym-commands.model.d.ts +2 -0
  27. package/dist/models/dsym-commands.model.js +1 -1
  28. package/dist/models/proguard-commands.model.d.ts +2 -0
  29. package/dist/models/proguard-commands.model.js +1 -1
  30. package/dist/models/react-native-commands.model.d.ts +2 -0
  31. package/dist/models/react-native-commands.model.js +1 -1
  32. package/dist/models/source-maps-commands.model.d.ts +1 -0
  33. package/dist/models/source-maps-commands.model.js +1 -1
  34. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +16 -0
  35. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +162 -6
  36. package/dist/proto-models/com/coralogix/rum/v2/ai_assist.d.ts +89 -0
  37. package/dist/proto-models/com/coralogix/rum/v2/ai_assist.js +290 -0
  38. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +15 -0
  39. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +133 -2
  40. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +48 -1
  41. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +160 -2
  42. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +2 -1
  43. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +7 -1
  44. package/dist/proto-models/google/protobuf/struct.d.ts +127 -0
  45. package/dist/proto-models/google/protobuf/struct.js +476 -0
  46. package/dist/services/base/base.service.d.ts +1 -1
  47. package/dist/services/base/base.service.js +7 -5
  48. package/dist/services/source-maps/source-maps.service.d.ts +0 -1
  49. package/dist/services/source-maps/source-maps.service.js +1 -23
  50. package/dist/utils/upload-mode.utils.d.ts +12 -0
  51. package/dist/utils/upload-mode.utils.js +26 -0
  52. package/dist/utils/version-context.utils.d.ts +20 -0
  53. package/dist/utils/version-context.utils.js +71 -0
  54. package/models/dsym-commands.model.ts +2 -0
  55. package/models/proguard-commands.model.ts +2 -0
  56. package/models/react-native-commands.model.ts +2 -0
  57. package/models/source-maps-commands.model.ts +1 -0
  58. package/package.json +2 -2
  59. package/protofetch.lock +4 -4
  60. package/protofetch.toml +2 -2
  61. package/services/base/base.service.ts +7 -3
  62. package/services/source-maps/source-maps.service.ts +0 -26
  63. package/utils/upload-mode.utils.ts +30 -0
  64. package/utils/version-context.utils.ts +95 -0
  65. package/proto-models/com/coralogix/blobset/v2/audit_log.ts +0 -84
  66. package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +0 -64
  67. package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +0 -209
  68. package/proto-models/com/coralogix/blobset/v2/case_file.ts +0 -188
  69. package/proto-models/com/coralogix/blobset/v2/dsym.ts +0 -434
  70. package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +0 -782
  71. package/proto-models/com/coralogix/blobset/v2/entity_type.ts +0 -68
  72. package/proto-models/com/coralogix/blobset/v2/investigation_file.ts +0 -188
  73. package/proto-models/com/coralogix/blobset/v2/proguard.ts +0 -466
  74. package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +0 -154
  75. package/proto-models/com/coralogix/blobset/v2/source_map.ts +0 -418
  76. package/proto-models/com/coralogix/rum/v2/analytics.ts +0 -924
  77. package/proto-models/com/coralogix/rum/v2/application_releases.ts +0 -213
  78. package/proto-models/com/coralogix/rum/v2/audit_log.ts +0 -84
  79. package/proto-models/com/coralogix/rum/v2/chunk.ts +0 -399
  80. package/proto-models/com/coralogix/rum/v2/file.ts +0 -159
  81. package/proto-models/com/coralogix/rum/v2/hide_errors.ts +0 -234
  82. package/proto-models/com/coralogix/rum/v2/merge_error.ts +0 -201
  83. package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +0 -791
  84. package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +0 -56
  85. package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +0 -605
  86. package/proto-models/com/coralogix/rum/v2/rum_merge_erros_service.ts +0 -566
  87. package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +0 -229
  88. package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +0 -1679
  89. package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +0 -279
  90. package/proto-models/com/coralogix/rum/v2/rum_service.ts +0 -2620
  91. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +0 -16
  92. package/proto-models/com/coralogix/rum/v2/rum_settings.ts +0 -215
  93. package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +0 -283
  94. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +0 -1069
  95. package/proto-models/com/coralogix/rum/v2/saved_filter.ts +0 -325
  96. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +0 -358
  97. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +0 -301
  98. package/proto-models/com/coralogix/rum/v2/template.ts +0 -620
  99. package/proto-models/google/protobuf/descriptor.ts +0 -4921
  100. package/protos/com/coralogix/blobset/v2/audit_log.proto +0 -13
  101. package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +0 -19
  102. package/protos/com/coralogix/blobset/v2/blobset_service.proto +0 -18
  103. package/protos/com/coralogix/blobset/v2/case_file.proto +0 -12
  104. package/protos/com/coralogix/blobset/v2/dsym.proto +0 -20
  105. package/protos/com/coralogix/blobset/v2/entity_metadata.proto +0 -48
  106. package/protos/com/coralogix/blobset/v2/entity_type.proto +0 -13
  107. package/protos/com/coralogix/blobset/v2/investigation_file.proto +0 -12
  108. package/protos/com/coralogix/blobset/v2/proguard.proto +0 -30
  109. package/protos/com/coralogix/blobset/v2/s3_metadata.proto +0 -14
  110. package/protos/com/coralogix/blobset/v2/source_map.proto +0 -30
  111. package/protos/com/coralogix/rum/v2/analytics.proto +0 -57
  112. package/protos/com/coralogix/rum/v2/application_releases.proto +0 -14
  113. package/protos/com/coralogix/rum/v2/audit_log.proto +0 -13
  114. package/protos/com/coralogix/rum/v2/chunk.proto +0 -24
  115. package/protos/com/coralogix/rum/v2/file.proto +0 -8
  116. package/protos/com/coralogix/rum/v2/hide_errors.proto +0 -19
  117. package/protos/com/coralogix/rum/v2/merge_error.proto +0 -13
  118. package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +0 -51
  119. package/protos/com/coralogix/rum/v2/release_entity_type.proto +0 -11
  120. package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +0 -42
  121. package/protos/com/coralogix/rum/v2/rum_merge_erros_service.proto +0 -42
  122. package/protos/com/coralogix/rum/v2/rum_react_native_source_map_service.proto +0 -19
  123. package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +0 -117
  124. package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +0 -17
  125. package/protos/com/coralogix/rum/v2/rum_service.proto +0 -167
  126. package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +0 -4
  127. package/protos/com/coralogix/rum/v2/rum_settings.proto +0 -26
  128. package/protos/com/coralogix/rum/v2/rum_settings_service.proto +0 -23
  129. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +0 -69
  130. package/protos/com/coralogix/rum/v2/saved_filter.proto +0 -31
  131. package/protos/com/coralogix/rum/v2/source_code_file_mapping.proto +0 -16
  132. package/protos/com/coralogix/rum/v2/source_map_release.proto +0 -18
  133. package/protos/com/coralogix/rum/v2/template.proto +0 -42
  134. package/protoset.bin +0 -0
@@ -0,0 +1,476 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v1.181.1
5
+ // protoc v3.19.1
6
+ // source: google/protobuf/struct.proto
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ListValue = exports.Value = exports.Struct_FieldsEntry = exports.Struct = exports.nullValueToJSON = exports.nullValueFromJSON = exports.NullValue = exports.protobufPackage = void 0;
12
+ /* eslint-disable */
13
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
14
+ exports.protobufPackage = "google.protobuf";
15
+ /**
16
+ * `NullValue` is a singleton enumeration to represent the null value for the
17
+ * `Value` type union.
18
+ *
19
+ * The JSON representation for `NullValue` is JSON `null`.
20
+ */
21
+ var NullValue;
22
+ (function (NullValue) {
23
+ /** NULL_VALUE - Null value. */
24
+ NullValue[NullValue["NULL_VALUE"] = 0] = "NULL_VALUE";
25
+ })(NullValue = exports.NullValue || (exports.NullValue = {}));
26
+ function nullValueFromJSON(object) {
27
+ switch (object) {
28
+ case 0:
29
+ case "NULL_VALUE":
30
+ return NullValue.NULL_VALUE;
31
+ default:
32
+ throw new globalThis.Error("Unrecognized enum value " + object + " for enum NullValue");
33
+ }
34
+ }
35
+ exports.nullValueFromJSON = nullValueFromJSON;
36
+ function nullValueToJSON(object) {
37
+ switch (object) {
38
+ case NullValue.NULL_VALUE:
39
+ return "NULL_VALUE";
40
+ default:
41
+ throw new globalThis.Error("Unrecognized enum value " + object + " for enum NullValue");
42
+ }
43
+ }
44
+ exports.nullValueToJSON = nullValueToJSON;
45
+ function createBaseStruct() {
46
+ return { fields: {} };
47
+ }
48
+ exports.Struct = {
49
+ encode(message, writer = minimal_1.default.Writer.create()) {
50
+ Object.entries(message.fields).forEach(([key, value]) => {
51
+ if (value !== undefined) {
52
+ exports.Struct_FieldsEntry.encode({ key: key, value }, writer.uint32(10).fork()).ldelim();
53
+ }
54
+ });
55
+ return writer;
56
+ },
57
+ decode(input, length) {
58
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
59
+ let end = length === undefined ? reader.len : reader.pos + length;
60
+ const message = createBaseStruct();
61
+ while (reader.pos < end) {
62
+ const tag = reader.uint32();
63
+ switch (tag >>> 3) {
64
+ case 1:
65
+ if (tag !== 10) {
66
+ break;
67
+ }
68
+ const entry1 = exports.Struct_FieldsEntry.decode(reader, reader.uint32());
69
+ if (entry1.value !== undefined) {
70
+ message.fields[entry1.key] = entry1.value;
71
+ }
72
+ continue;
73
+ }
74
+ if ((tag & 7) === 4 || tag === 0) {
75
+ break;
76
+ }
77
+ reader.skipType(tag & 7);
78
+ }
79
+ return message;
80
+ },
81
+ fromJSON(object) {
82
+ return {
83
+ fields: isObject(object.fields)
84
+ ? Object.entries(object.fields).reduce((acc, [key, value]) => {
85
+ acc[key] = value;
86
+ return acc;
87
+ }, {})
88
+ : {},
89
+ };
90
+ },
91
+ toJSON(message) {
92
+ const obj = {};
93
+ if (message.fields) {
94
+ const entries = Object.entries(message.fields);
95
+ if (entries.length > 0) {
96
+ obj.fields = {};
97
+ entries.forEach(([k, v]) => {
98
+ obj.fields[k] = v;
99
+ });
100
+ }
101
+ }
102
+ return obj;
103
+ },
104
+ create(base) {
105
+ return exports.Struct.fromPartial(base !== null && base !== void 0 ? base : {});
106
+ },
107
+ fromPartial(object) {
108
+ var _a;
109
+ const message = createBaseStruct();
110
+ message.fields = Object.entries((_a = object.fields) !== null && _a !== void 0 ? _a : {}).reduce((acc, [key, value]) => {
111
+ if (value !== undefined) {
112
+ acc[key] = value;
113
+ }
114
+ return acc;
115
+ }, {});
116
+ return message;
117
+ },
118
+ wrap(object) {
119
+ const struct = createBaseStruct();
120
+ if (object !== undefined) {
121
+ for (const key of Object.keys(object)) {
122
+ struct.fields[key] = object[key];
123
+ }
124
+ }
125
+ return struct;
126
+ },
127
+ unwrap(message) {
128
+ const object = {};
129
+ if (message.fields) {
130
+ for (const key of Object.keys(message.fields)) {
131
+ object[key] = message.fields[key];
132
+ }
133
+ }
134
+ return object;
135
+ },
136
+ };
137
+ function createBaseStruct_FieldsEntry() {
138
+ return { key: "", value: undefined };
139
+ }
140
+ exports.Struct_FieldsEntry = {
141
+ encode(message, writer = minimal_1.default.Writer.create()) {
142
+ if (message.key !== "") {
143
+ writer.uint32(10).string(message.key);
144
+ }
145
+ if (message.value !== undefined) {
146
+ exports.Value.encode(exports.Value.wrap(message.value), writer.uint32(18).fork()).ldelim();
147
+ }
148
+ return writer;
149
+ },
150
+ decode(input, length) {
151
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
152
+ let end = length === undefined ? reader.len : reader.pos + length;
153
+ const message = createBaseStruct_FieldsEntry();
154
+ while (reader.pos < end) {
155
+ const tag = reader.uint32();
156
+ switch (tag >>> 3) {
157
+ case 1:
158
+ if (tag !== 10) {
159
+ break;
160
+ }
161
+ message.key = reader.string();
162
+ continue;
163
+ case 2:
164
+ if (tag !== 18) {
165
+ break;
166
+ }
167
+ message.value = exports.Value.unwrap(exports.Value.decode(reader, reader.uint32()));
168
+ continue;
169
+ }
170
+ if ((tag & 7) === 4 || tag === 0) {
171
+ break;
172
+ }
173
+ reader.skipType(tag & 7);
174
+ }
175
+ return message;
176
+ },
177
+ fromJSON(object) {
178
+ return {
179
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
180
+ value: isSet(object === null || object === void 0 ? void 0 : object.value) ? object.value : undefined,
181
+ };
182
+ },
183
+ toJSON(message) {
184
+ const obj = {};
185
+ if (message.key !== "") {
186
+ obj.key = message.key;
187
+ }
188
+ if (message.value !== undefined) {
189
+ obj.value = message.value;
190
+ }
191
+ return obj;
192
+ },
193
+ create(base) {
194
+ return exports.Struct_FieldsEntry.fromPartial(base !== null && base !== void 0 ? base : {});
195
+ },
196
+ fromPartial(object) {
197
+ var _a, _b;
198
+ const message = createBaseStruct_FieldsEntry();
199
+ message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
200
+ message.value = (_b = object.value) !== null && _b !== void 0 ? _b : undefined;
201
+ return message;
202
+ },
203
+ };
204
+ function createBaseValue() {
205
+ return { kind: undefined };
206
+ }
207
+ exports.Value = {
208
+ encode(message, writer = minimal_1.default.Writer.create()) {
209
+ var _a;
210
+ switch ((_a = message.kind) === null || _a === void 0 ? void 0 : _a.$case) {
211
+ case "nullValue":
212
+ writer.uint32(8).int32(message.kind.nullValue);
213
+ break;
214
+ case "numberValue":
215
+ writer.uint32(17).double(message.kind.numberValue);
216
+ break;
217
+ case "stringValue":
218
+ writer.uint32(26).string(message.kind.stringValue);
219
+ break;
220
+ case "boolValue":
221
+ writer.uint32(32).bool(message.kind.boolValue);
222
+ break;
223
+ case "structValue":
224
+ exports.Struct.encode(exports.Struct.wrap(message.kind.structValue), writer.uint32(42).fork()).ldelim();
225
+ break;
226
+ case "listValue":
227
+ exports.ListValue.encode(exports.ListValue.wrap(message.kind.listValue), writer.uint32(50).fork()).ldelim();
228
+ break;
229
+ }
230
+ return writer;
231
+ },
232
+ decode(input, length) {
233
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
234
+ let end = length === undefined ? reader.len : reader.pos + length;
235
+ const message = createBaseValue();
236
+ while (reader.pos < end) {
237
+ const tag = reader.uint32();
238
+ switch (tag >>> 3) {
239
+ case 1:
240
+ if (tag !== 8) {
241
+ break;
242
+ }
243
+ message.kind = { $case: "nullValue", nullValue: reader.int32() };
244
+ continue;
245
+ case 2:
246
+ if (tag !== 17) {
247
+ break;
248
+ }
249
+ message.kind = { $case: "numberValue", numberValue: reader.double() };
250
+ continue;
251
+ case 3:
252
+ if (tag !== 26) {
253
+ break;
254
+ }
255
+ message.kind = { $case: "stringValue", stringValue: reader.string() };
256
+ continue;
257
+ case 4:
258
+ if (tag !== 32) {
259
+ break;
260
+ }
261
+ message.kind = { $case: "boolValue", boolValue: reader.bool() };
262
+ continue;
263
+ case 5:
264
+ if (tag !== 42) {
265
+ break;
266
+ }
267
+ message.kind = { $case: "structValue", structValue: exports.Struct.unwrap(exports.Struct.decode(reader, reader.uint32())) };
268
+ continue;
269
+ case 6:
270
+ if (tag !== 50) {
271
+ break;
272
+ }
273
+ message.kind = { $case: "listValue", listValue: exports.ListValue.unwrap(exports.ListValue.decode(reader, reader.uint32())) };
274
+ continue;
275
+ }
276
+ if ((tag & 7) === 4 || tag === 0) {
277
+ break;
278
+ }
279
+ reader.skipType(tag & 7);
280
+ }
281
+ return message;
282
+ },
283
+ fromJSON(object) {
284
+ return {
285
+ kind: isSet(object.nullValue)
286
+ ? { $case: "nullValue", nullValue: nullValueFromJSON(object.nullValue) }
287
+ : isSet(object.numberValue)
288
+ ? { $case: "numberValue", numberValue: globalThis.Number(object.numberValue) }
289
+ : isSet(object.stringValue)
290
+ ? { $case: "stringValue", stringValue: globalThis.String(object.stringValue) }
291
+ : isSet(object.boolValue)
292
+ ? { $case: "boolValue", boolValue: globalThis.Boolean(object.boolValue) }
293
+ : isSet(object.structValue)
294
+ ? { $case: "structValue", structValue: object.structValue }
295
+ : isSet(object.listValue)
296
+ ? { $case: "listValue", listValue: [...object.listValue] }
297
+ : undefined,
298
+ };
299
+ },
300
+ toJSON(message) {
301
+ var _a, _b, _c, _d, _e, _f;
302
+ const obj = {};
303
+ if (((_a = message.kind) === null || _a === void 0 ? void 0 : _a.$case) === "nullValue") {
304
+ obj.nullValue = nullValueToJSON(message.kind.nullValue);
305
+ }
306
+ if (((_b = message.kind) === null || _b === void 0 ? void 0 : _b.$case) === "numberValue") {
307
+ obj.numberValue = message.kind.numberValue;
308
+ }
309
+ if (((_c = message.kind) === null || _c === void 0 ? void 0 : _c.$case) === "stringValue") {
310
+ obj.stringValue = message.kind.stringValue;
311
+ }
312
+ if (((_d = message.kind) === null || _d === void 0 ? void 0 : _d.$case) === "boolValue") {
313
+ obj.boolValue = message.kind.boolValue;
314
+ }
315
+ if (((_e = message.kind) === null || _e === void 0 ? void 0 : _e.$case) === "structValue") {
316
+ obj.structValue = message.kind.structValue;
317
+ }
318
+ if (((_f = message.kind) === null || _f === void 0 ? void 0 : _f.$case) === "listValue") {
319
+ obj.listValue = message.kind.listValue;
320
+ }
321
+ return obj;
322
+ },
323
+ create(base) {
324
+ return exports.Value.fromPartial(base !== null && base !== void 0 ? base : {});
325
+ },
326
+ fromPartial(object) {
327
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
328
+ const message = createBaseValue();
329
+ if (((_a = object.kind) === null || _a === void 0 ? void 0 : _a.$case) === "nullValue" && ((_b = object.kind) === null || _b === void 0 ? void 0 : _b.nullValue) !== undefined && ((_c = object.kind) === null || _c === void 0 ? void 0 : _c.nullValue) !== null) {
330
+ message.kind = { $case: "nullValue", nullValue: object.kind.nullValue };
331
+ }
332
+ if (((_d = object.kind) === null || _d === void 0 ? void 0 : _d.$case) === "numberValue" &&
333
+ ((_e = object.kind) === null || _e === void 0 ? void 0 : _e.numberValue) !== undefined &&
334
+ ((_f = object.kind) === null || _f === void 0 ? void 0 : _f.numberValue) !== null) {
335
+ message.kind = { $case: "numberValue", numberValue: object.kind.numberValue };
336
+ }
337
+ if (((_g = object.kind) === null || _g === void 0 ? void 0 : _g.$case) === "stringValue" &&
338
+ ((_h = object.kind) === null || _h === void 0 ? void 0 : _h.stringValue) !== undefined &&
339
+ ((_j = object.kind) === null || _j === void 0 ? void 0 : _j.stringValue) !== null) {
340
+ message.kind = { $case: "stringValue", stringValue: object.kind.stringValue };
341
+ }
342
+ if (((_k = object.kind) === null || _k === void 0 ? void 0 : _k.$case) === "boolValue" && ((_l = object.kind) === null || _l === void 0 ? void 0 : _l.boolValue) !== undefined && ((_m = object.kind) === null || _m === void 0 ? void 0 : _m.boolValue) !== null) {
343
+ message.kind = { $case: "boolValue", boolValue: object.kind.boolValue };
344
+ }
345
+ if (((_o = object.kind) === null || _o === void 0 ? void 0 : _o.$case) === "structValue" &&
346
+ ((_p = object.kind) === null || _p === void 0 ? void 0 : _p.structValue) !== undefined &&
347
+ ((_q = object.kind) === null || _q === void 0 ? void 0 : _q.structValue) !== null) {
348
+ message.kind = { $case: "structValue", structValue: object.kind.structValue };
349
+ }
350
+ if (((_r = object.kind) === null || _r === void 0 ? void 0 : _r.$case) === "listValue" && ((_s = object.kind) === null || _s === void 0 ? void 0 : _s.listValue) !== undefined && ((_t = object.kind) === null || _t === void 0 ? void 0 : _t.listValue) !== null) {
351
+ message.kind = { $case: "listValue", listValue: object.kind.listValue };
352
+ }
353
+ return message;
354
+ },
355
+ wrap(value) {
356
+ const result = createBaseValue();
357
+ if (value === null) {
358
+ result.kind = { $case: "nullValue", nullValue: NullValue.NULL_VALUE };
359
+ }
360
+ else if (typeof value === "boolean") {
361
+ result.kind = { $case: "boolValue", boolValue: value };
362
+ }
363
+ else if (typeof value === "number") {
364
+ result.kind = { $case: "numberValue", numberValue: value };
365
+ }
366
+ else if (typeof value === "string") {
367
+ result.kind = { $case: "stringValue", stringValue: value };
368
+ }
369
+ else if (globalThis.Array.isArray(value)) {
370
+ result.kind = { $case: "listValue", listValue: value };
371
+ }
372
+ else if (typeof value === "object") {
373
+ result.kind = { $case: "structValue", structValue: value };
374
+ }
375
+ else if (typeof value !== "undefined") {
376
+ throw new globalThis.Error("Unsupported any value type: " + typeof value);
377
+ }
378
+ return result;
379
+ },
380
+ unwrap(message) {
381
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
382
+ if (((_a = message.kind) === null || _a === void 0 ? void 0 : _a.$case) === "nullValue") {
383
+ return null;
384
+ }
385
+ else if (((_b = message.kind) === null || _b === void 0 ? void 0 : _b.$case) === "numberValue") {
386
+ return (_c = message.kind) === null || _c === void 0 ? void 0 : _c.numberValue;
387
+ }
388
+ else if (((_d = message.kind) === null || _d === void 0 ? void 0 : _d.$case) === "stringValue") {
389
+ return (_e = message.kind) === null || _e === void 0 ? void 0 : _e.stringValue;
390
+ }
391
+ else if (((_f = message.kind) === null || _f === void 0 ? void 0 : _f.$case) === "boolValue") {
392
+ return (_g = message.kind) === null || _g === void 0 ? void 0 : _g.boolValue;
393
+ }
394
+ else if (((_h = message.kind) === null || _h === void 0 ? void 0 : _h.$case) === "structValue") {
395
+ return (_j = message.kind) === null || _j === void 0 ? void 0 : _j.structValue;
396
+ }
397
+ else if (((_k = message.kind) === null || _k === void 0 ? void 0 : _k.$case) === "listValue") {
398
+ return (_l = message.kind) === null || _l === void 0 ? void 0 : _l.listValue;
399
+ }
400
+ else {
401
+ return undefined;
402
+ }
403
+ },
404
+ };
405
+ function createBaseListValue() {
406
+ return { values: [] };
407
+ }
408
+ exports.ListValue = {
409
+ encode(message, writer = minimal_1.default.Writer.create()) {
410
+ for (const v of message.values) {
411
+ exports.Value.encode(exports.Value.wrap(v), writer.uint32(10).fork()).ldelim();
412
+ }
413
+ return writer;
414
+ },
415
+ decode(input, length) {
416
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
417
+ let end = length === undefined ? reader.len : reader.pos + length;
418
+ const message = createBaseListValue();
419
+ while (reader.pos < end) {
420
+ const tag = reader.uint32();
421
+ switch (tag >>> 3) {
422
+ case 1:
423
+ if (tag !== 10) {
424
+ break;
425
+ }
426
+ message.values.push(exports.Value.unwrap(exports.Value.decode(reader, reader.uint32())));
427
+ continue;
428
+ }
429
+ if ((tag & 7) === 4 || tag === 0) {
430
+ break;
431
+ }
432
+ reader.skipType(tag & 7);
433
+ }
434
+ return message;
435
+ },
436
+ fromJSON(object) {
437
+ return { values: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.values) ? [...object.values] : [] };
438
+ },
439
+ toJSON(message) {
440
+ var _a;
441
+ const obj = {};
442
+ if ((_a = message.values) === null || _a === void 0 ? void 0 : _a.length) {
443
+ obj.values = message.values;
444
+ }
445
+ return obj;
446
+ },
447
+ create(base) {
448
+ return exports.ListValue.fromPartial(base !== null && base !== void 0 ? base : {});
449
+ },
450
+ fromPartial(object) {
451
+ var _a;
452
+ const message = createBaseListValue();
453
+ message.values = ((_a = object.values) === null || _a === void 0 ? void 0 : _a.map((e) => e)) || [];
454
+ return message;
455
+ },
456
+ wrap(array) {
457
+ const result = createBaseListValue();
458
+ result.values = array !== null && array !== void 0 ? array : [];
459
+ return result;
460
+ },
461
+ unwrap(message) {
462
+ if ((message === null || message === void 0 ? void 0 : message.hasOwnProperty("values")) && globalThis.Array.isArray(message.values)) {
463
+ return message.values;
464
+ }
465
+ else {
466
+ return message;
467
+ }
468
+ },
469
+ };
470
+ function isObject(value) {
471
+ return typeof value === "object" && value !== null;
472
+ }
473
+ function isSet(value) {
474
+ return value !== null && value !== undefined;
475
+ }
476
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvdG8tbW9kZWxzL2dvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx1Q0FBdUM7Ozs7OztBQUV2QyxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBRXhCLFFBQUEsZUFBZSxHQUFHLGlCQUFpQixDQUFDO0FBRWpEOzs7OztHQUtHO0FBQ0gsSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLCtCQUErQjtJQUMvQixxREFBYyxDQUFBO0FBQ2hCLENBQUMsRUFIVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUdwQjtBQUVELFNBQWdCLGlCQUFpQixDQUFDLE1BQVc7SUFDM0MsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssWUFBWTtZQUNmLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQztRQUM5QjtZQUNFLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0tBQzNGO0FBQ0gsQ0FBQztBQVJELDhDQVFDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLE1BQWlCO0lBQy9DLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxTQUFTLENBQUMsVUFBVTtZQUN2QixPQUFPLFlBQVksQ0FBQztRQUN0QjtZQUNFLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0tBQzNGO0FBQ0gsQ0FBQztBQVBELDBDQU9DO0FBbURELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDeEIsQ0FBQztBQUVZLFFBQUEsTUFBTSxHQUFHO0lB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QUM7UUFDNUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFrQjtRQUN2QixJQUFJLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsS0FBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakYsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxPQUFPLE9BQWMsQ0FBQztTQUN2QjtJQUNILENBQUM7Q0FDRixDQUFDO0FBV0YsU0FBUyxRQUFRLENBQUMsS0FBVTtJQUMxQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2RlIGdlbmVyYXRlZCBieSBwcm90b2MtZ2VuLXRzX3Byb3RvLiBETyBOT1QgRURJVC5cbi8vIHZlcnNpb25zOlxuLy8gICBwcm90b2MtZ2VuLXRzX3Byb3RvICB2MS4xODEuMVxuLy8gICBwcm90b2MgICAgICAgICAgICAgICB2My4xOS4xXG4vLyBzb3VyY2U6IGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG9cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmltcG9ydCBfbTAgZnJvbSBcInByb3RvYnVmanMvbWluaW1hbFwiO1xuXG5leHBvcnQgY29uc3QgcHJvdG9idWZQYWNrYWdlID0gXCJnb29nbGUucHJvdG9idWZcIjtcblxuLyoqXG4gKiBgTnVsbFZhbHVlYCBpcyBhIHNpbmdsZXRvbiBlbnVtZXJhdGlvbiB0byByZXByZXNlbnQgdGhlIG51bGwgdmFsdWUgZm9yIHRoZVxuICogYFZhbHVlYCB0eXBlIHVuaW9uLlxuICpcbiAqICBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYE51bGxWYWx1ZWAgaXMgSlNPTiBgbnVsbGAuXG4gKi9cbmV4cG9ydCBlbnVtIE51bGxWYWx1ZSB7XG4gIC8qKiBOVUxMX1ZBTFVFIC0gTnVsbCB2YWx1ZS4gKi9cbiAgTlVMTF9WQUxVRSA9IDAsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudWxsVmFsdWVGcm9tSlNPTihvYmplY3Q6IGFueSk6IE51bGxWYWx1ZSB7XG4gIHN3aXRjaCAob2JqZWN0KSB7XG4gICAgY2FzZSAwOlxuICAgIGNhc2UgXCJOVUxMX1ZBTFVFXCI6XG4gICAgICByZXR1cm4gTnVsbFZhbHVlLk5VTExfVkFMVUU7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBnbG9iYWxUaGlzLkVycm9yKFwiVW5yZWNvZ25pemVkIGVudW0gdmFsdWUgXCIgKyBvYmplY3QgKyBcIiBmb3IgZW51bSBOdWxsVmFsdWVcIik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG51bGxWYWx1ZVRvSlNPTihvYmplY3Q6IE51bGxWYWx1ZSk6IHN0cmluZyB7XG4gIHN3aXRjaCAob2JqZWN0KSB7XG4gICAgY2FzZSBOdWxsVmFsdWUuTlVMTF9WQUxVRTpcbiAgICAgIHJldHVybiBcIk5VTExfVkFMVUVcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGdsb2JhbFRoaXMuRXJyb3IoXCJVbnJlY29nbml6ZWQgZW51bSB2YWx1ZSBcIiArIG9iamVjdCArIFwiIGZvciBlbnVtIE51bGxWYWx1ZVwiKTtcbiAgfVxufVxuXG4vKipcbiAqIGBTdHJ1Y3RgIHJlcHJlc2VudHMgYSBzdHJ1Y3R1cmVkIGRhdGEgdmFsdWUsIGNvbnNpc3Rpbmcgb2YgZmllbGRzXG4gKiB3aGljaCBtYXAgdG8gZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLiBJbiBzb21lIGxhbmd1YWdlcywgYFN0cnVjdGBcbiAqIG1pZ2h0IGJlIHN1cHBvcnRlZCBieSBhIG5hdGl2ZSByZXByZXNlbnRhdGlvbi4gRm9yIGV4YW1wbGUsIGluXG4gKiBzY3JpcHRpbmcgbGFuZ3VhZ2VzIGxpa2UgSlMgYSBzdHJ1Y3QgaXMgcmVwcmVzZW50ZWQgYXMgYW5cbiAqIG9iamVjdC4gVGhlIGRldGFpbHMgb2YgdGhhdCByZXByZXNlbnRhdGlvbiBhcmUgZGVzY3JpYmVkIHRvZ2V0aGVyXG4gKiB3aXRoIHRoZSBwcm90byBzdXBwb3J0IGZvciB0aGUgbGFuZ3VhZ2UuXG4gKlxuICogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBTdHJ1Y3RgIGlzIEpTT04gb2JqZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdCB7XG4gIC8qKiBVbm9yZGVyZWQgbWFwIG9mIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlcy4gKi9cbiAgZmllbGRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB8IHVuZGVmaW5lZCB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cnVjdF9GaWVsZHNFbnRyeSB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogYW55IHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIGBWYWx1ZWAgcmVwcmVzZW50cyBhIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlIHdoaWNoIGNhbiBiZSBlaXRoZXJcbiAqIG51bGwsIGEgbnVtYmVyLCBhIHN0cmluZywgYSBib29sZWFuLCBhIHJlY3Vyc2l2ZSBzdHJ1Y3QgdmFsdWUsIG9yIGFcbiAqIGxpc3Qgb2YgdmFsdWVzLiBBIHByb2R1Y2VyIG9mIHZhbHVlIGlzIGV4cGVjdGVkIHRvIHNldCBvbmUgb2YgdGhlc2VcbiAqIHZhcmlhbnRzLiBBYnNlbmNlIG9mIGFueSB2YXJpYW50IGluZGljYXRlcyBhbiBlcnJvci5cbiAqXG4gKiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYFZhbHVlYCBpcyBKU09OIHZhbHVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHVlIHtcbiAga2luZD86XG4gICAgfCB7ICRjYXNlOiBcIm51bGxWYWx1ZVwiOyBudWxsVmFsdWU6IE51bGxWYWx1ZSB9XG4gICAgfCB7ICRjYXNlOiBcIm51bWJlclZhbHVlXCI7IG51bWJlclZhbHVlOiBudW1iZXIgfVxuICAgIHwgeyAkY2FzZTogXCJzdHJpbmdWYWx1ZVwiOyBzdHJpbmdWYWx1ZTogc3RyaW5nIH1cbiAgICB8IHsgJGNhc2U6IFwiYm9vbFZhbHVlXCI7IGJvb2xWYWx1ZTogYm9vbGVhbiB9XG4gICAgfCB7ICRjYXNlOiBcInN0cnVjdFZhbHVlXCI7IHN0cnVjdFZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkIH1cbiAgICB8IHsgJGNhc2U6IFwibGlzdFZhbHVlXCI7IGxpc3RWYWx1ZTogQXJyYXk8YW55PiB8IHVuZGVmaW5lZCB9XG4gICAgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogYExpc3RWYWx1ZWAgaXMgYSB3cmFwcGVyIGFyb3VuZCBhIHJlcGVhdGVkIGZpZWxkIG9mIHZhbHVlcy5cbiAqXG4gKiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYExpc3RWYWx1ZWAgaXMgSlNPTiBhcnJheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0VmFsdWUge1xuICAvKiogUmVwZWF0ZWQgZmllbGQgb2YgZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLiAqL1xuICB2YWx1ZXM6IGFueVtdO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVCYXNlU3RydWN0KCk6IFN0cnVjdCB7XG4gIHJldHVybiB7IGZpZWxkczoge30gfTtcbn1cblxuZXhwb3J0IGNvbnN0IFN0cnVjdCA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IFN0cnVjdCwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIE9iamVjdC5lbnRyaWVzKG1lc3NhZ2UuZmllbGRzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIFN0cnVjdF9GaWVsZHNFbnRyeS5lbmNvZGUoeyBrZXk6IGtleSBhcyBhbnksIHZhbHVlIH0sIHdyaXRlci51aW50MzIoMTApLmZvcmsoKSkubGRlbGltKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBTdHJ1Y3Qge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlU3RydWN0KCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZW50cnkxID0gU3RydWN0X0ZpZWxkc0VudHJ5LmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgaWYgKGVudHJ5MS52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBtZXNzYWdlLmZpZWxkc1tlbnRyeTEua2V5XSA9IGVudHJ5MS52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBTdHJ1Y3Qge1xuICAgIHJldHVybiB7XG4gICAgICBmaWVsZHM6IGlzT2JqZWN0KG9iamVjdC5maWVsZHMpXG4gICAgICAgID8gT2JqZWN0LmVudHJpZXMob2JqZWN0LmZpZWxkcykucmVkdWNlPHsgW2tleTogc3RyaW5nXTogYW55IHwgdW5kZWZpbmVkIH0+KChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGFjY1trZXldID0gdmFsdWUgYXMgYW55IHwgdW5kZWZpbmVkO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgICAgICA6IHt9LFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IFN0cnVjdCk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2UuZmllbGRzKSB7XG4gICAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMobWVzc2FnZS5maWVsZHMpO1xuICAgICAgaWYgKGVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBvYmouZmllbGRzID0ge307XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoW2ssIHZdKSA9PiB7XG4gICAgICAgICAgb2JqLmZpZWxkc1trXSA9IHY7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8U3RydWN0Pik6IFN0cnVjdCB7XG4gICAgcmV0dXJuIFN0cnVjdC5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxTdHJ1Y3Q+KTogU3RydWN0IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVN0cnVjdCgpO1xuICAgIG1lc3NhZ2UuZmllbGRzID0gT2JqZWN0LmVudHJpZXMob2JqZWN0LmZpZWxkcyA/PyB7fSkucmVkdWNlPHsgW2tleTogc3RyaW5nXTogYW55IHwgdW5kZWZpbmVkIH0+KFxuICAgICAgKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9LFxuICAgICk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgd3JhcChvYmplY3Q6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCB1bmRlZmluZWQpOiBTdHJ1Y3Qge1xuICAgIGNvbnN0IHN0cnVjdCA9IGNyZWF0ZUJhc2VTdHJ1Y3QoKTtcblxuICAgIGlmIChvYmplY3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqZWN0KSkge1xuICAgICAgICBzdHJ1Y3QuZmllbGRzW2tleV0gPSBvYmplY3Rba2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0cnVjdDtcbiAgfSxcblxuICB1bndyYXAobWVzc2FnZTogU3RydWN0KTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3Qgb2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgaWYgKG1lc3NhZ2UuZmllbGRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhtZXNzYWdlLmZpZWxkcykpIHtcbiAgICAgICAgb2JqZWN0W2tleV0gPSBtZXNzYWdlLmZpZWxkc1trZXldO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZVN0cnVjdF9GaWVsZHNFbnRyeSgpOiBTdHJ1Y3RfRmllbGRzRW50cnkge1xuICByZXR1cm4geyBrZXk6IFwiXCIsIHZhbHVlOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFN0cnVjdF9GaWVsZHNFbnRyeSA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IFN0cnVjdF9GaWVsZHNFbnRyeSwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGlmIChtZXNzYWdlLmtleSAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2Uua2V5KTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgVmFsdWUuZW5jb2RlKFZhbHVlLndyYXAobWVzc2FnZS52YWx1ZSksIHdyaXRlci51aW50MzIoMTgpLmZvcmsoKSkubGRlbGltKCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogU3RydWN0X0ZpZWxkc0VudHJ5IHtcbiAgICBjb25zdCByZWFkZXIgPSBpbnB1dCBpbnN0YW5jZW9mIF9tMC5SZWFkZXIgPyBpbnB1dCA6IF9tMC5SZWFkZXIuY3JlYXRlKGlucHV0KTtcbiAgICBsZXQgZW5kID0gbGVuZ3RoID09PSB1bmRlZmluZWQgPyByZWFkZXIubGVuIDogcmVhZGVyLnBvcyArIGxlbmd0aDtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZVN0cnVjdF9GaWVsZHNFbnRyeSgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uua2V5ID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTgpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UudmFsdWUgPSBWYWx1ZS51bndyYXAoVmFsdWUuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBTdHJ1Y3RfRmllbGRzRW50cnkge1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6IGlzU2V0KG9iamVjdC5rZXkpID8gZ2xvYmFsVGhpcy5TdHJpbmcob2JqZWN0LmtleSkgOiBcIlwiLFxuICAgICAgdmFsdWU6IGlzU2V0KG9iamVjdD8udmFsdWUpID8gb2JqZWN0LnZhbHVlIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IFN0cnVjdF9GaWVsZHNFbnRyeSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2Uua2V5ICE9PSBcIlwiKSB7XG4gICAgICBvYmoua2V5ID0gbWVzc2FnZS5rZXk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai52YWx1ZSA9IG1lc3NhZ2UudmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH0sXG5cbiAgY3JlYXRlKGJhc2U/OiBEZWVwUGFydGlhbDxTdHJ1Y3RfRmllbGRzRW50cnk+KTogU3RydWN0X0ZpZWxkc0VudHJ5IHtcbiAgICByZXR1cm4gU3RydWN0X0ZpZWxkc0VudHJ5LmZyb21QYXJ0aWFsKGJhc2UgPz8ge30pO1xuICB9LFxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPFN0cnVjdF9GaWVsZHNFbnRyeT4pOiBTdHJ1Y3RfRmllbGRzRW50cnkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlU3RydWN0X0ZpZWxkc0VudHJ5KCk7XG4gICAgbWVzc2FnZS5rZXkgPSBvYmplY3Qua2V5ID8/IFwiXCI7XG4gICAgbWVzc2FnZS52YWx1ZSA9IG9iamVjdC52YWx1ZSA/PyB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlVmFsdWUoKTogVmFsdWUge1xuICByZXR1cm4geyBraW5kOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFZhbHVlID0ge1xuICBlbmNvZGUobWVzc2FnZTogVmFsdWUsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2Uua2luZD8uJGNhc2UpIHtcbiAgICAgIGNhc2UgXCJudWxsVmFsdWVcIjpcbiAgICAgICAgd3JpdGVyLnVpbnQzMig4KS5pbnQzMihtZXNzYWdlLmtpbmQubnVsbFZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibnVtYmVyVmFsdWVcIjpcbiAgICAgICAgd3JpdGVyLnVpbnQzMigxNykuZG91YmxlKG1lc3NhZ2Uua2luZC5udW1iZXJWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInN0cmluZ1ZhbHVlXCI6XG4gICAgICAgIHdyaXRlci51aW50MzIoMjYpLnN0cmluZyhtZXNzYWdlLmtpbmQuc3RyaW5nVmFsdWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJib29sVmFsdWVcIjpcbiAgICAgICAgd3JpdGVyLnVpbnQzMigzMikuYm9vbChtZXNzYWdlLmtpbmQuYm9vbFZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwic3RydWN0VmFsdWVcIjpcbiAgICAgICAgU3RydWN0LmVuY29kZShTdHJ1Y3Qud3JhcChtZXNzYWdlLmtpbmQuc3RydWN0VmFsdWUpLCB3cml0ZXIudWludDMyKDQyKS5mb3JrKCkpLmxkZWxpbSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJsaXN0VmFsdWVcIjpcbiAgICAgICAgTGlzdFZhbHVlLmVuY29kZShMaXN0VmFsdWUud3JhcChtZXNzYWdlLmtpbmQubGlzdFZhbHVlKSwgd3JpdGVyLnVpbnQzMig1MCkuZm9yaygpKS5sZGVsaW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogVmFsdWUge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVmFsdWUoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDgpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uua2luZCA9IHsgJGNhc2U6IFwibnVsbFZhbHVlXCIsIG51bGxWYWx1ZTogcmVhZGVyLmludDMyKCkgYXMgYW55IH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBpZiAodGFnICE9PSAxNykge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJudW1iZXJWYWx1ZVwiLCBudW1iZXJWYWx1ZTogcmVhZGVyLmRvdWJsZSgpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBpZiAodGFnICE9PSAyNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJzdHJpbmdWYWx1ZVwiLCBzdHJpbmdWYWx1ZTogcmVhZGVyLnN0cmluZygpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNDpcbiAgICAgICAgICBpZiAodGFnICE9PSAzMikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJib29sVmFsdWVcIiwgYm9vbFZhbHVlOiByZWFkZXIuYm9vbCgpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgNTpcbiAgICAgICAgICBpZiAodGFnICE9PSA0Mikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJzdHJ1Y3RWYWx1ZVwiLCBzdHJ1Y3RWYWx1ZTogU3RydWN0LnVud3JhcChTdHJ1Y3QuZGVjb2RlKHJlYWRlciwgcmVhZGVyLnVpbnQzMigpKSkgfTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSA2OlxuICAgICAgICAgIGlmICh0YWcgIT09IDUwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcImxpc3RWYWx1ZVwiLCBsaXN0VmFsdWU6IExpc3RWYWx1ZS51bndyYXAoTGlzdFZhbHVlLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSkpIH07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBWYWx1ZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtpbmQ6IGlzU2V0KG9iamVjdC5udWxsVmFsdWUpXG4gICAgICAgID8geyAkY2FzZTogXCJudWxsVmFsdWVcIiwgbnVsbFZhbHVlOiBudWxsVmFsdWVGcm9tSlNPTihvYmplY3QubnVsbFZhbHVlKSB9XG4gICAgICAgIDogaXNTZXQob2JqZWN0Lm51bWJlclZhbHVlKVxuICAgICAgICA/IHsgJGNhc2U6IFwibnVtYmVyVmFsdWVcIiwgbnVtYmVyVmFsdWU6IGdsb2JhbFRoaXMuTnVtYmVyKG9iamVjdC5udW1iZXJWYWx1ZSkgfVxuICAgICAgICA6IGlzU2V0KG9iamVjdC5zdHJpbmdWYWx1ZSlcbiAgICAgICAgPyB7ICRjYXNlOiBcInN0cmluZ1ZhbHVlXCIsIHN0cmluZ1ZhbHVlOiBnbG9iYWxUaGlzLlN0cmluZyhvYmplY3Quc3RyaW5nVmFsdWUpIH1cbiAgICAgICAgOiBpc1NldChvYmplY3QuYm9vbFZhbHVlKVxuICAgICAgICA/IHsgJGNhc2U6IFwiYm9vbFZhbHVlXCIsIGJvb2xWYWx1ZTogZ2xvYmFsVGhpcy5Cb29sZWFuKG9iamVjdC5ib29sVmFsdWUpIH1cbiAgICAgICAgOiBpc1NldChvYmplY3Quc3RydWN0VmFsdWUpXG4gICAgICAgID8geyAkY2FzZTogXCJzdHJ1Y3RWYWx1ZVwiLCBzdHJ1Y3RWYWx1ZTogb2JqZWN0LnN0cnVjdFZhbHVlIH1cbiAgICAgICAgOiBpc1NldChvYmplY3QubGlzdFZhbHVlKVxuICAgICAgICA/IHsgJGNhc2U6IFwibGlzdFZhbHVlXCIsIGxpc3RWYWx1ZTogWy4uLm9iamVjdC5saXN0VmFsdWVdIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogVmFsdWUpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcIm51bGxWYWx1ZVwiKSB7XG4gICAgICBvYmoubnVsbFZhbHVlID0gbnVsbFZhbHVlVG9KU09OKG1lc3NhZ2Uua2luZC5udWxsVmFsdWUpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJudW1iZXJWYWx1ZVwiKSB7XG4gICAgICBvYmoubnVtYmVyVmFsdWUgPSBtZXNzYWdlLmtpbmQubnVtYmVyVmFsdWU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcInN0cmluZ1ZhbHVlXCIpIHtcbiAgICAgIG9iai5zdHJpbmdWYWx1ZSA9IG1lc3NhZ2Uua2luZC5zdHJpbmdWYWx1ZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2Uua2luZD8uJGNhc2UgPT09IFwiYm9vbFZhbHVlXCIpIHtcbiAgICAgIG9iai5ib29sVmFsdWUgPSBtZXNzYWdlLmtpbmQuYm9vbFZhbHVlO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJzdHJ1Y3RWYWx1ZVwiKSB7XG4gICAgICBvYmouc3RydWN0VmFsdWUgPSBtZXNzYWdlLmtpbmQuc3RydWN0VmFsdWU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcImxpc3RWYWx1ZVwiKSB7XG4gICAgICBvYmoubGlzdFZhbHVlID0gbWVzc2FnZS5raW5kLmxpc3RWYWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPFZhbHVlPik6IFZhbHVlIHtcbiAgICByZXR1cm4gVmFsdWUuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8VmFsdWU+KTogVmFsdWUge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVmFsdWUoKTtcbiAgICBpZiAob2JqZWN0LmtpbmQ/LiRjYXNlID09PSBcIm51bGxWYWx1ZVwiICYmIG9iamVjdC5raW5kPy5udWxsVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBvYmplY3Qua2luZD8ubnVsbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcIm51bGxWYWx1ZVwiLCBudWxsVmFsdWU6IG9iamVjdC5raW5kLm51bGxWYWx1ZSB9O1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBvYmplY3Qua2luZD8uJGNhc2UgPT09IFwibnVtYmVyVmFsdWVcIiAmJlxuICAgICAgb2JqZWN0LmtpbmQ/Lm51bWJlclZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIG9iamVjdC5raW5kPy5udW1iZXJWYWx1ZSAhPT0gbnVsbFxuICAgICkge1xuICAgICAgbWVzc2FnZS5raW5kID0geyAkY2FzZTogXCJudW1iZXJWYWx1ZVwiLCBudW1iZXJWYWx1ZTogb2JqZWN0LmtpbmQubnVtYmVyVmFsdWUgfTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgb2JqZWN0LmtpbmQ/LiRjYXNlID09PSBcInN0cmluZ1ZhbHVlXCIgJiZcbiAgICAgIG9iamVjdC5raW5kPy5zdHJpbmdWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBvYmplY3Qua2luZD8uc3RyaW5nVmFsdWUgIT09IG51bGxcbiAgICApIHtcbiAgICAgIG1lc3NhZ2Uua2luZCA9IHsgJGNhc2U6IFwic3RyaW5nVmFsdWVcIiwgc3RyaW5nVmFsdWU6IG9iamVjdC5raW5kLnN0cmluZ1ZhbHVlIH07XG4gICAgfVxuICAgIGlmIChvYmplY3Qua2luZD8uJGNhc2UgPT09IFwiYm9vbFZhbHVlXCIgJiYgb2JqZWN0LmtpbmQ/LmJvb2xWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIG9iamVjdC5raW5kPy5ib29sVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIG1lc3NhZ2Uua2luZCA9IHsgJGNhc2U6IFwiYm9vbFZhbHVlXCIsIGJvb2xWYWx1ZTogb2JqZWN0LmtpbmQuYm9vbFZhbHVlIH07XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG9iamVjdC5raW5kPy4kY2FzZSA9PT0gXCJzdHJ1Y3RWYWx1ZVwiICYmXG4gICAgICBvYmplY3Qua2luZD8uc3RydWN0VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgb2JqZWN0LmtpbmQ/LnN0cnVjdFZhbHVlICE9PSBudWxsXG4gICAgKSB7XG4gICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcInN0cnVjdFZhbHVlXCIsIHN0cnVjdFZhbHVlOiBvYmplY3Qua2luZC5zdHJ1Y3RWYWx1ZSB9O1xuICAgIH1cbiAgICBpZiAob2JqZWN0LmtpbmQ/LiRjYXNlID09PSBcImxpc3RWYWx1ZVwiICYmIG9iamVjdC5raW5kPy5saXN0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBvYmplY3Qua2luZD8ubGlzdFZhbHVlICE9PSBudWxsKSB7XG4gICAgICBtZXNzYWdlLmtpbmQgPSB7ICRjYXNlOiBcImxpc3RWYWx1ZVwiLCBsaXN0VmFsdWU6IG9iamVjdC5raW5kLmxpc3RWYWx1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcblxuICB3cmFwKHZhbHVlOiBhbnkpOiBWYWx1ZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlQmFzZVZhbHVlKCk7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXN1bHQua2luZCA9IHsgJGNhc2U6IFwibnVsbFZhbHVlXCIsIG51bGxWYWx1ZTogTnVsbFZhbHVlLk5VTExfVkFMVUUgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHJlc3VsdC5raW5kID0geyAkY2FzZTogXCJib29sVmFsdWVcIiwgYm9vbFZhbHVlOiB2YWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICByZXN1bHQua2luZCA9IHsgJGNhc2U6IFwibnVtYmVyVmFsdWVcIiwgbnVtYmVyVmFsdWU6IHZhbHVlIH07XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJlc3VsdC5raW5kID0geyAkY2FzZTogXCJzdHJpbmdWYWx1ZVwiLCBzdHJpbmdWYWx1ZTogdmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKGdsb2JhbFRoaXMuQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJlc3VsdC5raW5kID0geyAkY2FzZTogXCJsaXN0VmFsdWVcIiwgbGlzdFZhbHVlOiB2YWx1ZSB9O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXN1bHQua2luZCA9IHsgJGNhc2U6IFwic3RydWN0VmFsdWVcIiwgc3RydWN0VmFsdWU6IHZhbHVlIH07XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRocm93IG5ldyBnbG9iYWxUaGlzLkVycm9yKFwiVW5zdXBwb3J0ZWQgYW55IHZhbHVlIHR5cGU6IFwiICsgdHlwZW9mIHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSxcblxuICB1bndyYXAobWVzc2FnZTogVmFsdWUpOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgT2JqZWN0IHwgbnVsbCB8IEFycmF5PGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcIm51bGxWYWx1ZVwiKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2Uua2luZD8uJGNhc2UgPT09IFwibnVtYmVyVmFsdWVcIikge1xuICAgICAgcmV0dXJuIG1lc3NhZ2Uua2luZD8ubnVtYmVyVmFsdWU7XG4gICAgfSBlbHNlIGlmIChtZXNzYWdlLmtpbmQ/LiRjYXNlID09PSBcInN0cmluZ1ZhbHVlXCIpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlLmtpbmQ/LnN0cmluZ1ZhbHVlO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJib29sVmFsdWVcIikge1xuICAgICAgcmV0dXJuIG1lc3NhZ2Uua2luZD8uYm9vbFZhbHVlO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZS5raW5kPy4kY2FzZSA9PT0gXCJzdHJ1Y3RWYWx1ZVwiKSB7XG4gICAgICByZXR1cm4gbWVzc2FnZS5raW5kPy5zdHJ1Y3RWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2Uua2luZD8uJGNhc2UgPT09IFwibGlzdFZhbHVlXCIpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlLmtpbmQ/Lmxpc3RWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH0sXG59O1xuXG5mdW5jdGlvbiBjcmVhdGVCYXNlTGlzdFZhbHVlKCk6IExpc3RWYWx1ZSB7XG4gIHJldHVybiB7IHZhbHVlczogW10gfTtcbn1cblxuZXhwb3J0IGNvbnN0IExpc3RWYWx1ZSA9IHtcbiAgZW5jb2RlKG1lc3NhZ2U6IExpc3RWYWx1ZSwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGZvciAoY29uc3QgdiBvZiBtZXNzYWdlLnZhbHVlcykge1xuICAgICAgVmFsdWUuZW5jb2RlKFZhbHVlLndyYXAodiEpLCB3cml0ZXIudWludDMyKDEwKS5mb3JrKCkpLmxkZWxpbSgpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdGVyO1xuICB9LFxuXG4gIGRlY29kZShpbnB1dDogX20wLlJlYWRlciB8IFVpbnQ4QXJyYXksIGxlbmd0aD86IG51bWJlcik6IExpc3RWYWx1ZSB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VMaXN0VmFsdWUoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLnZhbHVlcy5wdXNoKFZhbHVlLnVud3JhcChWYWx1ZS5kZWNvZGUocmVhZGVyLCByZWFkZXIudWludDMyKCkpKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBMaXN0VmFsdWUge1xuICAgIHJldHVybiB7IHZhbHVlczogZ2xvYmFsVGhpcy5BcnJheS5pc0FycmF5KG9iamVjdD8udmFsdWVzKSA/IFsuLi5vYmplY3QudmFsdWVzXSA6IFtdIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IExpc3RWYWx1ZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgaWYgKG1lc3NhZ2UudmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgIG9iai52YWx1ZXMgPSBtZXNzYWdlLnZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPExpc3RWYWx1ZT4pOiBMaXN0VmFsdWUge1xuICAgIHJldHVybiBMaXN0VmFsdWUuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8TGlzdFZhbHVlPik6IExpc3RWYWx1ZSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VMaXN0VmFsdWUoKTtcbiAgICBtZXNzYWdlLnZhbHVlcyA9IG9iamVjdC52YWx1ZXM/Lm1hcCgoZSkgPT4gZSkgfHwgW107XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgd3JhcChhcnJheTogQXJyYXk8YW55PiB8IHVuZGVmaW5lZCk6IExpc3RWYWx1ZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlQmFzZUxpc3RWYWx1ZSgpO1xuICAgIHJlc3VsdC52YWx1ZXMgPSBhcnJheSA/PyBbXTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LFxuXG4gIHVud3JhcChtZXNzYWdlOiBMaXN0VmFsdWUpOiBBcnJheTxhbnk+IHtcbiAgICBpZiAobWVzc2FnZT8uaGFzT3duUHJvcGVydHkoXCJ2YWx1ZXNcIikgJiYgZ2xvYmFsVGhpcy5BcnJheS5pc0FycmF5KG1lc3NhZ2UudmFsdWVzKSkge1xuICAgICAgcmV0dXJuIG1lc3NhZ2UudmFsdWVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbWVzc2FnZSBhcyBhbnk7XG4gICAgfVxuICB9LFxufTtcblxudHlwZSBCdWlsdGluID0gRGF0ZSB8IEZ1bmN0aW9uIHwgVWludDhBcnJheSB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEJ1aWx0aW4gPyBUXG4gIDogVCBleHRlbmRzIGdsb2JhbFRoaXMuQXJyYXk8aW5mZXIgVT4gPyBnbG9iYWxUaGlzLkFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgOiBUIGV4dGVuZHMgeyAkY2FzZTogc3RyaW5nIH0gPyB7IFtLIGluIGtleW9mIE9taXQ8VCwgXCIkY2FzZVwiPl0/OiBEZWVwUGFydGlhbDxUW0tdPiB9ICYgeyAkY2FzZTogVFtcIiRjYXNlXCJdIH1cbiAgOiBUIGV4dGVuZHMge30gPyB7IFtLIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtLXT4gfVxuICA6IFBhcnRpYWw8VD47XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbDtcbn1cblxuZnVuY3Rpb24gaXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcbn1cbiJdfQ==
@@ -5,5 +5,5 @@ export declare abstract class BaseService {
5
5
  protected abstract getFileProcessorMethod(): (path: string, request: UploadBlobRequest, fileExtension: string) => Promise<void>;
6
6
  protected abstract getLogPrefix(): string;
7
7
  protected abstract getFileExtension(): string;
8
- upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, folderPath: string, env: string, privateKey: string): Promise<void>;
8
+ upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, folderPath: string, env: string, privateKey: string, override?: boolean, merge?: boolean): Promise<void>;
9
9
  }
@@ -12,16 +12,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.BaseService = void 0;
13
13
  const blobset_service_1 = require("../../proto-models/com/coralogix/blobset/v2/blobset_service");
14
14
  const consts_1 = require("../../consts/consts");
15
+ const upload_mode_utils_1 = require("../../utils/upload-mode.utils");
15
16
  class BaseService {
16
- upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey) {
17
+ upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override = false, merge = false) {
17
18
  return __awaiter(this, void 0, void 0, function* () {
18
19
  const request = blobset_service_1.UploadBlobRequest.create();
19
20
  const api = this.getApi();
20
- console.log(consts_1.GRAY_COLOR, `🚀 Uploading ${this.getLogPrefix()}... (${new Date().toUTCString()})`);
21
+ const mode = (0, upload_mode_utils_1.getUploadMode)({ override, merge });
22
+ console.log(consts_1.GRAY_COLOR, `🚀 ${upload_mode_utils_1.UPLOAD_LABELS.ongoing[mode]} ${this.getLogPrefix()}... (${new Date().toUTCString()})`);
21
23
  try {
22
24
  yield this.getFileProcessorMethod()(folderPath, request, this.getFileExtension());
23
- yield api.upload(request, application, version, repoName, commitHash, orgName, env, privateKey);
24
- console.log(consts_1.GREEN_COLOR, `✅ ${this.getLogPrefix()} uploaded successfully!`);
25
+ yield api.upload(request, application, version, repoName, commitHash, orgName, env, privateKey, override, merge);
26
+ console.log(consts_1.GREEN_COLOR, `✅ ${this.getLogPrefix()} ${upload_mode_utils_1.UPLOAD_LABELS.completed[mode]} successfully!`);
25
27
  console.log(consts_1.GREEN_COLOR, '✅ Processing complete.');
26
28
  }
27
29
  catch (error) {
@@ -31,4 +33,4 @@ class BaseService {
31
33
  }
32
34
  }
33
35
  exports.BaseService = BaseService;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc2VydmljZXMvYmFzZS9iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaUdBQWdHO0FBQ2hHLGdEQUE4RDtBQUc5RCxNQUFzQixXQUFXO0lBTXpCLE1BQU0sQ0FDVixXQUFtQixFQUNuQixPQUFlLEVBQ2YsUUFBNEIsRUFDNUIsVUFBOEIsRUFDOUIsT0FBMkIsRUFDM0IsVUFBa0IsRUFDbEIsR0FBVyxFQUNYLFVBQWtCOztZQUVsQixNQUFNLE9BQU8sR0FBc0IsbUNBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUQsTUFBTSxHQUFHLEdBQVksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRW5DLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQVUsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRWhHLElBQUk7Z0JBQ0YsTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7Z0JBRWxGLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBRWhHLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBVyxFQUFFLHdCQUF3QixDQUFDLENBQUM7YUFDcEQ7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxNQUFNLEtBQUssQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFoQ0Qsa0NBZ0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXBsb2FkQmxvYlJlcXVlc3QgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2Jsb2JzZXRfc2VydmljZSc7XG5pbXBvcnQgeyBHUkFZX0NPTE9SLCBHUkVFTl9DT0xPUiB9IGZyb20gJy4uLy4uL2NvbnN0cy9jb25zdHMnO1xuaW1wb3J0IHsgQmFzZUFwaSB9IGZyb20gJy4uLy4uL2FwaS9iYXNlL2Jhc2UuYXBpJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEFwaSgpOiBCYXNlQXBpO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RmlsZVByb2Nlc3Nvck1ldGhvZCgpOiAocGF0aDogc3RyaW5nLCByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCwgZmlsZUV4dGVuc2lvbjogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0TG9nUHJlZml4KCk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZpbGVFeHRlbnNpb24oKTogc3RyaW5nO1xuXG4gIGFzeW5jIHVwbG9hZChcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZm9sZGVyUGF0aDogc3RyaW5nLFxuICAgIGVudjogc3RyaW5nLFxuICAgIHByaXZhdGVLZXk6IHN0cmluZyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVxdWVzdDogVXBsb2FkQmxvYlJlcXVlc3QgPSBVcGxvYWRCbG9iUmVxdWVzdC5jcmVhdGUoKTtcbiAgICBjb25zdCBhcGk6IEJhc2VBcGkgPSB0aGlzLmdldEFwaSgpO1xuXG4gICAgY29uc29sZS5sb2coR1JBWV9DT0xPUiwgYPCfmoAgVXBsb2FkaW5nICR7dGhpcy5nZXRMb2dQcmVmaXgoKX0uLi4gKCR7bmV3IERhdGUoKS50b1VUQ1N0cmluZygpfSlgKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmdldEZpbGVQcm9jZXNzb3JNZXRob2QoKShmb2xkZXJQYXRoLCByZXF1ZXN0LCB0aGlzLmdldEZpbGVFeHRlbnNpb24oKSk7XG5cbiAgICAgIGF3YWl0IGFwaS51cGxvYWQocmVxdWVzdCwgYXBwbGljYXRpb24sIHZlcnNpb24sIHJlcG9OYW1lLCBjb21taXRIYXNoLCBvcmdOYW1lLCBlbnYsIHByaXZhdGVLZXkpO1xuXG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgYOKchSAke3RoaXMuZ2V0TG9nUHJlZml4KCl9IHVwbG9hZGVkIHN1Y2Nlc3NmdWxseSFgKTtcbiAgICAgIGNvbnNvbGUubG9nKEdSRUVOX0NPTE9SLCAn4pyFIFByb2Nlc3NpbmcgY29tcGxldGUuJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc2VydmljZXMvYmFzZS9iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaUdBQWdHO0FBQ2hHLGdEQUE4RDtBQUU5RCxxRUFBNkU7QUFFN0UsTUFBc0IsV0FBVztJQU16QixNQUFNLENBQ1YsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE9BQTJCLEVBQzNCLFVBQWtCLEVBQ2xCLEdBQVcsRUFDWCxVQUFrQixFQUNsQixRQUFRLEdBQUcsS0FBSyxFQUNoQixLQUFLLEdBQUcsS0FBSzs7WUFFYixNQUFNLE9BQU8sR0FBc0IsbUNBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUQsTUFBTSxHQUFHLEdBQVksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUEsaUNBQWEsRUFBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBRWhELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQVUsRUFBRSxNQUFNLGlDQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUVySCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO2dCQUVsRixNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBRWpILE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxpQ0FBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDcEcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBVyxFQUFFLHdCQUF3QixDQUFDLENBQUM7YUFDcEQ7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxNQUFNLEtBQUssQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFuQ0Qsa0NBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXBsb2FkQmxvYlJlcXVlc3QgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2Jsb2JzZXRfc2VydmljZSc7XG5pbXBvcnQgeyBHUkFZX0NPTE9SLCBHUkVFTl9DT0xPUiB9IGZyb20gJy4uLy4uL2NvbnN0cy9jb25zdHMnO1xuaW1wb3J0IHsgQmFzZUFwaSB9IGZyb20gJy4uLy4uL2FwaS9iYXNlL2Jhc2UuYXBpJztcbmltcG9ydCB7IGdldFVwbG9hZE1vZGUsIFVQTE9BRF9MQUJFTFMgfSBmcm9tICcuLi8uLi91dGlscy91cGxvYWQtbW9kZS51dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2VydmljZSB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRBcGkoKTogQmFzZUFwaTtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZpbGVQcm9jZXNzb3JNZXRob2QoKTogKHBhdGg6IHN0cmluZywgcmVxdWVzdDogVXBsb2FkQmxvYlJlcXVlc3QsIGZpbGVFeHRlbnNpb246IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldExvZ1ByZWZpeCgpOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGaWxlRXh0ZW5zaW9uKCk6IHN0cmluZztcblxuICBhc3luYyB1cGxvYWQoXG4gICAgYXBwbGljYXRpb246IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgcmVwb05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBjb21taXRIYXNoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb3JnTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGZvbGRlclBhdGg6IHN0cmluZyxcbiAgICBlbnY6IHN0cmluZyxcbiAgICBwcml2YXRlS2V5OiBzdHJpbmcsXG4gICAgb3ZlcnJpZGUgPSBmYWxzZSxcbiAgICBtZXJnZSA9IGZhbHNlLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCA9IFVwbG9hZEJsb2JSZXF1ZXN0LmNyZWF0ZSgpO1xuICAgIGNvbnN0IGFwaTogQmFzZUFwaSA9IHRoaXMuZ2V0QXBpKCk7XG4gICAgY29uc3QgbW9kZSA9IGdldFVwbG9hZE1vZGUoeyBvdmVycmlkZSwgbWVyZ2UgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhHUkFZX0NPTE9SLCBg8J+agCAke1VQTE9BRF9MQUJFTFMub25nb2luZ1ttb2RlXX0gJHt0aGlzLmdldExvZ1ByZWZpeCgpfS4uLiAoJHtuZXcgRGF0ZSgpLnRvVVRDU3RyaW5nKCl9KWApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZ2V0RmlsZVByb2Nlc3Nvck1ldGhvZCgpKGZvbGRlclBhdGgsIHJlcXVlc3QsIHRoaXMuZ2V0RmlsZUV4dGVuc2lvbigpKTtcblxuICAgICAgYXdhaXQgYXBpLnVwbG9hZChyZXF1ZXN0LCBhcHBsaWNhdGlvbiwgdmVyc2lvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIG9yZ05hbWUsIGVudiwgcHJpdmF0ZUtleSwgb3ZlcnJpZGUsIG1lcmdlKTtcblxuICAgICAgY29uc29sZS5sb2coR1JFRU5fQ09MT1IsIGDinIUgJHt0aGlzLmdldExvZ1ByZWZpeCgpfSAke1VQTE9BRF9MQUJFTFMuY29tcGxldGVkW21vZGVdfSBzdWNjZXNzZnVsbHkhYCk7XG4gICAgICBjb25zb2xlLmxvZyhHUkVFTl9DT0xPUiwgJ+KchSBQcm9jZXNzaW5nIGNvbXBsZXRlLicpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -6,5 +6,4 @@ export declare class SourceMapsService extends BaseService {
6
6
  protected getFileProcessorMethod(): typeof FileProcessor.traverse;
7
7
  protected getLogPrefix(): string;
8
8
  protected getFileExtension(): string;
9
- upload(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, folderPath: string, env: string, privateKey: string, override?: boolean): Promise<void>;
10
9
  }