@golemio/pid 2.11.2-dev.1136470067 → 2.11.2-dev.1136858513

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.
@@ -41,9 +41,9 @@ const moment_timezone_1 = __importDefault(require("moment-timezone"));
41
41
  const const_1 = require("../../../../../const");
42
42
  const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
43
43
  const DPPUtils_1 = __importDefault(require("./DPPUtils"));
44
- const PositionCalculator_1 = __importDefault(require("./PositionCalculator"));
45
44
  const PositionHandlerEnum_1 = require("./PositionHandlerEnum");
46
45
  const ValidToCalculator_1 = __importDefault(require("./ValidToCalculator"));
46
+ const AnchorPointSegmenter_1 = require("./anchor-points/AnchorPointSegmenter");
47
47
  const ComputeDelayHelper_1 = __importDefault(require("./compute-positions/ComputeDelayHelper"));
48
48
  const ONE_DAY_IN_SECONDS = 24 * 60 * 60;
49
49
  const ONE_HOUR_IN_SECONDS = 60 * 60;
@@ -188,7 +188,7 @@ PositionsManager.updatePositions = (options, schedule) => __awaiter(void 0, void
188
188
  this_stop_id: position.this_stop_id,
189
189
  tcp_event: position.tcp_event,
190
190
  });
191
- positionToUpdate = yield _a.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp, tripPositions.gtfs_route_type);
191
+ positionToUpdate = _a.getEstimatedPoint(tripPositions.gtfsData, currentPosition, context, startDayTimestamp, tripPositions.gtfs_route_type);
192
192
  if (positionToUpdate.state_position !== const_1.StatePositionEnum.MISMATCHED) {
193
193
  positionToUpdate = ComputeDelayHelper_1.default.updatePositionToUpdate(context, positionToUpdate, position, gtfsRouteType);
194
194
  }
@@ -353,22 +353,22 @@ PositionsManager.setPositionUpdateHandler = (position) => {
353
353
  * @param {number} startDayTimestamp - Unix timestamp of midnight before trip starts
354
354
  * @returns {IPositionToUpdate} - Position object to update
355
355
  */
356
- PositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, startDayTimestamp, gtfsRouteType) => __awaiter(void 0, void 0, void 0, function* () {
357
- var _j, _k, _l, _m, _o, _p, _q, _r;
358
- const positionCalculator = new PositionCalculator_1.default(currentPosition);
356
+ PositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, startDayTimestamp, gtfsRouteType) => {
357
+ var _b, _c, _d, _e, _f, _g, _h, _j;
358
+ const anchorPointSegmenter = new AnchorPointSegmenter_1.AnchorPointSegmenter(tripGtfsData.shapes_anchor_points, currentPosition);
359
359
  const defaultStatePosition = const_1.StatePositionEnum.OFF_TRACK;
360
360
  // Initial value
361
361
  let estimatedPoint = Object.assign({ id: currentPosition.properties.id, state_position: defaultStatePosition, state_process: const_1.StateProcessEnum.PROCESSED, tcp_event: currentPosition.properties.tcp_event, valid_to: ValidToCalculator_1.default.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp) }, (context &&
362
- ((_j = context.lastPositionTracking) === null || _j === void 0 ? void 0 : _j.properties.last_stop_sequence) && {
363
- shape_dist_traveled: (_k = context.lastPositionTracking) === null || _k === void 0 ? void 0 : _k.properties.shape_dist_traveled,
364
- last_stop_arrival_time: ((_l = context.lastPositionTracking) === null || _l === void 0 ? void 0 : _l.properties.last_stop_arrival_time)
365
- ? new Date((_m = context.lastPositionTracking) === null || _m === void 0 ? void 0 : _m.properties.last_stop_arrival_time)
362
+ ((_b = context.lastPositionTracking) === null || _b === void 0 ? void 0 : _b.properties.last_stop_sequence) && {
363
+ shape_dist_traveled: (_c = context.lastPositionTracking) === null || _c === void 0 ? void 0 : _c.properties.shape_dist_traveled,
364
+ last_stop_arrival_time: ((_d = context.lastPositionTracking) === null || _d === void 0 ? void 0 : _d.properties.last_stop_arrival_time)
365
+ ? new Date((_e = context.lastPositionTracking) === null || _e === void 0 ? void 0 : _e.properties.last_stop_arrival_time)
366
366
  : undefined,
367
- last_stop_departure_time: ((_o = context.lastPositionTracking) === null || _o === void 0 ? void 0 : _o.properties.last_stop_departure_time)
368
- ? new Date((_p = context.lastPositionTracking) === null || _p === void 0 ? void 0 : _p.properties.last_stop_departure_time)
367
+ last_stop_departure_time: ((_f = context.lastPositionTracking) === null || _f === void 0 ? void 0 : _f.properties.last_stop_departure_time)
368
+ ? new Date((_g = context.lastPositionTracking) === null || _g === void 0 ? void 0 : _g.properties.last_stop_departure_time)
369
369
  : undefined,
370
- last_stop_sequence: (_q = context.lastPositionTracking) === null || _q === void 0 ? void 0 : _q.properties.last_stop_sequence,
371
- last_stop_id: (_r = context.lastPositionTracking) === null || _r === void 0 ? void 0 : _r.properties.last_stop_id,
370
+ last_stop_sequence: (_h = context.lastPositionTracking) === null || _h === void 0 ? void 0 : _h.properties.last_stop_sequence,
371
+ last_stop_id: (_j = context.lastPositionTracking) === null || _j === void 0 ? void 0 : _j.properties.last_stop_id,
372
372
  }));
373
373
  let lastStopSequence = null;
374
374
  if ((context === null || context === void 0 ? void 0 : context.lastPositionState) === const_1.StatePositionEnum.BEFORE_TRACK) {
@@ -377,18 +377,12 @@ PositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, st
377
377
  else if (context === null || context === void 0 ? void 0 : context.lastPositionTracking) {
378
378
  lastStopSequence = context.lastPositionTracking.properties.last_stop_sequence;
379
379
  }
380
- // returns array of segments (row of points) of shape anchor points around gps
381
- const ptsInRadius = positionCalculator.getShapePointsAroundPosition(tripGtfsData.shapes_anchor_points, lastStopSequence);
382
- if (ptsInRadius.length < 1) {
380
+ const closesPoint = anchorPointSegmenter.getClosesPoint(lastStopSequence);
381
+ if (!closesPoint) {
383
382
  return estimatedPoint;
384
383
  }
385
- const closestPts = positionCalculator.getClosestPoints(ptsInRadius);
386
- if (closestPts.length < 1) {
387
- return estimatedPoint;
388
- }
389
- // decide which point is the best
390
- return _a.getClosestPoint(currentPosition, context, startDayTimestamp, closestPts, tripGtfsData, gtfsRouteType);
391
- });
384
+ return _a.getClosestPoint(currentPosition, context, startDayTimestamp, closesPoint, tripGtfsData, gtfsRouteType);
385
+ };
392
386
  /**
393
387
  * Picks only one closest point for multiple possible points based on delay of last position and stop times
394
388
  *
@@ -399,117 +393,94 @@ PositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, st
399
393
  * @param {IComputationTrip} tripGtfsData - GTFS data and all set of known positions
400
394
  * @returns {IPositionToUpdate} - Result point as position to update in DB
401
395
  */
402
- PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp, closestPts, tripGtfsData, gtfsRouteType) => __awaiter(void 0, void 0, void 0, function* () {
396
+ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp, thisClosestPoint, tripGtfsData, gtfsRouteType) => {
403
397
  // want to find minimum difference of our prediction, where the bus should be
404
- let minTimeRealDiff = Infinity;
405
398
  const tripShapePoints = tripGtfsData.shapes_anchor_points;
406
399
  const tripStopTimes = tripGtfsData.stop_times;
407
400
  const firstTripShapePoint = tripShapePoints[0];
408
401
  const lastTripShapePoint = tripShapePoints[tripShapePoints.length - 1];
409
- const closestPtsIterator = (i, prevTimeDelay, estimatedPoint, cb) => {
410
- // end of iteration
411
- if (closestPts.length === i) {
412
- return cb(estimatedPoint);
402
+ const timeScheduledTimestamp = _a.getLocalTimeToDateObject(startDayTimestamp,
403
+ // take stop arrival time if is point at stop
404
+ thisClosestPoint.this_stop_sequence
405
+ ? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
406
+ : thisClosestPoint.time_scheduled_seconds);
407
+ let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
408
+ const isBusOrTram = gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.BUS ||
409
+ gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS ||
410
+ gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM;
411
+ // push trip into nearest at_stop shape anchor point if trip "P" event (TCP tram or bus)
412
+ if (isBusOrTram &&
413
+ currentPosition.properties.tcp_event === const_1.TCPEventEnum.ARRIVAL_ANNOUNCED &&
414
+ thisClosestPoint.this_stop_sequence === null) {
415
+ if (thisClosestPoint.last_stop_sequence === 1 && !(context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
416
+ thisClosestPoint = firstTripShapePoint;
413
417
  }
414
- let thisClosestPoint = closestPts[i];
415
- const timeScheduledTimestamp = _a.getLocalTimeToDateObject(startDayTimestamp,
416
- // take stop arrival time if is point at stop
417
- thisClosestPoint.this_stop_sequence
418
- ? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
419
- : thisClosestPoint.time_scheduled_seconds);
420
- let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
421
- // time where the bus should on this point
422
- const timeProposed = thisClosestPoint.time_scheduled_seconds + prevTimeDelay;
423
- // difference
424
- const timeRealDiff = thisClosestPoint.time_scheduled_seconds + timeDelayInSeconds - timeProposed;
425
- // we look for the best fitting point
426
- if (Math.abs(timeRealDiff) < Math.abs(minTimeRealDiff)) {
427
- const isBusOrTram = gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.BUS ||
428
- gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS ||
429
- gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.TRAM;
430
- minTimeRealDiff = timeRealDiff;
431
- // push trip into nearest at_stop shape anchor point if trip "P" event (TCP tram or bus)
432
- if (isBusOrTram &&
433
- currentPosition.properties.tcp_event === const_1.TCPEventEnum.ARRIVAL_ANNOUNCED &&
434
- thisClosestPoint.this_stop_sequence === null) {
435
- if (thisClosestPoint.last_stop_sequence === 1 && !(context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
436
- thisClosestPoint = firstTripShapePoint;
437
- }
438
- else {
439
- let movingShapePointIndex = thisClosestPoint.index;
440
- while (thisClosestPoint.this_stop_sequence === null && movingShapePointIndex < lastTripShapePoint.index) {
441
- movingShapePointIndex++;
442
- thisClosestPoint = tripShapePoints[movingShapePointIndex];
443
- }
444
- }
445
- }
446
- // lets correct delay if it is at stop
447
- if (thisClosestPoint.this_stop_sequence) {
448
- const thisStopSequence = thisClosestPoint.this_stop_sequence;
449
- timeDelayInSeconds = _a.getCorrectedTimeDelay(timeDelayInSeconds, context, currentPosition, thisStopSequence, {
450
- departureTime: tripStopTimes[thisStopSequence - 1].departure_time_seconds,
451
- arrivalTime: tripStopTimes[thisStopSequence - 1].arrival_time_seconds,
452
- });
453
- // delay can not be negative if the vehicle is at the first stop
454
- if (thisStopSequence === firstTripShapePoint.this_stop_sequence) {
455
- timeDelayInSeconds = Math.max(timeDelayInSeconds, 0);
456
- }
457
- }
458
- let { statePosition, thisStopSequence, lastStopSequence, nextStopSequence } = PositionsManager.getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, currentPosition.properties, context);
459
- // test if TCP trip with DEPARTURED event should not be at stop (not applied for last stop)
460
- if (currentPosition.properties.tcp_event === const_1.TCPEventEnum.DEPARTURED &&
461
- thisStopSequence !== lastTripShapePoint.this_stop_sequence) {
462
- statePosition = const_1.StatePositionEnum.ON_TRACK;
418
+ else {
419
+ let movingShapePointIndex = thisClosestPoint.index;
420
+ while (thisClosestPoint.this_stop_sequence === null && movingShapePointIndex < lastTripShapePoint.index) {
421
+ movingShapePointIndex++;
422
+ thisClosestPoint = tripShapePoints[movingShapePointIndex];
463
423
  }
464
- if (isBusOrTram && PositionsManager.isAfterTrack(lastStopSequence, lastTripShapePoint)) {
465
- statePosition = const_1.StatePositionEnum.AFTER_TRACK;
466
- thisStopSequence = lastTripShapePoint.this_stop_sequence;
467
- lastStopSequence = lastTripShapePoint.last_stop_sequence;
468
- nextStopSequence = lastTripShapePoint.next_stop_sequence;
469
- timeDelayInSeconds = 0;
470
- }
471
- // save it for result
472
- estimatedPoint = {
473
- id: currentPosition.properties.id,
474
- bearing: thisClosestPoint.bearing,
475
- shape_dist_traveled: Math.round(thisClosestPoint.shape_dist_traveled * 1000) / 1000,
476
- next_stop_id: tripStopTimes[nextStopSequence - 1].stop_id,
477
- last_stop_id: tripStopTimes[lastStopSequence - 1].stop_id,
478
- next_stop_name: tripStopTimes[nextStopSequence - 1].stop.stop_name,
479
- last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
480
- next_stop_sequence: nextStopSequence,
481
- last_stop_sequence: lastStopSequence,
482
- next_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].arrival_time_seconds),
483
- last_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].arrival_time_seconds),
484
- next_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].departure_time_seconds),
485
- last_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].departure_time_seconds),
486
- delay: timeDelayInSeconds,
487
- this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
488
- thisStopSequence &&
489
- tripStopTimes[thisStopSequence - 1].stop_id) ||
490
- undefined,
491
- this_stop_name: (statePosition === const_1.StatePositionEnum.AT_STOP &&
492
- thisStopSequence &&
493
- tripStopTimes[thisStopSequence - 1].stop.stop_name) ||
494
- undefined,
495
- this_stop_sequence: (statePosition === const_1.StatePositionEnum.AT_STOP && thisStopSequence) || undefined,
496
- last_stop_headsign: tripStopTimes[lastStopSequence - 1].stop_headsign || undefined,
497
- state_position: statePosition,
498
- state_process: const_1.StateProcessEnum.PROCESSED,
499
- valid_to: ValidToCalculator_1.default.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp),
500
- is_tracked: statePosition !== const_1.StatePositionEnum.AFTER_TRACK && statePosition !== const_1.StatePositionEnum.MISMATCHED,
501
- };
502
424
  }
503
- // next step
504
- closestPtsIterator(i + 1, prevTimeDelay, estimatedPoint, cb);
505
- };
506
- return new Promise((resolve) => {
507
- var _b, _c;
508
- closestPtsIterator(0, (_c = (_b = context === null || context === void 0 ? void 0 : context.lastPositionTracking) === null || _b === void 0 ? void 0 : _b.properties.delay) !== null && _c !== void 0 ? _c : 0, null, (estimatedPoint) => {
509
- resolve(estimatedPoint);
425
+ }
426
+ // lets correct delay if it is at stop
427
+ if (thisClosestPoint.this_stop_sequence) {
428
+ const thisStopSequence = thisClosestPoint.this_stop_sequence;
429
+ timeDelayInSeconds = _a.getCorrectedTimeDelay(timeDelayInSeconds, context, currentPosition, thisStopSequence, {
430
+ departureTime: tripStopTimes[thisStopSequence - 1].departure_time_seconds,
431
+ arrivalTime: tripStopTimes[thisStopSequence - 1].arrival_time_seconds,
510
432
  });
511
- });
512
- });
433
+ // delay can not be negative if the vehicle is at the first stop
434
+ if (thisStopSequence === firstTripShapePoint.this_stop_sequence) {
435
+ timeDelayInSeconds = Math.max(timeDelayInSeconds, 0);
436
+ }
437
+ }
438
+ let { statePosition, thisStopSequence, lastStopSequence, nextStopSequence } = PositionsManager.getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, currentPosition.properties, context);
439
+ // test if TCP trip with DEPARTURED event should not be at stop (not applied for last stop)
440
+ if (currentPosition.properties.tcp_event === const_1.TCPEventEnum.DEPARTURED &&
441
+ thisStopSequence !== lastTripShapePoint.this_stop_sequence) {
442
+ statePosition = const_1.StatePositionEnum.ON_TRACK;
443
+ }
444
+ if (isBusOrTram && PositionsManager.isAfterTrack(lastStopSequence, lastTripShapePoint)) {
445
+ statePosition = const_1.StatePositionEnum.AFTER_TRACK;
446
+ thisStopSequence = lastTripShapePoint.this_stop_sequence;
447
+ lastStopSequence = lastTripShapePoint.last_stop_sequence;
448
+ nextStopSequence = lastTripShapePoint.next_stop_sequence;
449
+ timeDelayInSeconds = 0;
450
+ }
451
+ // save it for result
452
+ const estimatedPoint = {
453
+ id: currentPosition.properties.id,
454
+ bearing: thisClosestPoint.bearing,
455
+ shape_dist_traveled: Math.round(thisClosestPoint.shape_dist_traveled * 1000) / 1000,
456
+ next_stop_id: tripStopTimes[nextStopSequence - 1].stop_id,
457
+ last_stop_id: tripStopTimes[lastStopSequence - 1].stop_id,
458
+ next_stop_name: tripStopTimes[nextStopSequence - 1].stop.stop_name,
459
+ last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
460
+ next_stop_sequence: nextStopSequence,
461
+ last_stop_sequence: lastStopSequence,
462
+ next_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].arrival_time_seconds),
463
+ last_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].arrival_time_seconds),
464
+ next_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].departure_time_seconds),
465
+ last_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].departure_time_seconds),
466
+ delay: timeDelayInSeconds,
467
+ this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
468
+ thisStopSequence &&
469
+ tripStopTimes[thisStopSequence - 1].stop_id) ||
470
+ undefined,
471
+ this_stop_name: (statePosition === const_1.StatePositionEnum.AT_STOP &&
472
+ thisStopSequence &&
473
+ tripStopTimes[thisStopSequence - 1].stop.stop_name) ||
474
+ undefined,
475
+ this_stop_sequence: (statePosition === const_1.StatePositionEnum.AT_STOP && thisStopSequence) || undefined,
476
+ last_stop_headsign: tripStopTimes[lastStopSequence - 1].stop_headsign || undefined,
477
+ state_position: statePosition,
478
+ state_process: const_1.StateProcessEnum.PROCESSED,
479
+ valid_to: ValidToCalculator_1.default.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp),
480
+ is_tracked: statePosition !== const_1.StatePositionEnum.AFTER_TRACK && statePosition !== const_1.StatePositionEnum.MISMATCHED,
481
+ };
482
+ return estimatedPoint;
483
+ };
513
484
  /**
514
485
  * Returns date object for stop time
515
486
  * + given by start of day when trip starts
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,16 @@ export declare class AnchorPointSegmenter {
6
6
  private anchorPointSegments;
7
7
  private currentPosition;
8
8
  constructor(anchorPoints: IShapeAnchorPoint[], currentPosition: Feature<Point, ICurrentPositionProperties>);
9
+ /**
10
+ * Returns closest anchor point to current position
11
+ * if lastStopSequence is provided, only anchor points from that segment are considered
12
+ */
13
+ getClosesPoint(lastStopSequence: number | null): IShapeAnchorPoint | null;
9
14
  /**
10
15
  * Returns all anchor points in radius of current position
11
16
  * if lastStopSequence is provided, only anchor points from that segment are returned
12
17
  */
13
- getAnchorPointsInRadius(lastStopSequence: number | null): IShapeAnchorPoint[][];
18
+ private getAnchorPointsInRadius;
14
19
  /** Divides anchor points into segments by last stop sequence and this stop sequence if at stop */
15
20
  private computeAnchorPointSegments;
16
21
  private getSegment;
@@ -14,6 +14,26 @@ class AnchorPointSegmenter {
14
14
  this.anchorPointSegments = this.computeAnchorPointSegments(anchorPoints);
15
15
  this.currentPosition = currentPosition;
16
16
  }
17
+ /**
18
+ * Returns closest anchor point to current position
19
+ * if lastStopSequence is provided, only anchor points from that segment are considered
20
+ */
21
+ getClosesPoint(lastStopSequence) {
22
+ const ptsInRadius = this.getAnchorPointsInRadius(lastStopSequence);
23
+ if (ptsInRadius.length === 0) {
24
+ return null;
25
+ }
26
+ let closestPoint = null;
27
+ let closestDistance = Infinity;
28
+ for (const point of ptsInRadius) {
29
+ const distance = this.geoHelper.getDistanceInKilometers(this.currentPosition.geometry.coordinates, point.coordinates);
30
+ if (distance < closestDistance) {
31
+ closestPoint = point;
32
+ closestDistance = distance;
33
+ }
34
+ }
35
+ return closestPoint;
36
+ }
17
37
  /**
18
38
  * Returns all anchor points in radius of current position
19
39
  * if lastStopSequence is provided, only anchor points from that segment are returned
@@ -25,28 +45,18 @@ class AnchorPointSegmenter {
25
45
  const radiusInKm = lastStopSequence ? SEGMENTED_POSITION_RADIUS_IN_KM : DEFAULT_POSITION_RADIUS_IN_KM;
26
46
  const boundingBox = this.geoHelper.getBufferedBBoxInKilometers(positionCoordinates, radiusInKm);
27
47
  let ptsInRadius = [];
28
- let ptsIndex = 0;
29
48
  for (const anchorPoint of anchorPoints) {
30
49
  // Ignore anchor points outside bbox to avoid unnecessary distance calculations
31
50
  if (!this.geoHelper.isPointInBBox(anchorPoint.coordinates, boundingBox)) {
32
- if (ptsInRadius[ptsIndex] !== undefined) {
33
- ptsIndex++;
34
- }
35
51
  continue;
36
52
  }
37
53
  const distanceInKm = this.geoHelper.getDistanceInKilometers(anchorPoint.coordinates, positionCoordinates);
38
54
  // Ignore anchor points on the periphery of the bbox
39
55
  // in addition, from now push to the next segment due to possible overlap of shapes (handled later)
40
56
  if (distanceInKm > radiusInKm) {
41
- if (ptsInRadius[ptsIndex] !== undefined) {
42
- ptsIndex++;
43
- }
44
57
  continue;
45
58
  }
46
- if (ptsInRadius[ptsIndex] === undefined) {
47
- ptsInRadius[ptsIndex] = [];
48
- }
49
- ptsInRadius[ptsIndex].push(anchorPoint);
59
+ ptsInRadius.push(anchorPoint);
50
60
  }
51
61
  // Edge case - if no points found, try again with all points
52
62
  // (vehicle may be too far ahead - e.g. when the vehicle/data provider stopped sending data for a while)
@@ -1 +1 @@
1
- {"version":3,"file":"AnchorPointSegmenter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnchorPointSegmenter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/anchor-points/AnchorPointSegmenter.ts"],"names":[],"mappings":"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"}
@@ -40,9 +40,9 @@ exports.RegionalBusPositionsManager = void 0;
40
40
  const turf = __importStar(require("@turf/turf"));
41
41
  const moment_timezone_1 = __importDefault(require("moment-timezone"));
42
42
  const const_1 = require("../../../../../../const");
43
- const PositionCalculator_1 = __importDefault(require("../PositionCalculator"));
44
43
  const PositionHandlerEnum_1 = require("../PositionHandlerEnum");
45
44
  const ValidToCalculator_1 = __importDefault(require("../ValidToCalculator"));
45
+ const AnchorPointSegmenter_1 = require("../anchor-points/AnchorPointSegmenter");
46
46
  const RegionalBusComputeDelayHelper_1 = require("./compute-positions/RegionalBusComputeDelayHelper");
47
47
  class RegionalBusPositionsManager {
48
48
  }
@@ -228,22 +228,22 @@ RegionalBusPositionsManager.setPositionUpdateHandler = (position) => {
228
228
  * @param {number} startDayTimestamp - Unix timestamp of midnight before trip starts
229
229
  * @returns {IPositionToUpdate} - Position object to update
230
230
  */
231
- RegionalBusPositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, startDayTimestamp) => __awaiter(void 0, void 0, void 0, function* () {
232
- var _g, _h, _j, _k, _l, _m, _o, _p;
233
- const positionCalculator = new PositionCalculator_1.default(currentPosition);
231
+ RegionalBusPositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition, context, startDayTimestamp) => {
232
+ var _b, _c, _d, _e, _f, _g, _h, _j;
233
+ const anchorPointSegmenter = new AnchorPointSegmenter_1.AnchorPointSegmenter(tripGtfsData.shapes_anchor_points, currentPosition);
234
234
  const defaultStatePosition = const_1.StatePositionEnum.OFF_TRACK;
235
235
  // Initial value
236
236
  let estimatedPoint = Object.assign({ id: currentPosition.properties.id, state_position: defaultStatePosition, state_process: const_1.StateProcessEnum.PROCESSED, tcp_event: currentPosition.properties.tcp_event, valid_to: ValidToCalculator_1.default.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp) }, (context &&
237
- ((_g = context.lastPositionTracking) === null || _g === void 0 ? void 0 : _g.properties.last_stop_sequence) && {
238
- shape_dist_traveled: (_h = context.lastPositionTracking) === null || _h === void 0 ? void 0 : _h.properties.shape_dist_traveled,
239
- last_stop_arrival_time: ((_j = context.lastPositionTracking) === null || _j === void 0 ? void 0 : _j.properties.last_stop_arrival_time)
240
- ? new Date((_k = context.lastPositionTracking) === null || _k === void 0 ? void 0 : _k.properties.last_stop_arrival_time)
237
+ ((_b = context.lastPositionTracking) === null || _b === void 0 ? void 0 : _b.properties.last_stop_sequence) && {
238
+ shape_dist_traveled: (_c = context.lastPositionTracking) === null || _c === void 0 ? void 0 : _c.properties.shape_dist_traveled,
239
+ last_stop_arrival_time: ((_d = context.lastPositionTracking) === null || _d === void 0 ? void 0 : _d.properties.last_stop_arrival_time)
240
+ ? new Date((_e = context.lastPositionTracking) === null || _e === void 0 ? void 0 : _e.properties.last_stop_arrival_time)
241
241
  : undefined,
242
- last_stop_departure_time: ((_l = context.lastPositionTracking) === null || _l === void 0 ? void 0 : _l.properties.last_stop_departure_time)
243
- ? new Date((_m = context.lastPositionTracking) === null || _m === void 0 ? void 0 : _m.properties.last_stop_departure_time)
242
+ last_stop_departure_time: ((_f = context.lastPositionTracking) === null || _f === void 0 ? void 0 : _f.properties.last_stop_departure_time)
243
+ ? new Date((_g = context.lastPositionTracking) === null || _g === void 0 ? void 0 : _g.properties.last_stop_departure_time)
244
244
  : undefined,
245
- last_stop_sequence: (_o = context.lastPositionTracking) === null || _o === void 0 ? void 0 : _o.properties.last_stop_sequence,
246
- last_stop_id: (_p = context.lastPositionTracking) === null || _p === void 0 ? void 0 : _p.properties.last_stop_id,
245
+ last_stop_sequence: (_h = context.lastPositionTracking) === null || _h === void 0 ? void 0 : _h.properties.last_stop_sequence,
246
+ last_stop_id: (_j = context.lastPositionTracking) === null || _j === void 0 ? void 0 : _j.properties.last_stop_id,
247
247
  }));
248
248
  let lastStopSequence = null;
249
249
  if ((context === null || context === void 0 ? void 0 : context.lastPositionState) === const_1.StatePositionEnum.BEFORE_TRACK) {
@@ -252,18 +252,12 @@ RegionalBusPositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition,
252
252
  else if (context === null || context === void 0 ? void 0 : context.lastPositionTracking) {
253
253
  lastStopSequence = context.lastPositionTracking.properties.last_stop_sequence;
254
254
  }
255
- // returns array of segments (row of points) of shape anchor points around gps
256
- const ptsInRadius = positionCalculator.getShapePointsAroundPosition(tripGtfsData.shapes_anchor_points, lastStopSequence);
257
- if (ptsInRadius.length < 1) {
255
+ const closesPoint = anchorPointSegmenter.getClosesPoint(lastStopSequence);
256
+ if (!closesPoint) {
258
257
  return estimatedPoint;
259
258
  }
260
- const closestPts = positionCalculator.getClosestPoints(ptsInRadius);
261
- if (closestPts.length < 1) {
262
- return estimatedPoint;
263
- }
264
- // DECIDE WHICH POINT IS PROBABLY RIGHT
265
- return _a.getClosestPoint(currentPosition, context, startDayTimestamp, closestPts, tripGtfsData);
266
- });
259
+ return _a.getClosestPoint(currentPosition, context, startDayTimestamp, closesPoint, tripGtfsData);
260
+ };
267
261
  /**
268
262
  * Picks only one closest point for multiple possible points based on delay of last position and stop times
269
263
  *
@@ -274,90 +268,68 @@ RegionalBusPositionsManager.getEstimatedPoint = (tripGtfsData, currentPosition,
274
268
  * @param {IComputationTrip} tripGtfsData - GTFS data and all set of known positions
275
269
  * @returns {IPositionToUpdate} - Result point as position to update in DB
276
270
  */
277
- RegionalBusPositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp, closestPts, tripGtfsData) => __awaiter(void 0, void 0, void 0, function* () {
271
+ RegionalBusPositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp, thisClosestPoint, tripGtfsData) => {
278
272
  // want to find minimum difference of our prediction, where the bus should be
279
273
  let minTimeRealDiff = Infinity;
280
274
  const tripShapePoints = tripGtfsData.shapes_anchor_points;
281
275
  const tripStopTimes = tripGtfsData.stop_times;
282
276
  const firstTripShapePoint = tripShapePoints[0];
283
277
  const lastTripShapePoint = tripShapePoints[tripShapePoints.length - 1];
284
- const closestPtsIterator = (i, prevTimeDelay, estimatedPoint, cb) => {
285
- // end of iteration
286
- if (closestPts.length === i) {
287
- return cb(estimatedPoint);
288
- }
289
- let thisClosestPoint = closestPts[i];
290
- const timeScheduledTimestamp = _a.getLocalTimeToDateObject(startDayTimestamp,
291
- // take stop arrival time if is point at stop
292
- thisClosestPoint.this_stop_sequence
293
- ? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
294
- : thisClosestPoint.time_scheduled_seconds);
295
- let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
296
- // time where the bus should on this point
297
- const timeProposed = thisClosestPoint.time_scheduled_seconds + prevTimeDelay;
298
- // difference
299
- const timeRealDiff = thisClosestPoint.time_scheduled_seconds + timeDelayInSeconds - timeProposed;
300
- // we look for the best fitting point
301
- if (Math.abs(timeRealDiff) < Math.abs(minTimeRealDiff)) {
302
- minTimeRealDiff = timeRealDiff;
303
- // lets correct delay if it is at stop
304
- if (thisClosestPoint.this_stop_sequence) {
305
- const thisStopSequence = thisClosestPoint.this_stop_sequence;
306
- timeDelayInSeconds = _a.getCorrectedTimeDelay(timeDelayInSeconds, context, currentPosition, thisStopSequence, {
307
- departureTime: tripStopTimes[thisStopSequence - 1].departure_time_seconds,
308
- arrivalTime: tripStopTimes[thisStopSequence - 1].arrival_time_seconds,
309
- });
310
- // delay can not be negative if the vehicle is at the first stop
311
- if (thisStopSequence === firstTripShapePoint.this_stop_sequence) {
312
- timeDelayInSeconds = Math.max(timeDelayInSeconds, 0);
313
- }
314
- }
315
- const statePosition = _a.determineStatePosition(thisClosestPoint, lastTripShapePoint);
316
- const thisStopSequence = thisClosestPoint.this_stop_sequence;
317
- const lastStopSequence = thisClosestPoint.last_stop_sequence;
318
- const nextStopSequence = thisClosestPoint.next_stop_sequence;
319
- // save it for result
320
- estimatedPoint = {
321
- id: currentPosition.properties.id,
322
- bearing: thisClosestPoint.bearing,
323
- shape_dist_traveled: Math.round(thisClosestPoint.shape_dist_traveled * 1000) / 1000,
324
- next_stop_id: tripStopTimes[nextStopSequence - 1].stop_id,
325
- last_stop_id: tripStopTimes[lastStopSequence - 1].stop_id,
326
- next_stop_name: tripStopTimes[nextStopSequence - 1].stop.stop_name,
327
- last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
328
- next_stop_sequence: nextStopSequence,
329
- last_stop_sequence: lastStopSequence,
330
- next_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].arrival_time_seconds),
331
- last_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].arrival_time_seconds),
332
- next_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].departure_time_seconds),
333
- last_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].departure_time_seconds),
334
- delay: statePosition === const_1.StatePositionEnum.AFTER_TRACK ? 0 : timeDelayInSeconds,
335
- this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
336
- thisStopSequence &&
337
- tripStopTimes[thisStopSequence - 1].stop_id) ||
338
- undefined,
339
- this_stop_name: (statePosition === const_1.StatePositionEnum.AT_STOP &&
340
- thisStopSequence &&
341
- tripStopTimes[thisStopSequence - 1].stop.stop_name) ||
342
- undefined,
343
- this_stop_sequence: (statePosition === const_1.StatePositionEnum.AT_STOP && thisStopSequence) || undefined,
344
- last_stop_headsign: tripStopTimes[lastStopSequence - 1].stop_headsign || undefined,
345
- state_position: statePosition,
346
- state_process: const_1.StateProcessEnum.PROCESSED,
347
- valid_to: ValidToCalculator_1.default.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp),
348
- is_tracked: statePosition !== const_1.StatePositionEnum.AFTER_TRACK,
349
- };
278
+ const timeScheduledTimestamp = _a.getLocalTimeToDateObject(startDayTimestamp,
279
+ // take stop arrival time if is point at stop
280
+ thisClosestPoint.this_stop_sequence
281
+ ? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
282
+ : thisClosestPoint.time_scheduled_seconds);
283
+ let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
284
+ // lets correct delay if it is at stop
285
+ if (thisClosestPoint.this_stop_sequence) {
286
+ const thisStopSequence = thisClosestPoint.this_stop_sequence;
287
+ timeDelayInSeconds = _a.getCorrectedTimeDelay(timeDelayInSeconds, context, currentPosition, thisStopSequence, {
288
+ departureTime: tripStopTimes[thisStopSequence - 1].departure_time_seconds,
289
+ arrivalTime: tripStopTimes[thisStopSequence - 1].arrival_time_seconds,
290
+ });
291
+ // delay can not be negative if the vehicle is at the first stop
292
+ if (thisStopSequence === firstTripShapePoint.this_stop_sequence) {
293
+ timeDelayInSeconds = Math.max(timeDelayInSeconds, 0);
350
294
  }
351
- // next step
352
- closestPtsIterator(i + 1, prevTimeDelay, estimatedPoint, cb);
295
+ }
296
+ const statePosition = _a.determineStatePosition(thisClosestPoint, lastTripShapePoint);
297
+ const thisStopSequence = thisClosestPoint.this_stop_sequence;
298
+ const lastStopSequence = thisClosestPoint.last_stop_sequence;
299
+ const nextStopSequence = thisClosestPoint.next_stop_sequence;
300
+ // save it for result
301
+ const estimatedPoint = {
302
+ id: currentPosition.properties.id,
303
+ bearing: thisClosestPoint.bearing,
304
+ shape_dist_traveled: Math.round(thisClosestPoint.shape_dist_traveled * 1000) / 1000,
305
+ next_stop_id: tripStopTimes[nextStopSequence - 1].stop_id,
306
+ last_stop_id: tripStopTimes[lastStopSequence - 1].stop_id,
307
+ next_stop_name: tripStopTimes[nextStopSequence - 1].stop.stop_name,
308
+ last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
309
+ next_stop_sequence: nextStopSequence,
310
+ last_stop_sequence: lastStopSequence,
311
+ next_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].arrival_time_seconds),
312
+ last_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].arrival_time_seconds),
313
+ next_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].departure_time_seconds),
314
+ last_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].departure_time_seconds),
315
+ delay: statePosition === const_1.StatePositionEnum.AFTER_TRACK ? 0 : timeDelayInSeconds,
316
+ this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
317
+ thisStopSequence &&
318
+ tripStopTimes[thisStopSequence - 1].stop_id) ||
319
+ undefined,
320
+ this_stop_name: (statePosition === const_1.StatePositionEnum.AT_STOP &&
321
+ thisStopSequence &&
322
+ tripStopTimes[thisStopSequence - 1].stop.stop_name) ||
323
+ undefined,
324
+ this_stop_sequence: (statePosition === const_1.StatePositionEnum.AT_STOP && thisStopSequence) || undefined,
325
+ last_stop_headsign: tripStopTimes[lastStopSequence - 1].stop_headsign || undefined,
326
+ state_position: statePosition,
327
+ state_process: const_1.StateProcessEnum.PROCESSED,
328
+ valid_to: ValidToCalculator_1.default.getDefaultValidToAttribute(currentPosition.properties.origin_timestamp),
329
+ is_tracked: statePosition !== const_1.StatePositionEnum.AFTER_TRACK,
353
330
  };
354
- return new Promise((resolve) => {
355
- var _b, _c;
356
- closestPtsIterator(0, (_c = (_b = context === null || context === void 0 ? void 0 : context.lastPositionTracking) === null || _b === void 0 ? void 0 : _b.properties.delay) !== null && _c !== void 0 ? _c : 0, null, (estimatedPoint) => {
357
- resolve(estimatedPoint);
358
- });
359
- });
360
- });
331
+ return estimatedPoint;
332
+ };
361
333
  /**
362
334
  * Returns date object for stop time
363
335
  * + given by start of day when trip starts
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RegionalBusPositionsManager.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.11.2-dev.1136470067",
3
+ "version": "2.11.2-dev.1136858513",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,11 +0,0 @@
1
- import { Feature, Point } from "@turf/turf";
2
- import { ICurrentPositionProperties, IShapeAnchorPoint } from "../interfaces/VPInterfaces";
3
- export default class PositionCalculator {
4
- private geoHelper;
5
- private currentPosition;
6
- constructor(currentPosition: Feature<Point, ICurrentPositionProperties>);
7
- /** Find all shape points in polygon circle, get segments with consequenting points */
8
- getShapePointsAroundPosition: (tripShapePoints: IShapeAnchorPoint[], lastStopSequence: number | null) => IShapeAnchorPoint[][];
9
- /** Picks only one closest point for each segment/array of points of shape */
10
- getClosestPoints: (ptsInRadius: IShapeAnchorPoint[][]) => IShapeAnchorPoint[];
11
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const ModuleContainerToken_1 = require("../../../../ioc/ModuleContainerToken");
4
- const Di_1 = require("../../../ioc/Di");
5
- const AnchorPointSegmenter_1 = require("./anchor-points/AnchorPointSegmenter");
6
- class PositionCalculator {
7
- constructor(currentPosition) {
8
- /** Find all shape points in polygon circle, get segments with consequenting points */
9
- this.getShapePointsAroundPosition = (tripShapePoints, lastStopSequence) => {
10
- const anchorPointSegmenter = new AnchorPointSegmenter_1.AnchorPointSegmenter(tripShapePoints, this.currentPosition);
11
- return anchorPointSegmenter.getAnchorPointsInRadius(lastStopSequence);
12
- };
13
- /** Picks only one closest point for each segment/array of points of shape */
14
- this.getClosestPoints = (ptsInRadius) => {
15
- let closestPts = [];
16
- for (const shapePoints of ptsInRadius) {
17
- let closestPoint = null;
18
- let closestDistance = Infinity;
19
- for (const point of shapePoints) {
20
- const distance = this.geoHelper.getDistanceInKilometers(this.currentPosition.geometry.coordinates, point.coordinates);
21
- if (distance < closestDistance) {
22
- closestPoint = point;
23
- closestDistance = distance;
24
- }
25
- }
26
- if (closestPoint !== null) {
27
- closestPts.push(closestPoint);
28
- }
29
- }
30
- return closestPts;
31
- };
32
- this.geoHelper = Di_1.VPContainer.resolve(ModuleContainerToken_1.ModuleContainerToken.GeoMeasurementHelper);
33
- this.currentPosition = currentPosition;
34
- }
35
- }
36
- exports.default = PositionCalculator;
37
- //# sourceMappingURL=PositionCalculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PositionCalculator.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionCalculator.ts"],"names":[],"mappings":";;AACA,+EAAoE;AACpE,wCAA2D;AAG3D,+EAA4E;AAE5E,MAAqB,kBAAkB;IAInC,YAAY,eAA2D;QAKvE,sFAAsF;QAC/E,iCAA4B,GAAG,CAClC,eAAoC,EACpC,gBAA+B,EACV,EAAE;YACvB,MAAM,oBAAoB,GAAG,IAAI,2CAAoB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7F,OAAO,oBAAoB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEF,6EAA6E;QACtE,qBAAgB,GAAG,CAAC,WAAkC,EAAuB,EAAE;YAClF,IAAI,UAAU,GAAwB,EAAE,CAAC;YAEzC,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE;gBACnC,IAAI,YAAY,GAA6B,IAAI,CAAC;gBAClD,IAAI,eAAe,GAAG,QAAQ,CAAC;gBAE/B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACnD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,EACzC,KAAK,CAAC,WAAW,CACpB,CAAC;oBAEF,IAAI,QAAQ,GAAG,eAAe,EAAE;wBAC5B,YAAY,GAAG,KAAK,CAAC;wBACrB,eAAe,GAAG,QAAQ,CAAC;qBAC9B;iBACJ;gBAED,IAAI,YAAY,KAAK,IAAI,EAAE;oBACvB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACjC;aACJ;YAED,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC;QAvCE,IAAI,CAAC,SAAS,GAAG,gBAAW,CAAC,OAAO,CAAwB,2CAAoB,CAAC,oBAAoB,CAAC,CAAC;QACvG,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;CAsCJ;AA7CD,qCA6CC"}