edge-impulse-linux 1.16.1 → 1.17.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.
Files changed (81) hide show
  1. package/build/cli/linux/linux.js +1 -0
  2. package/build/cli/linux/linux.js.map +1 -1
  3. package/build/cli/linux/runner-downloader.d.ts +1 -0
  4. package/build/cli/linux/runner-downloader.js +10 -0
  5. package/build/cli/linux/runner-downloader.js.map +1 -1
  6. package/build/cli/linux/runner-profiling.d.ts +10 -0
  7. package/build/cli/linux/runner-profiling.js +72 -0
  8. package/build/cli/linux/runner-profiling.js.map +1 -0
  9. package/build/cli/linux/runner-utils.js +10 -64
  10. package/build/cli/linux/runner-utils.js.map +1 -1
  11. package/build/cli/linux/runner.js +15 -1
  12. package/build/cli/linux/runner.js.map +1 -1
  13. package/build/cli/linux/webserver/public/inference-server.js +92 -83
  14. package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
  15. package/build/cli-common/model-monitor.d.ts +1 -2
  16. package/build/cli-common/model-monitor.js +5 -5
  17. package/build/cli-common/model-monitor.js.map +1 -1
  18. package/build/cli-common/remote-mgmt-service.d.ts +1 -1
  19. package/build/library/async-pool.d.ts +1 -0
  20. package/build/library/async-pool.js +21 -0
  21. package/build/library/async-pool.js.map +1 -0
  22. package/build/library/classifier/image-classifier.d.ts +12 -2
  23. package/build/library/classifier/image-classifier.js +37 -7
  24. package/build/library/classifier/image-classifier.js.map +1 -1
  25. package/build/library/classifier/libcwrapper.d.ts +26 -0
  26. package/build/library/classifier/libcwrapper.js +37 -0
  27. package/build/library/classifier/libcwrapper.js.map +1 -0
  28. package/build/library/classifier/linux-impulse-runner-types.d.ts +177 -0
  29. package/build/library/classifier/linux-impulse-runner-types.js +28 -0
  30. package/build/library/classifier/linux-impulse-runner-types.js.map +1 -0
  31. package/build/library/classifier/linux-impulse-runner.d.ts +20 -120
  32. package/build/library/classifier/linux-impulse-runner.js +172 -47
  33. package/build/library/classifier/linux-impulse-runner.js.map +1 -1
  34. package/build/library/classifier/valgrind-suppression.d.ts +1 -0
  35. package/build/library/classifier/valgrind-suppression.js +64 -0
  36. package/build/library/classifier/valgrind-suppression.js.map +1 -0
  37. package/build/library/moving-average-filter.d.ts +1 -1
  38. package/build/library/sensors/gstreamer.d.ts +12 -5
  39. package/build/library/sensors/gstreamer.js +217 -66
  40. package/build/library/sensors/gstreamer.js.map +1 -1
  41. package/build/library/sensors/icamera.d.ts +3 -1
  42. package/build/library/sensors/imagesnap.d.ts +2 -0
  43. package/build/library/sensors/imagesnap.js +2 -0
  44. package/build/library/sensors/imagesnap.js.map +1 -1
  45. package/build/library/sensors/prophesee.d.ts +2 -0
  46. package/build/library/sensors/prophesee.js +1 -0
  47. package/build/library/sensors/prophesee.js.map +1 -1
  48. package/build/library/sensors/sensors-helper.d.ts +1 -0
  49. package/build/library/sensors/sensors-helper.js +1 -1
  50. package/build/library/sensors/sensors-helper.js.map +1 -1
  51. package/build/sdk/studio/sdk/api/classifyApi.d.ts +64 -0
  52. package/build/sdk/studio/sdk/api/classifyApi.js +128 -0
  53. package/build/sdk/studio/sdk/api/classifyApi.js.map +1 -1
  54. package/build/sdk/studio/sdk/api/postProcessingApi.d.ts +5 -4
  55. package/build/sdk/studio/sdk/api/postProcessingApi.js +12 -12
  56. package/build/sdk/studio/sdk/api/postProcessingApi.js.map +1 -1
  57. package/build/sdk/studio/sdk/api/testApi.d.ts +16 -0
  58. package/build/sdk/studio/sdk/api/testApi.js +90 -0
  59. package/build/sdk/studio/sdk/api/testApi.js.map +1 -1
  60. package/build/sdk/studio/sdk/model/models.d.ts +2 -0
  61. package/build/sdk/studio/sdk/model/models.js +6 -0
  62. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  63. package/build/sdk/studio/sdk/model/permission.d.ts +1 -1
  64. package/build/sdk/studio/sdk/model/permission.js +1 -1
  65. package/build/sdk/studio/sdk/model/permission.js.map +1 -1
  66. package/build/sdk/studio/sdk/model/postProcessingFeaturesForSampleRequest.d.ts +28 -0
  67. package/build/sdk/studio/sdk/model/postProcessingFeaturesForSampleRequest.js +34 -0
  68. package/build/sdk/studio/sdk/model/postProcessingFeaturesForSampleRequest.js.map +1 -0
  69. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.d.ts +34 -0
  70. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.js +29 -0
  71. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.js.map +1 -0
  72. package/build/shared/views/project/bounding-box-scaling.d.ts +66 -0
  73. package/build/shared/views/project/bounding-box-scaling.js +155 -0
  74. package/build/shared/views/project/bounding-box-scaling.js.map +1 -0
  75. package/cli/linux/webserver/public/assets/mobileclient.css +5 -0
  76. package/cli/linux/webserver/public/inference-server.js +100 -89
  77. package/examples/js/classify-camera.js +1 -3
  78. package/examples/ts/classify-camera.ts +1 -3
  79. package/package.json +2 -1
  80. package/test/gstreamer.test.ts +28 -23
  81. package/examples/ts/classify-custom-from-test.ts +0 -96
@@ -1,9 +1,23 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
5
19
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LinuxImpulseRunner = exports.RunnerHelloInferencingEngine = exports.RunnerHelloHasAnomaly = void 0;
20
+ exports.LinuxImpulseRunner = void 0;
7
21
  const child_process_1 = require("child_process");
8
22
  const fs_1 = __importDefault(require("fs"));
9
23
  const tsee_1 = require("tsee");
@@ -11,39 +25,26 @@ const util_1 = __importDefault(require("util"));
11
25
  const os_1 = __importDefault(require("os"));
12
26
  const path_1 = __importDefault(require("path"));
13
27
  const net_1 = __importDefault(require("net"));
14
- var RunnerHelloHasAnomaly;
15
- (function (RunnerHelloHasAnomaly) {
16
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["None"] = 0] = "None";
17
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["KMeans"] = 1] = "KMeans";
18
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["GMM"] = 2] = "GMM";
19
- RunnerHelloHasAnomaly[RunnerHelloHasAnomaly["VisualGMM"] = 3] = "VisualGMM";
20
- })(RunnerHelloHasAnomaly = exports.RunnerHelloHasAnomaly || (exports.RunnerHelloHasAnomaly = {}));
21
- var RunnerHelloInferencingEngine;
22
- (function (RunnerHelloInferencingEngine) {
23
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["None"] = 255] = "None";
24
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Utensor"] = 1] = "Utensor";
25
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Tflite"] = 2] = "Tflite";
26
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Cubeai"] = 3] = "Cubeai";
27
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TfliteFull"] = 4] = "TfliteFull";
28
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TensaiFlow"] = 5] = "TensaiFlow";
29
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TensorRT"] = 6] = "TensorRT";
30
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Drpai"] = 7] = "Drpai";
31
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["TfliteTidl"] = 8] = "TfliteTidl";
32
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Akida"] = 9] = "Akida";
33
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Syntiant"] = 10] = "Syntiant";
34
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["OnnxTidl"] = 11] = "OnnxTidl";
35
- RunnerHelloInferencingEngine[RunnerHelloInferencingEngine["Memryx"] = 12] = "Memryx";
36
- })(RunnerHelloInferencingEngine = exports.RunnerHelloInferencingEngine || (exports.RunnerHelloInferencingEngine = {}));
28
+ const libcwrapper_1 = require("./libcwrapper");
29
+ const koffi_1 = __importDefault(require("koffi"));
30
+ const linux_impulse_runner_types_1 = require("./linux-impulse-runner-types");
31
+ const valgrind_suppression_1 = require("./valgrind-suppression");
32
+ const PREFIX = '\x1b[33m[RUN]\x1b[0m';
33
+ __exportStar(require("./linux-impulse-runner-types"), exports);
37
34
  class LinuxImpulseRunner {
38
35
  /**
39
36
  * Start a new impulse runner
40
37
  * @param path Path to the runner's executable
41
38
  */
42
- constructor(path) {
39
+ constructor(path, opts) {
43
40
  this._runnerEe = new tsee_1.EventEmitter();
44
41
  this._id = 0;
45
42
  this._stopped = false;
43
+ this._stdout = [];
46
44
  this._path = path_1.default.resolve(path);
45
+ this._valgrind = opts?.valgrind || false;
46
+ this._verbose = opts?.verbose || false;
47
+ this._shmBehavior = opts?.shmBehavior || 'auto';
47
48
  }
48
49
  /**
49
50
  * Initialize the runner
@@ -56,6 +57,7 @@ class LinuxImpulseRunner {
56
57
  if (!await this.exists(this._path)) {
57
58
  throw new Error('Runner does not exist: ' + this._path);
58
59
  }
60
+ this._stdout = [];
59
61
  let isSocket = (await fs_1.default.promises.stat(this._path)).isSocket();
60
62
  // if we have /dev/shm, use that (RAM backed, instead of SD card backed, better for wear)
61
63
  let osTmpDir = os_1.default.tmpdir();
@@ -75,10 +77,40 @@ class LinuxImpulseRunner {
75
77
  this._runner.kill('SIGINT');
76
78
  // TODO: check if the runner still exists
77
79
  }
78
- this._runner = (0, child_process_1.spawn)(this._path, [socketPath]);
80
+ if (this._valgrind) {
81
+ const valgrindSuppressionFile = path_1.default.join(tempDir, 'valgrind.supp');
82
+ await fs_1.default.promises.writeFile(valgrindSuppressionFile, valgrind_suppression_1.VALGRIND_SUPPRESSION_FILE, 'utf-8');
83
+ this._runner = (0, child_process_1.spawn)('valgrind', [
84
+ '--suppressions=' + valgrindSuppressionFile,
85
+ `--leak-check=no`,
86
+ `--errors-for-leak-kinds=none`,
87
+ `--show-leak-kinds=none`,
88
+ `--track-origins=yes`,
89
+ `--error-exitcode=1`,
90
+ this._path,
91
+ socketPath,
92
+ ]);
93
+ }
94
+ else {
95
+ this._runner = (0, child_process_1.spawn)(this._path, [socketPath]);
96
+ }
79
97
  if (!this._runner.stdout) {
80
98
  throw new Error('stdout is null');
81
99
  }
100
+ if (this._runner.stdout) {
101
+ this._runner.stdout.on('data', data => {
102
+ if (Buffer.isBuffer(data)) {
103
+ this._stdout.push(data);
104
+ }
105
+ });
106
+ }
107
+ if (this._runner.stderr) {
108
+ this._runner.stderr.on('data', data => {
109
+ if (Buffer.isBuffer(data)) {
110
+ this._stdout.push(data);
111
+ }
112
+ });
113
+ }
82
114
  const onStdout = (data) => {
83
115
  stdout += data.toString('utf-8');
84
116
  };
@@ -163,20 +195,36 @@ class LinuxImpulseRunner {
163
195
  }, 10000);
164
196
  });
165
197
  let helloResp = await this.sendHello();
166
- if (helloResp.modelParameters.inferencing_engine === RunnerHelloInferencingEngine.TensorRT) {
198
+ if (this.shouldWarmGpu(helloResp)) {
167
199
  await this.runTensorRTWarmup(helloResp.modelParameters);
168
200
  }
169
201
  return helloResp;
170
202
  }
203
+ /**
204
+ * Whether we should warm up the GPU for this model
205
+ * @param modelInfo Model information returned from EIM (hello message response)
206
+ */
207
+ shouldWarmGpu(modelInfo) {
208
+ let props = modelInfo.inferencingEngine?.properties;
209
+ if (props && props.indexOf('gpu_delegates') > -1) {
210
+ // if the model uses GPU delegates, we need to warm it up
211
+ return true;
212
+ }
213
+ if (modelInfo.modelParameters.inferencing_engine === linux_impulse_runner_types_1.RunnerHelloInferencingEngine.TensorRT) {
214
+ // if the model uses TensorRT, we need to warm it up
215
+ return true;
216
+ }
217
+ return false;
218
+ }
171
219
  /**
172
220
  * Stop the classification process
173
221
  */
174
222
  async stop() {
175
223
  this._stopped = true;
176
224
  if (!this._runner) {
177
- return Promise.resolve();
225
+ return Buffer.concat(this._stdout).toString('utf-8');
178
226
  }
179
- return new Promise((resolve) => {
227
+ await new Promise((resolve) => {
180
228
  if (this._runner) {
181
229
  this._runner.on('close', code => {
182
230
  resolve();
@@ -192,6 +240,7 @@ class LinuxImpulseRunner {
192
240
  resolve();
193
241
  }
194
242
  });
243
+ return Buffer.concat(this._stdout).toString('utf-8');
195
244
  }
196
245
  /**
197
246
  * Get information about the model, this is only available
@@ -210,7 +259,19 @@ class LinuxImpulseRunner {
210
259
  * https://docs.edgeimpulse.com/docs/running-your-impulse-locally-1
211
260
  */
212
261
  async classify(data, timeout) {
213
- let resp = await this.send({ classify: data }, timeout);
262
+ let resp;
263
+ if (this._shm) {
264
+ const features = new Float32Array(this._shm.buf, 0, data.length);
265
+ features.set(data);
266
+ resp = await this.send({
267
+ classify_shm: {
268
+ elements: data.length,
269
+ },
270
+ }, timeout);
271
+ }
272
+ else {
273
+ resp = await this.send({ classify: data }, timeout);
274
+ }
214
275
  if (!resp.success) {
215
276
  throw new Error(resp.error);
216
277
  }
@@ -225,10 +286,22 @@ class LinuxImpulseRunner {
225
286
  * @param data An array of numbers, already formatted according to the rules in
226
287
  * https://docs.edgeimpulse.com/docs/running-your-impulse-locally-1
227
288
  */
228
- async classifyContinuous(data) {
229
- let resp = await this.send({
230
- classify_continuous: data,
231
- });
289
+ async classifyContinuous(data, timeout) {
290
+ let resp;
291
+ if (this._shm) {
292
+ const features = new Float32Array(this._shm.buf, 0, data.length);
293
+ features.set(data);
294
+ resp = await this.send({
295
+ classify_continuous_shm: {
296
+ elements: data.length,
297
+ },
298
+ }, timeout);
299
+ }
300
+ else {
301
+ resp = await this.send({
302
+ classify_continuous: data
303
+ }, timeout);
304
+ }
232
305
  if (!resp.success) {
233
306
  throw new Error(resp.error);
234
307
  }
@@ -294,9 +367,56 @@ class LinuxImpulseRunner {
294
367
  sensor = 'positional';
295
368
  break;
296
369
  }
370
+ this._shm = undefined;
371
+ if (!resp.features_shm) {
372
+ if (this._shmBehavior === 'always') {
373
+ const errorStr = resp.features_shm_error ? ` (error: "${resp.features_shm_error}")` : ``;
374
+ throw new Error(`shmBehavior is "always", but ${path_1.default.basename(this._path)} does not support shm (features_shm is NULL). ` +
375
+ `Set to "auto" to fall back to JSON over TCP socket.${errorStr}`);
376
+ }
377
+ if (resp.features_shm_error && this._verbose) {
378
+ console.log(PREFIX, `Failed to initialize shared memory (EIM side): ` + resp.features_shm_error);
379
+ }
380
+ }
381
+ if (resp.features_shm && (this._shmBehavior === 'always' || this._shmBehavior === 'auto')) {
382
+ let libc;
383
+ try {
384
+ if (process.platform === 'linux') {
385
+ libc = koffi_1.default.load('librt.so.1');
386
+ }
387
+ else if (process.platform === 'darwin') {
388
+ libc = koffi_1.default.load('libc.dylib');
389
+ }
390
+ if (libc) {
391
+ const libcWrapper = new libcwrapper_1.LibcWrapper(libc);
392
+ const fd = libcWrapper.shmOpen(resp.features_shm.name, libcwrapper_1.O_RDWR, 0o666);
393
+ const buf = libcWrapper.mmapToArrayBuffer(fd, resp.features_shm.size_bytes);
394
+ this._shm = {
395
+ libc: libcWrapper,
396
+ fd: fd,
397
+ buf: buf,
398
+ };
399
+ if (this._verbose) {
400
+ console.log(PREFIX, `Initialized shared memory (${resp.features_shm.name})`);
401
+ }
402
+ }
403
+ }
404
+ catch (ex2) {
405
+ const ex = ex2;
406
+ if (this._shmBehavior === 'always') {
407
+ throw new Error(`Failed to initialize shared memory (${resp.features_shm.name}): ` +
408
+ ex.message || ex.toString());
409
+ }
410
+ if (this._verbose) {
411
+ console.log(PREFIX, `Failed to initialize shared memory (${resp.features_shm.name}): ` +
412
+ ex.message || ex.toString());
413
+ }
414
+ }
415
+ }
297
416
  let data = {
298
417
  project: resp.project,
299
- modelParameters: { ...resp.model_parameters, sensorType: sensor }
418
+ modelParameters: { ...resp.model_parameters, sensorType: sensor },
419
+ inferencingEngine: { ...resp.inferencing_engine || undefined }
300
420
  };
301
421
  if (!data.modelParameters.model_type) {
302
422
  data.modelParameters.model_type = 'classification';
@@ -309,7 +429,10 @@ class LinuxImpulseRunner {
309
429
  }
310
430
  send(msg, timeoutArg) {
311
431
  return new Promise((resolve, reject) => {
312
- let timeout = typeof timeoutArg === 'number' ? timeoutArg : 5000;
432
+ const defaultTimeout = this._valgrind ?
433
+ 120000 : // valgrind takes its time (esp on x86)
434
+ 10000;
435
+ let timeout = typeof timeoutArg === 'number' ? timeoutArg : defaultTimeout;
313
436
  if (!this._socket) {
314
437
  console.trace('Runner is not initialized (runner.send)');
315
438
  return reject('Runner is not initialized');
@@ -325,11 +448,13 @@ class LinuxImpulseRunner {
325
448
  }
326
449
  };
327
450
  this._runnerEe.on('message', onData);
328
- this._socket.write(JSON.stringify(Object.assign(msg, {
451
+ const body = JSON.stringify(Object.assign(msg, {
329
452
  id: msgId
330
- })) + '\n');
453
+ }));
454
+ this._socket.write(body + '\n');
331
455
  setTimeout(() => {
332
- reject(`'No response within ${timeout / 1000} seconds'`);
456
+ reject(`No response within ${timeout / 1000} seconds:\n\n` +
457
+ Buffer.concat(this._stdout).toString('utf-8'));
333
458
  }, timeout);
334
459
  const onExit = (code) => {
335
460
  if (!this._stopped) {
@@ -357,13 +482,13 @@ class LinuxImpulseRunner {
357
482
  return exists;
358
483
  }
359
484
  async runTensorRTWarmup(params) {
360
- const PREFIX = '\x1b[33m[TRT]\x1b[0m';
485
+ const TRT_PREFIX = '\x1b[33m[TRT]\x1b[0m';
361
486
  const spinner = ["|", "/", "-", "\\"];
362
487
  let progressIv;
363
488
  try {
364
489
  let i = 0;
365
490
  progressIv = setInterval(() => {
366
- console.log(PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
491
+ console.log(TRT_PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
367
492
  spinner[i] + '\x1b[1A');
368
493
  i = (i < spinner.length - 1) ? i + 1 : 0;
369
494
  }, 1000);
@@ -373,16 +498,16 @@ class LinuxImpulseRunner {
373
498
  if (progressIv) {
374
499
  clearInterval(progressIv);
375
500
  }
376
- console.log(PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
501
+ console.log(TRT_PREFIX, 'Loading model into GPU, this can take several minutes on the first run... ' +
377
502
  'OK (' + totalTime + 'ms.)');
378
503
  if (totalTime > 5000) {
379
504
  // https://stackoverflow.com/questions/20010199/how-to-determine-if-a-process-runs-inside-lxc-docker
380
505
  if (await this.exists('/.dockerenv')) {
381
- console.log(PREFIX, '');
382
- console.log(PREFIX, 'If you run this model in Docker you can cache the GPU-optimized model for faster startup times');
383
- console.log(PREFIX, 'by mounting the', +path_1.default.dirname(this._path), 'directory into the container.');
384
- console.log(PREFIX, 'See https://docs.edgeimpulse.com/docs/run-inference/docker#running-offline');
385
- console.log(PREFIX, '');
506
+ console.log(TRT_PREFIX, '');
507
+ console.log(TRT_PREFIX, 'If you run this model in Docker you can cache the GPU-optimized model for faster startup times');
508
+ console.log(TRT_PREFIX, 'by mounting the', +path_1.default.dirname(this._path), 'directory into the container.');
509
+ console.log(TRT_PREFIX, 'See https://docs.edgeimpulse.com/docs/run-inference/docker#running-offline');
510
+ console.log(TRT_PREFIX, '');
386
511
  }
387
512
  }
388
513
  }
@@ -1 +1 @@
1
- {"version":3,"file":"linux-impulse-runner.js","sourceRoot":"","sources":["../../../library/classifier/linux-impulse-runner.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAoD;AACpD,4CAAoB;AACpB,+BAAoC;AACpC,gDAAwB;AACxB,4CAAoB;AACpB,gDAAwB;AACxB,8CAAsB;AAWtB,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,iEAAQ,CAAA;IACR,qEAAU,CAAA;IACV,+DAAO,CAAA;IACP,2EAAa,CAAA;AACjB,CAAC,EALW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAKhC;AAED,IAAY,4BAcX;AAdD,WAAY,4BAA4B;IACpC,iFAAU,CAAA;IACV,qFAAW,CAAA;IACX,mFAAU,CAAA;IACV,mFAAU,CAAA;IACV,2FAAc,CAAA;IACd,2FAAc,CAAA;IACd,uFAAY,CAAA;IACZ,iFAAS,CAAA;IACT,2FAAc,CAAA;IACd,iFAAS,CAAA;IACT,wFAAa,CAAA;IACb,wFAAa,CAAA;IACb,oFAAW,CAAA;AACf,CAAC,EAdW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAcvC;AAuID,MAAa,kBAAkB;IAY3B;;;OAGG;IACH,YAAY,IAAY;QAZhB,cAAS,GAAG,IAAI,mBAAY,EAGhC,CAAC;QACG,QAAG,GAAG,CAAC,CAAC;QACR,aAAQ,GAAG,KAAK,CAAC;QAQrB,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,SAAkB;QACzB,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3D;QAED,IAAI,QAAQ,GAAG,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/D,yFAAyF;QACzF,IAAI,QAAQ,GAAG,YAAE,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC/B,QAAQ,GAAG,UAAU,CAAC;SACzB;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,QAAQ,EAAE;YACV,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;SAC3B;aACI;YACD,IAAI,OAAO,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACjF,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAE/C,sBAAsB;YACtB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClC,kBAAkB;gBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,yCAAyC;aAC5C;YACD,IAAI,CAAC,OAAO,GAAG,IAAA,qBAAK,EAAC,IAAI,CAAC,KAAK,EAAE,CAAE,UAAU,CAAE,CAAC,CAAC;YAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;aACrC;YAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC;YAEF,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAC5C;YAED,IAAI,QAAmC,CAAC;YAExC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC3B,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,CAAC,EAAE;oBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,GAAG,IAAI,CAAC,CAAC;iBACvE;gBACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aAC5D;YAED,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;gBACjC,IAAI,GAAG,GAAG,gCAAgC,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;gBACvE,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/C,GAAG,IAAI,MAAM;wBACT,8CAA8C;wBAC9C,yHAAyH,CAAC;iBACjI;gBACD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;aACxB;YAED,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAC7C;SACJ;QAED,uBAAuB;QACvB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,OAAO,GAAG,aAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC3B,mCAAmC;YACnC,+CAA+C;YAC/C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC5C,IAAI,IAAI,CAAC,CAAC;gBAEV,IAAI,CAAC,KAAK,GAAG,EAAE;oBACX,UAAU,EAAE,CAAC;iBAChB;qBACI,IAAI,CAAC,KAAK,GAAG,EAAE;oBAChB,YAAY,EAAE,CAAC;oBACf,IAAI,YAAY,KAAK,UAAU,EAAE;wBAC7B,IAAI;4BACA,IAAI,IAAI,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;yBACxC;wBACD,OAAO,GAAG,EAAE;4BACR,IAAI,EAAE,GAAU,GAAG,CAAC;4BACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC7D;wBAED,IAAI,GAAG,EAAE,CAAC;wBACV,YAAY,GAAG,CAAC,CAAC;wBACjB,UAAU,GAAG,CAAC,CAAC;qBAClB;iBACJ;qBACI,IAAI,UAAU,KAAK,CAAC,EAAE;oBACvB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBAC1C;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEpC,UAAU,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,6BAA6B,GAAG,UAAU,CAAC,CAAC;YACvD,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvC,IAAI,SAAS,CAAC,eAAe,CAAC,kBAAkB,KAAK,4BAA4B,CAAC,QAAQ,EAAE;YACxF,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;SAC3D;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QAED,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;oBAC5B,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC/B;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC;aACZ;iBACI;gBACD,OAAO,EAAE,CAAC;aACb;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAc,EAAE,OAAgB;QAC3C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAgD,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAc;QACnC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAA0D;YAChF,mBAAmB,EAAE,IAAI;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAc5B;QACG,IAAI,IAAgC,CAAC;QACrC,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE;YAC5B,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;iBAC3C;aACJ,CAAC,CAAC;SACN;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACtC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,SAAS,EAAE,GAAG,CAAC,SAAS;iBAC3B;aACJ,CAAC,CAAC;SACN;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACrC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAwD;gBAC1E,aAAa,EAAE;oBACX,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,SAAS,EAAE,GAAG,CAAC,SAAS;iBAC3B;aACJ,CAAC,CAAC;SACN;aACI;YACD,MAAM,IAAI,KAAK,CAAC,+DAAkF,GAAI,CAAC,IAAI,IAAI,CAAC,CAAC;SACpH;IACL,CAAC;IAEO,KAAK,CAAC,SAAS;QACnB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAA0C,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,MAAM,GAAyE,SAAS,CAAC;QAC7F,QAAQ,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAClC,KAAK,CAAC,CAAC,CAAC;YACR;gBACI,MAAM,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC9B,KAAK,CAAC;gBACF,MAAM,GAAG,YAAY,CAAC;gBAAC,MAAM;YACjC,KAAK,CAAC;gBACF,MAAM,GAAG,eAAe,CAAC;gBAAC,MAAM;YACpC,KAAK,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC;gBAAC,MAAM;YAC7B,KAAK,CAAC;gBACF,MAAM,GAAG,YAAY,CAAC;gBAAC,MAAM;SACpC;QAED,IAAI,IAAI,GAAqB;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE;SACpE,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,gBAAgB,CAAC;SACtD;QACD,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,KAAK,WAAW,EAAE;YAChE,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,IAAI,CAAsB,GAAM,EAAE,UAAmB;QAEzD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,IAAI,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;YAEvB,MAAM,MAAM,GAAG,CAAC,IAAoB,EAAE,EAAE;gBACpC,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;oBACnB,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;qBACpC;oBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBACtC,OAAO,CAAa,IAAI,CAAC,CAAC;iBAC7B;YACL,CAAC,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAErC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjD,EAAE,EAAE,KAAK;aACZ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAEZ,UAAU,CAAC,GAAG,EAAE;gBACZ,MAAM,CAAC,uBAAuB,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC;YAC7D,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAChB,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;iBACzC;YACL,CAAC,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACnC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,MAAM,CAAC,IAAY;QAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI;YACA,MAAM,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC;SACjB;QACD,OAAO,EAAE,EAAE;YACP,UAAU;SACb;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAA0C;QACtE,MAAM,MAAM,GAAG,sBAAsB,CAAC;QAEtC,MAAM,OAAO,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAE,CAAC;QACxC,IAAI,UAAsC,CAAC;QAC3C,IAAI;YACA,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,4EAA4E;oBAC5F,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;gBAC5B,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,MAAM,IAAI,CAAC,QAAQ,CAAW,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACrF,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEvC,IAAI,UAAU,EAAE;gBACZ,aAAa,CAAC,UAAU,CAAC,CAAC;aAC7B;YAED,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,4EAA4E;gBAC5F,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;YAEjC,IAAI,SAAS,GAAG,IAAI,EAAE;gBAClB,oGAAoG;gBACpG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;oBAClC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gGAAgG,CAAC,CAAC;oBACtH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,+BAA+B,CAAC,CAAC;oBACpG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,4EAA4E,CAAC,CAAC;oBAClG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;iBAC3B;aACJ;SACJ;QACD,OAAO,GAAG,EAAE;YACR,MAAM,EAAE,GAAU,GAAG,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC;YAClD,MAAM,EAAE,CAAC;SACZ;gBACO;YACJ,IAAI,UAAU,EAAE;gBACZ,aAAa,CAAC,UAAU,CAAC,CAAC;aAC7B;SACJ;IACL,CAAC;CACJ;AAvbD,gDAubC"}
1
+ {"version":3,"file":"linux-impulse-runner.js","sourceRoot":"","sources":["../../../library/classifier/linux-impulse-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const VALGRIND_SUPPRESSION_FILE: string;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /* eslint-disable @stylistic/max-len */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.VALGRIND_SUPPRESSION_FILE = void 0;
5
+ // SoftmaxInt8LUT uses uninitialized memory - suppress this error
6
+ // [0-0] ==389== Use of uninitialised value of size 8
7
+ // [0-0] ==389== at 0x452A58: void tflite::optimized_ops::SoftmaxInt8LUT<signed char, signed char>(tflite::SoftmaxParams const&, tflite::RuntimeShape const&, signed char const*, tflite::RuntimeShape const&, signed char*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
8
+ // [0-0] ==389== by 0x4504DB: TfLiteStatus tflite::ops::builtin::activations::SoftmaxQuantized<signed char, signed char>(TfLiteContext*, TfLiteTensor const*, TfLiteTensor*, tflite::ops::builtin::activations::SoftmaxOpData*, tflite::ops::builtin::activations::KernelType) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
9
+ // [0-0] ==389== by 0x45A9D3: TfLiteStatus tflite::ops::builtin::activations::SoftmaxEval<(tflite::ops::builtin::activations::KernelType)1>(TfLiteContext*, TfLiteNode*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
10
+ // [0-0] ==389== by 0x44A263: tflite::Subgraph::InvokeImpl() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
11
+ // [0-0] ==389== by 0x449C73: tflite::Subgraph::Invoke() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
12
+ // [0-0] ==389== by 0x42AB4B: tflite::impl::Interpreter::Invoke() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
13
+ // [0-0] ==389== by 0x405C87: run_nn_inference(ei_impulse const*, ei_feature_t*, unsigned int, unsigned int*, unsigned int, ei_impulse_result_t*, void*, bool) (tflite_full.h:224)
14
+ // [0-0] ==389== by 0x406BDB: run_inference (ei_run_classifier.h:218)
15
+ // [0-0] ==389== by 0x40700F: process_impulse (ei_run_classifier.h:422)
16
+ // [0-0] ==389== by 0x40AC8F: run_classifier (ei_run_classifier.h:1036)
17
+ // [0-0] ==389== by 0x40AC8F: json_message_handler(rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>&, char*, unsigned long, unsigned long, unsigned long) (main.cpp:397)
18
+ // [0-0] ==389== by 0x40F3E7: socket_main(char*) (main.cpp:707)
19
+ // [0-0] ==389== by 0x4C06E0F: (below main) (libc-start.c:308)
20
+ // [0-0] ==389== Uninitialised value was created by a heap allocation
21
+ // [0-0] ==389== at 0x484C644: memalign (in /usr/lib/aarch64-linux-gnu/valgrind/vgpreload_memcheck-arm64-linux.so)
22
+ // [0-0] ==389== by 0x6917A3: tflite::SimpleMemoryArena::Commit(bool*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
23
+ // [0-0] ==389== by 0x689FAB: tflite::ArenaPlanner::ExecuteAllocations(int, int) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
24
+ // [0-0] ==389== by 0x4484C3: tflite::Subgraph::PrepareOpsAndTensors() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
25
+ // [0-0] ==389== by 0x447DB7: tflite::Subgraph::AllocateTensors() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
26
+ // [0-0] ==389== by 0x44B703: tflite::Subgraph::ModifyGraphWithDelegateImpl(TfLiteDelegate*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
27
+ // [0-0] ==389== by 0x44BCEF: tflite::Subgraph::ModifyGraphWithDelegate(TfLiteDelegate*) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
28
+ // [0-0] ==389== by 0x42C273: TfLiteStatus tflite::impl::Interpreter::ModifyGraphWithDelegateImpl<TfLiteDelegate, void (*)(TfLiteDelegate*)>(std::unique_ptr<TfLiteDelegate, void (*)(TfLiteDelegate*)>&&) (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
29
+ // [0-0] ==389== by 0x42A8EB: tflite::impl::Interpreter::ApplyLazyDelegateProviders() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
30
+ // [0-0] ==389== by 0x42A7EB: tflite::impl::Interpreter::AllocateTensors() (in /app/selenium-tests/builds/runner-linux-aarch64-gestures-gmm-false-int8.eim)
31
+ // [0-0] ==389== by 0x40668F: get_interpreter(ei_learning_block_config_tflite_graph_t*, tflite::impl::Interpreter**) (tflite_full.h:107)
32
+ // [0-0] ==389== by 0x405B9B: run_nn_inference(ei_impulse const*, ei_feature_t*, unsigned int, unsigned int*, unsigned int, ei_impulse_result_t*, void*, bool) (tflite_full.h:186)
33
+ const SOFTMAX_INT8_LUT_SUPPRESSION = `
34
+ {
35
+ aarch64_softmax_i8_suppression
36
+ Memcheck:Value8
37
+ fun:_ZN6tflite13optimized_ops14SoftmaxInt8LUTIaaEEvRKNS_13SoftmaxParamsERKNS_12RuntimeShapeEPKT_S7_PT0_
38
+ fun:_ZN6tflite3ops7builtin11activations16SoftmaxQuantizedIaaEE12TfLiteStatusP13TfLiteContextPK12TfLiteTensorPS7_PNS2_13SoftmaxOpDataENS2_10KernelTypeE
39
+ fun:_ZN6tflite3ops7builtin11activations11SoftmaxEvalILNS2_10KernelTypeE1EEE12TfLiteStatusP13TfLiteContextP10TfLiteNode
40
+ fun:_ZN6tflite8Subgraph10InvokeImplEv
41
+ fun:_ZN6tflite8Subgraph6InvokeEv
42
+ fun:_ZN6tflite4impl11Interpreter6InvokeEv
43
+ fun:_Z16run_nn_inferencePK10ei_impulseP12ei_feature_tjPjjP19ei_impulse_result_tPvb
44
+ fun:run_inference
45
+ ...
46
+ }
47
+ {
48
+ x86_softmax_i8_suppression
49
+ Memcheck:Value8
50
+ fun:_ZN6tflite13optimized_ops7SoftmaxIaaEEvRKNS_13SoftmaxParamsERKNS_12RuntimeShapeEPKT_S7_PT0_
51
+ fun:_ZN6tflite3ops7builtin11activations16SoftmaxQuantizedIaaEE12TfLiteStatusP13TfLiteContextPK12TfLiteTensorPS7_PNS2_13SoftmaxOpDataENS2_10KernelTypeE
52
+ fun:_ZN6tflite3ops7builtin11activations11SoftmaxEvalILNS2_10KernelTypeE1EEE12TfLiteStatusP13TfLiteContextP10TfLiteNode
53
+ fun:_ZN6tflite8Subgraph10InvokeImplEv
54
+ fun:_ZN6tflite8Subgraph6InvokeEv
55
+ fun:_ZN6tflite4impl11Interpreter6InvokeEv
56
+ fun:_Z16run_nn_inferencePK10ei_impulseP12ei_feature_tjPjjP19ei_impulse_result_tPvb
57
+ fun:run_inference
58
+ ...
59
+ }
60
+ `;
61
+ exports.VALGRIND_SUPPRESSION_FILE = [
62
+ SOFTMAX_INT8_LUT_SUPPRESSION,
63
+ ].join('\n');
64
+ //# sourceMappingURL=valgrind-suppression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valgrind-suppression.js","sourceRoot":"","sources":["../../../library/classifier/valgrind-suppression.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;AAEvC,iEAAiE;AACjE,qDAAqD;AACrD,gTAAgT;AAChT,kWAAkW;AAClW,4PAA4P;AAC5P,gJAAgJ;AAChJ,4IAA4I;AAC5I,qJAAqJ;AACrJ,qLAAqL;AACrL,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,8PAA8P;AAC9P,kEAAkE;AAClE,iEAAiE;AACjE,sEAAsE;AACtE,qHAAqH;AACrH,0JAA0J;AAC1J,oKAAoK;AACpK,0JAA0J;AAC1J,qJAAqJ;AACrJ,gLAAgL;AAChL,4KAA4K;AAC5K,8RAA8R;AAC9R,yKAAyK;AACzK,8JAA8J;AAC9J,2IAA2I;AAC3I,qLAAqL;AACrL,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpC,CAAC;AAEW,QAAA,yBAAyB,GAAG;IACtC,4BAA4B;CAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { RunnerClassifyResponseSuccess } from "./classifier/linux-impulse-runner";
1
+ import { RunnerClassifyResponseSuccess } from "./classifier/linux-impulse-runner-types";
2
2
  export declare class MovingAverageFilter {
3
3
  private _filterSize;
4
4
  private _state;
@@ -12,14 +12,17 @@ type GStreamerCap = {
12
12
  export type GStreamerMode = 'default' | 'rpi' | 'microchip';
13
13
  export declare class GStreamer extends EventEmitter<{
14
14
  snapshot: (buffer: Buffer, filename: string) => void;
15
+ snapshotForInference: (buffer: Buffer, filename: string) => void;
15
16
  error: (message: string) => void;
17
+ profilingInfo: (ts: Date, name: string) => void;
16
18
  }> implements ICamera {
17
19
  private _captureProcess?;
18
20
  private _tempDir?;
19
21
  private _watcher?;
22
+ private _originalFilesSeen;
20
23
  private _handledFiles;
21
24
  private _verbose;
22
- private _lastHash;
25
+ private _lastFile;
23
26
  private _processing;
24
27
  private _lastOptions?;
25
28
  private _mode;
@@ -29,12 +32,14 @@ export declare class GStreamer extends EventEmitter<{
29
32
  private _isRestarting;
30
33
  private _spawnHelper;
31
34
  private _customLaunchCommand;
32
- private _scaleAndCropInPipeline;
35
+ private _profiling;
36
+ private _emitsOriginalSizeImages;
33
37
  constructor(verbose: boolean, options?: {
34
38
  spawnHelperOverride?: SpawnHelperType;
35
39
  customLaunchCommand?: string;
36
40
  modeOverride?: GStreamerMode;
37
- scaleAndCropInPipeline?: boolean;
41
+ profiling?: boolean;
42
+ dontRunCleanupLoop?: boolean;
38
43
  });
39
44
  init(): Promise<void>;
40
45
  listDevices(): Promise<string[]>;
@@ -48,9 +53,8 @@ export declare class GStreamer extends EventEmitter<{
48
53
  width: number;
49
54
  height: number;
50
55
  }, inferenceDims: ICameraInferenceDimensions | undefined): Promise<{
51
- invokeProcess: string;
52
56
  command: string;
53
- args: string[];
57
+ pipeline: string;
54
58
  }>;
55
59
  stop(): Promise<void>;
56
60
  getAllDevices(): Promise<{
@@ -80,5 +84,8 @@ export declare class GStreamer extends EventEmitter<{
80
84
  } | {
81
85
  type: 'none';
82
86
  };
87
+ private startOriginalCleanupLoop;
88
+ private wait;
89
+ private safeUnlinkFile;
83
90
  }
84
91
  export {};