@glandais/vcyclist-engine 4.2.1 → 5.0.0

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.
package/vcyclist-gpx.js CHANGED
@@ -44,6 +44,8 @@
44
44
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.i1;
45
45
  var checkIndexOverflow = kotlin_kotlin.$_$.w2;
46
46
  var getOrNull = kotlin_kotlin.$_$.k3;
47
+ var Companion_instance = kotlin_kotlin.$_$.e1;
48
+ var noWhenBranchMatchedException = kotlin_kotlin.$_$.qa;
47
49
  var isNaN_0 = kotlin_kotlin.$_$.oa;
48
50
  var numberToLong = kotlin_kotlin.$_$.v5;
49
51
  var Long = kotlin_kotlin.$_$.x9;
@@ -51,7 +53,6 @@
51
53
  var roundToLong = kotlin_kotlin.$_$.o7;
52
54
  var add = kotlin_kotlin.$_$.i5;
53
55
  var roundToInt = kotlin_kotlin.$_$.n7;
54
- var noWhenBranchMatchedException = kotlin_kotlin.$_$.qa;
55
56
  var get_xmlStreaming = kotlin_io_github_pdvrieze_xmlutil_core.$_$.d;
56
57
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.b2;
57
58
  var Exception = kotlin_kotlin.$_$.v9;
@@ -106,24 +107,26 @@
106
107
  var longArray = kotlin_kotlin.$_$.e7;
107
108
  var multiply = kotlin_kotlin.$_$.u5;
108
109
  var isInfinite = kotlin_kotlin.$_$.na;
109
- var charSequenceGet = kotlin_kotlin.$_$.h6;
110
- var replace = kotlin_kotlin.$_$.z8;
111
110
  var toString_1 = kotlin_kotlin.$_$.g;
112
111
  var Char__hashCode_impl_otmys = kotlin_kotlin.$_$.d;
113
112
  var getBooleanHashCode = kotlin_kotlin.$_$.p6;
113
+ var charSequenceGet = kotlin_kotlin.$_$.h6;
114
+ var replace = kotlin_kotlin.$_$.z8;
114
115
  var get_lastIndex = kotlin_kotlin.$_$.o3;
115
116
  var toString_2 = kotlin_kotlin.$_$.m9;
117
+ var ElevationSmoother_instance = kotlin_io_github_glandais_elevation.$_$.c;
118
+ var equals_0 = kotlin_kotlin.$_$.p8;
119
+ var joinToString = kotlin_kotlin.$_$.m3;
120
+ var isFinite = kotlin_kotlin.$_$.ma;
116
121
  var CoroutineImpl = kotlin_kotlin.$_$.d5;
117
- var LatLon = kotlin_io_github_glandais_elevation.$_$.f;
122
+ var LatLon = kotlin_io_github_glandais_elevation.$_$.g;
118
123
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.o4;
119
124
  var initMetadataForCoroutine = kotlin_kotlin.$_$.w6;
120
- var ElevationSmoother_instance = kotlin_io_github_glandais_elevation.$_$.c;
121
125
  var until = kotlin_kotlin.$_$.z7;
122
- var LatLonElevation = kotlin_io_github_glandais_elevation.$_$.e;
126
+ var LatLonElevation = kotlin_io_github_glandais_elevation.$_$.f;
123
127
  var arrayCopy = kotlin_kotlin.$_$.t2;
124
128
  var Distance_instance = kotlin_io_github_glandais_elevation.$_$.a;
125
129
  var DouglasPeucker_instance = kotlin_io_github_glandais_elevation.$_$.b;
126
- var Companion_instance = kotlin_kotlin.$_$.e1;
127
130
  var mapCapacity = kotlin_kotlin.$_$.t3;
128
131
  var coerceAtLeast = kotlin_kotlin.$_$.s7;
129
132
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.o1;
@@ -140,6 +143,7 @@
140
143
  initMetadataForClass(GpxTrack, 'GpxTrack');
141
144
  initMetadataForClass(GpxSegment, 'GpxSegment');
142
145
  initMetadataForClass(GpxTrackPoint, 'GpxTrackPoint');
146
+ initMetadataForCompanion(Companion_0);
143
147
  initMetadataForClass(GpxPowerSource, 'GpxPowerSource', VOID, Enum);
144
148
  initMetadataForClass(ExtensionsAccumulator, 'ExtensionsAccumulator', ExtensionsAccumulator);
145
149
  initMetadataForObject(GpxParser, 'GpxParser');
@@ -149,19 +153,27 @@
149
153
  initMetadataForClass(RepairResult, 'RepairResult');
150
154
  initMetadataForObject(OsmHighway, 'OsmHighway');
151
155
  initMetadataForObject(CsvNumberFormat, 'CsvNumberFormat');
152
- initMetadataForObject(CsvWriter, 'CsvWriter');
153
156
  initMetadataForClass(CsvOptions, 'CsvOptions', CsvOptions);
154
- initMetadataForObject(JsonWriter, 'JsonWriter');
157
+ initMetadataForObject(CsvWriter, 'CsvWriter');
155
158
  initMetadataForClass(JsonOptions, 'JsonOptions', JsonOptions);
159
+ initMetadataForObject(JsonWriter, 'JsonWriter');
160
+ initMetadataForCompanion(Companion_1);
161
+ initMetadataForClass(ElevationGainResult, 'ElevationGainResult');
162
+ initMetadataForClass(Banked, 'Banked');
163
+ initMetadataForObject(ElevationGain, 'ElevationGain');
164
+ initMetadataForCompanion(Companion_2);
165
+ initMetadataForClass(ElevationGainPreset, 'ElevationGainPreset', VOID, Enum);
166
+ initMetadataForCompanion(Companion_3);
167
+ initMetadataForClass(ElevationGainOptions, 'ElevationGainOptions', ElevationGainOptions);
156
168
  initMetadataForCoroutine($fixElevationCOROUTINE$, CoroutineImpl);
157
169
  initMetadataForObject(ElevationStep, 'ElevationStep', VOID, VOID, VOID, [2]);
158
170
  initMetadataForClass(GeneratedPath, 'GeneratedPath');
159
- initMetadataForCompanion(Companion_0);
171
+ initMetadataForCompanion(Companion_4);
160
172
  initMetadataForClass(BoundsRad, 'BoundsRad');
161
- initMetadataForCompanion(Companion_1);
173
+ initMetadataForCompanion(Companion_5);
162
174
  initMetadataForClass(Path, 'Path', VOID, GeneratedPath);
163
175
  initMetadataForObject(PathSimplifier, 'PathSimplifier');
164
- initMetadataForCompanion(Companion_2);
176
+ initMetadataForCompanion(Companion_6);
165
177
  initMetadataForClass(PointField, 'PointField', VOID, Enum);
166
178
  initMetadataForClass(PointFieldCategory, 'PointFieldCategory', VOID, Enum);
167
179
  initMetadataForClass(Copy, 'Copy');
@@ -454,13 +466,6 @@
454
466
  static_init();
455
467
  return GpxPathKind_ROUTE_instance;
456
468
  }
457
- function toGpxDocument(_this__u8e3s4, name, trackName, startTime, powerSource) {
458
- name = name === VOID ? 'noname' : name;
459
- trackName = trackName === VOID ? null : trackName;
460
- startTime = startTime === VOID ? null : startTime;
461
- powerSource = powerSource === VOID ? GpxPowerSource_INPUT_getInstance() : powerSource;
462
- return new GpxDocument(name, listOf(toGpxTrack(_this__u8e3s4, trackName, VOID, startTime, powerSource)));
463
- }
464
469
  function pathsToGpxDocument(paths, name, trackNames, waypoints, type, startTime, powerSource) {
465
470
  name = name === VOID ? 'noname' : name;
466
471
  trackNames = trackNames === VOID ? null : trackNames;
@@ -491,13 +496,92 @@
491
496
  GpxPowerSource_INPUT_instance = new GpxPowerSource('INPUT', 0);
492
497
  GpxPowerSource_COMPUTED_instance = new GpxPowerSource('COMPUTED', 1);
493
498
  GpxPowerSource_COMPUTED_OR_INPUT_instance = new GpxPowerSource('COMPUTED_OR_INPUT', 2);
499
+ if (Companion_instance_1 == null) {
500
+ Companion_instance;
501
+ new Companion_0();
502
+ }
494
503
  }
495
504
  var GpxPowerSource_INPUT_instance;
496
505
  var GpxPowerSource_COMPUTED_instance;
497
506
  var GpxPowerSource_COMPUTED_OR_INPUT_instance;
507
+ function Companion_0() {
508
+ Companion_instance_1 = this;
509
+ this.DEFAULT_1 = GpxPowerSource_INPUT_getInstance();
510
+ }
511
+ protoOf(Companion_0).fromWire_2092k5_k$ = function (value) {
512
+ var tmp0 = get_entries_0();
513
+ var tmp$ret$0;
514
+ $l$block: {
515
+ // Inline function 'kotlin.collections.firstOrNull' call
516
+ var _iterator__ex2g4s = tmp0.iterator_jk1svi_k$();
517
+ while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
518
+ var element = _iterator__ex2g4s.next_20eer_k$();
519
+ if (element.get_wireName_mo8n7d_k$() === value) {
520
+ tmp$ret$0 = element;
521
+ break $l$block;
522
+ }
523
+ }
524
+ tmp$ret$0 = null;
525
+ }
526
+ return tmp$ret$0;
527
+ };
528
+ protoOf(Companion_0).get_wireNames_7fokbq_k$ = function () {
529
+ // Inline function 'kotlin.collections.map' call
530
+ var this_0 = get_entries_0();
531
+ // Inline function 'kotlin.collections.mapTo' call
532
+ var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
533
+ var _iterator__ex2g4s = this_0.iterator_jk1svi_k$();
534
+ while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
535
+ var item = _iterator__ex2g4s.next_20eer_k$();
536
+ var tmp$ret$2 = item.get_wireName_mo8n7d_k$();
537
+ destination.add_utx5q5_k$(tmp$ret$2);
538
+ }
539
+ return destination;
540
+ };
541
+ var Companion_instance_1;
542
+ function Companion_getInstance_1() {
543
+ static_init_0();
544
+ return Companion_instance_1;
545
+ }
546
+ function values_0() {
547
+ static_init_0();
548
+ return [GpxPowerSource_INPUT_getInstance(), GpxPowerSource_COMPUTED_getInstance(), GpxPowerSource_COMPUTED_OR_INPUT_getInstance()];
549
+ }
550
+ function get_entries_0() {
551
+ static_init_0();
552
+ if ($ENTRIES_0 == null)
553
+ $ENTRIES_0 = enumEntries(values_0());
554
+ return $ENTRIES_0;
555
+ }
556
+ var $ENTRIES_0;
498
557
  function GpxPowerSource(name, ordinal) {
499
558
  Enum.call(this, name, ordinal);
500
559
  }
560
+ protoOf(GpxPowerSource).get_wireName_mo8n7d_k$ = function () {
561
+ var tmp;
562
+ switch (this.ordinal_1) {
563
+ case 0:
564
+ tmp = 'input';
565
+ break;
566
+ case 1:
567
+ tmp = 'computed';
568
+ break;
569
+ case 2:
570
+ tmp = 'computed-or-input';
571
+ break;
572
+ default:
573
+ noWhenBranchMatchedException();
574
+ break;
575
+ }
576
+ return tmp;
577
+ };
578
+ function toGpxDocument(_this__u8e3s4, name, trackName, startTime, powerSource) {
579
+ name = name === VOID ? 'noname' : name;
580
+ trackName = trackName === VOID ? null : trackName;
581
+ startTime = startTime === VOID ? null : startTime;
582
+ powerSource = powerSource === VOID ? GpxPowerSource_INPUT_getInstance() : powerSource;
583
+ return new GpxDocument(name, listOf(toGpxTrack(_this__u8e3s4, trackName, VOID, startTime, powerSource)));
584
+ }
501
585
  function toGpxTrack(_this__u8e3s4, name, type, startTime, powerSource) {
502
586
  name = name === VOID ? null : name;
503
587
  type = type === VOID ? 'cycling' : type;
@@ -618,6 +702,14 @@
618
702
  static_init_0();
619
703
  return GpxPowerSource_INPUT_instance;
620
704
  }
705
+ function GpxPowerSource_COMPUTED_getInstance() {
706
+ static_init_0();
707
+ return GpxPowerSource_COMPUTED_instance;
708
+ }
709
+ function GpxPowerSource_COMPUTED_OR_INPUT_getInstance() {
710
+ static_init_0();
711
+ return GpxPowerSource_COMPUTED_OR_INPUT_instance;
712
+ }
621
713
  function parseOnce($this, xml) {
622
714
  var tmp;
623
715
  try {
@@ -1802,17 +1894,6 @@
1802
1894
  }
1803
1895
  return out.toString();
1804
1896
  };
1805
- protoOf(GpxWriter).write_jjl3rf_k$ = function (paths, name, trackNames, waypoints, startTime, writeExtensions) {
1806
- return this.write_7y52k2_k$(pathsToGpxDocument(paths, name, trackNames, waypoints, VOID, startTime), writeExtensions);
1807
- };
1808
- protoOf(GpxWriter).write$default_koqy5u_k$ = function (paths, name, trackNames, waypoints, startTime, writeExtensions, $super) {
1809
- name = name === VOID ? 'noname' : name;
1810
- trackNames = trackNames === VOID ? null : trackNames;
1811
- waypoints = waypoints === VOID ? emptyList() : waypoints;
1812
- startTime = startTime === VOID ? null : startTime;
1813
- writeExtensions = writeExtensions === VOID ? true : writeExtensions;
1814
- return $super === VOID ? this.write_jjl3rf_k$(paths, name, trackNames, waypoints, startTime, writeExtensions) : $super.write_jjl3rf_k$.call(this, paths, name, trackNames, waypoints, startTime, writeExtensions);
1815
- };
1816
1897
  var GpxWriter_instance;
1817
1898
  function GpxWriter_getInstance() {
1818
1899
  return GpxWriter_instance;
@@ -2237,6 +2318,46 @@
2237
2318
  new CsvNumberFormat();
2238
2319
  return CsvNumberFormat_instance;
2239
2320
  }
2321
+ function CsvOptions(fields, separator, unitsInHeader, decimals, lineSeparator) {
2322
+ fields = fields === VOID ? null : fields;
2323
+ separator = separator === VOID ? _Char___init__impl__6a9atx(44) : separator;
2324
+ unitsInHeader = unitsInHeader === VOID ? true : unitsInHeader;
2325
+ decimals = decimals === VOID ? null : decimals;
2326
+ lineSeparator = lineSeparator === VOID ? '\n' : lineSeparator;
2327
+ this.fields_1 = fields;
2328
+ this.separator_1 = separator;
2329
+ this.unitsInHeader_1 = unitsInHeader;
2330
+ this.decimals_1 = decimals;
2331
+ this.lineSeparator_1 = lineSeparator;
2332
+ }
2333
+ protoOf(CsvOptions).toString = function () {
2334
+ return 'CsvOptions(fields=' + toString(this.fields_1) + ', separator=' + toString_1(this.separator_1) + ', unitsInHeader=' + this.unitsInHeader_1 + ', decimals=' + this.decimals_1 + ', lineSeparator=' + this.lineSeparator_1 + ')';
2335
+ };
2336
+ protoOf(CsvOptions).hashCode = function () {
2337
+ var result = this.fields_1 == null ? 0 : hashCode(this.fields_1);
2338
+ result = imul(result, 31) + Char__hashCode_impl_otmys(this.separator_1) | 0;
2339
+ result = imul(result, 31) + getBooleanHashCode(this.unitsInHeader_1) | 0;
2340
+ result = imul(result, 31) + (this.decimals_1 == null ? 0 : this.decimals_1) | 0;
2341
+ result = imul(result, 31) + getStringHashCode(this.lineSeparator_1) | 0;
2342
+ return result;
2343
+ };
2344
+ protoOf(CsvOptions).equals = function (other) {
2345
+ if (this === other)
2346
+ return true;
2347
+ if (!(other instanceof CsvOptions))
2348
+ return false;
2349
+ if (!equals(this.fields_1, other.fields_1))
2350
+ return false;
2351
+ if (!(this.separator_1 === other.separator_1))
2352
+ return false;
2353
+ if (!(this.unitsInHeader_1 === other.unitsInHeader_1))
2354
+ return false;
2355
+ if (!(this.decimals_1 == other.decimals_1))
2356
+ return false;
2357
+ if (!(this.lineSeparator_1 === other.lineSeparator_1))
2358
+ return false;
2359
+ return true;
2360
+ };
2240
2361
  function headerFor($this, field, unitsInHeader) {
2241
2362
  return unitsInHeader ? field.prop_1 + ' (' + field.unit_1 + ')' : field.prop_1;
2242
2363
  }
@@ -2281,7 +2402,7 @@
2281
2402
  }
2282
2403
  protoOf(CsvWriter).write_p5vnh4_k$ = function (path, options) {
2283
2404
  var tmp0_elvis_lhs = options.fields_1;
2284
- var fields = tmp0_elvis_lhs == null ? get_entries_0() : tmp0_elvis_lhs;
2405
+ var fields = tmp0_elvis_lhs == null ? get_entries_2() : tmp0_elvis_lhs;
2285
2406
  var sb = StringBuilder_init_$Create$();
2286
2407
  // Inline function 'kotlin.collections.map' call
2287
2408
  // Inline function 'kotlin.collections.mapTo' call
@@ -2318,43 +2439,38 @@
2318
2439
  function CsvWriter_getInstance() {
2319
2440
  return CsvWriter_instance;
2320
2441
  }
2321
- function CsvOptions(fields, separator, unitsInHeader, decimals, lineSeparator) {
2442
+ function JsonOptions(fields, pretty, decimals, includeMeta) {
2322
2443
  fields = fields === VOID ? null : fields;
2323
- separator = separator === VOID ? _Char___init__impl__6a9atx(44) : separator;
2324
- unitsInHeader = unitsInHeader === VOID ? true : unitsInHeader;
2444
+ pretty = pretty === VOID ? false : pretty;
2325
2445
  decimals = decimals === VOID ? null : decimals;
2326
- lineSeparator = lineSeparator === VOID ? '\n' : lineSeparator;
2446
+ includeMeta = includeMeta === VOID ? true : includeMeta;
2327
2447
  this.fields_1 = fields;
2328
- this.separator_1 = separator;
2329
- this.unitsInHeader_1 = unitsInHeader;
2448
+ this.pretty_1 = pretty;
2330
2449
  this.decimals_1 = decimals;
2331
- this.lineSeparator_1 = lineSeparator;
2450
+ this.includeMeta_1 = includeMeta;
2332
2451
  }
2333
- protoOf(CsvOptions).toString = function () {
2334
- return 'CsvOptions(fields=' + toString(this.fields_1) + ', separator=' + toString_1(this.separator_1) + ', unitsInHeader=' + this.unitsInHeader_1 + ', decimals=' + this.decimals_1 + ', lineSeparator=' + this.lineSeparator_1 + ')';
2452
+ protoOf(JsonOptions).toString = function () {
2453
+ return 'JsonOptions(fields=' + toString(this.fields_1) + ', pretty=' + this.pretty_1 + ', decimals=' + this.decimals_1 + ', includeMeta=' + this.includeMeta_1 + ')';
2335
2454
  };
2336
- protoOf(CsvOptions).hashCode = function () {
2455
+ protoOf(JsonOptions).hashCode = function () {
2337
2456
  var result = this.fields_1 == null ? 0 : hashCode(this.fields_1);
2338
- result = imul(result, 31) + Char__hashCode_impl_otmys(this.separator_1) | 0;
2339
- result = imul(result, 31) + getBooleanHashCode(this.unitsInHeader_1) | 0;
2457
+ result = imul(result, 31) + getBooleanHashCode(this.pretty_1) | 0;
2340
2458
  result = imul(result, 31) + (this.decimals_1 == null ? 0 : this.decimals_1) | 0;
2341
- result = imul(result, 31) + getStringHashCode(this.lineSeparator_1) | 0;
2459
+ result = imul(result, 31) + getBooleanHashCode(this.includeMeta_1) | 0;
2342
2460
  return result;
2343
2461
  };
2344
- protoOf(CsvOptions).equals = function (other) {
2462
+ protoOf(JsonOptions).equals = function (other) {
2345
2463
  if (this === other)
2346
2464
  return true;
2347
- if (!(other instanceof CsvOptions))
2465
+ if (!(other instanceof JsonOptions))
2348
2466
  return false;
2349
2467
  if (!equals(this.fields_1, other.fields_1))
2350
2468
  return false;
2351
- if (!(this.separator_1 === other.separator_1))
2352
- return false;
2353
- if (!(this.unitsInHeader_1 === other.unitsInHeader_1))
2469
+ if (!(this.pretty_1 === other.pretty_1))
2354
2470
  return false;
2355
2471
  if (!(this.decimals_1 == other.decimals_1))
2356
2472
  return false;
2357
- if (!(this.lineSeparator_1 === other.lineSeparator_1))
2473
+ if (!(this.includeMeta_1 === other.includeMeta_1))
2358
2474
  return false;
2359
2475
  return true;
2360
2476
  };
@@ -2370,6 +2486,10 @@
2370
2486
  sb.append_58al37_k$(_Char___init__impl__6a9atx(44)).append_22ad7x_k$(nl);
2371
2487
  appendKeyValueRaw($this, sb, inner, 'elevationLoss', numberOrNull($this, path.elevationLoss_1, decimals), colon);
2372
2488
  sb.append_58al37_k$(_Char___init__impl__6a9atx(44)).append_22ad7x_k$(nl);
2489
+ appendKeyValueRaw($this, sb, inner, 'elevationGainFiltered', numberOrNull($this, path.elevationGainFiltered_1, decimals), colon);
2490
+ sb.append_58al37_k$(_Char___init__impl__6a9atx(44)).append_22ad7x_k$(nl);
2491
+ appendKeyValueRaw($this, sb, inner, 'elevationLossFiltered', numberOrNull($this, path.elevationLossFiltered_1, decimals), colon);
2492
+ sb.append_58al37_k$(_Char___init__impl__6a9atx(44)).append_22ad7x_k$(nl);
2373
2493
  appendKeyRaw($this, sb, inner, 'units', colon);
2374
2494
  sb.append_58al37_k$(_Char___init__impl__6a9atx(123)).append_22ad7x_k$(nl);
2375
2495
  var innerUnits = inner + indent;
@@ -2440,7 +2560,7 @@
2440
2560
  }
2441
2561
  protoOf(JsonWriter).write_lwqeog_k$ = function (path, options) {
2442
2562
  var tmp0_elvis_lhs = options.fields_1;
2443
- var fields = tmp0_elvis_lhs == null ? get_entries_0() : tmp0_elvis_lhs;
2563
+ var fields = tmp0_elvis_lhs == null ? get_entries_2() : tmp0_elvis_lhs;
2444
2564
  var sb = StringBuilder_init_$Create$();
2445
2565
  var indent = options.pretty_1 ? ' ' : '';
2446
2566
  var nl = options.pretty_1 ? '\n' : '';
@@ -2492,41 +2612,361 @@
2492
2612
  function JsonWriter_getInstance() {
2493
2613
  return JsonWriter_instance;
2494
2614
  }
2495
- function JsonOptions(fields, pretty, decimals, includeMeta) {
2496
- fields = fields === VOID ? null : fields;
2497
- pretty = pretty === VOID ? false : pretty;
2498
- decimals = decimals === VOID ? null : decimals;
2499
- includeMeta = includeMeta === VOID ? true : includeMeta;
2500
- this.fields_1 = fields;
2501
- this.pretty_1 = pretty;
2502
- this.decimals_1 = decimals;
2503
- this.includeMeta_1 = includeMeta;
2615
+ function Companion_1() {
2504
2616
  }
2505
- protoOf(JsonOptions).toString = function () {
2506
- return 'JsonOptions(fields=' + toString(this.fields_1) + ', pretty=' + this.pretty_1 + ', decimals=' + this.decimals_1 + ', includeMeta=' + this.includeMeta_1 + ')';
2617
+ protoOf(Companion_1).empty_meutc3_k$ = function (options) {
2618
+ return new ElevationGainResult(0.0, 0.0, 0.0, 0.0, options.thresholdM_1, options.smoothWindowM_1, 0);
2507
2619
  };
2508
- protoOf(JsonOptions).hashCode = function () {
2509
- var result = this.fields_1 == null ? 0 : hashCode(this.fields_1);
2510
- result = imul(result, 31) + getBooleanHashCode(this.pretty_1) | 0;
2511
- result = imul(result, 31) + (this.decimals_1 == null ? 0 : this.decimals_1) | 0;
2512
- result = imul(result, 31) + getBooleanHashCode(this.includeMeta_1) | 0;
2620
+ var Companion_instance_2;
2621
+ function Companion_getInstance_2() {
2622
+ return Companion_instance_2;
2623
+ }
2624
+ function ElevationGainResult(gainM, lossM, rawGainM, rawLossM, thresholdM, smoothWindowM, legCount) {
2625
+ this.gainM_1 = gainM;
2626
+ this.lossM_1 = lossM;
2627
+ this.rawGainM_1 = rawGainM;
2628
+ this.rawLossM_1 = rawLossM;
2629
+ this.thresholdM_1 = thresholdM;
2630
+ this.smoothWindowM_1 = smoothWindowM;
2631
+ this.legCount_1 = legCount;
2632
+ }
2633
+ protoOf(ElevationGainResult).toString = function () {
2634
+ return 'ElevationGainResult(gainM=' + this.gainM_1 + ', lossM=' + this.lossM_1 + ', rawGainM=' + this.rawGainM_1 + ', rawLossM=' + this.rawLossM_1 + ', thresholdM=' + this.thresholdM_1 + ', smoothWindowM=' + this.smoothWindowM_1 + ', legCount=' + this.legCount_1 + ')';
2635
+ };
2636
+ protoOf(ElevationGainResult).hashCode = function () {
2637
+ var result = getNumberHashCode(this.gainM_1);
2638
+ result = imul(result, 31) + getNumberHashCode(this.lossM_1) | 0;
2639
+ result = imul(result, 31) + getNumberHashCode(this.rawGainM_1) | 0;
2640
+ result = imul(result, 31) + getNumberHashCode(this.rawLossM_1) | 0;
2641
+ result = imul(result, 31) + getNumberHashCode(this.thresholdM_1) | 0;
2642
+ result = imul(result, 31) + getNumberHashCode(this.smoothWindowM_1) | 0;
2643
+ result = imul(result, 31) + this.legCount_1 | 0;
2513
2644
  return result;
2514
2645
  };
2515
- protoOf(JsonOptions).equals = function (other) {
2646
+ protoOf(ElevationGainResult).equals = function (other) {
2516
2647
  if (this === other)
2517
2648
  return true;
2518
- if (!(other instanceof JsonOptions))
2649
+ if (!(other instanceof ElevationGainResult))
2519
2650
  return false;
2520
- if (!equals(this.fields_1, other.fields_1))
2651
+ if (!equals(this.gainM_1, other.gainM_1))
2521
2652
  return false;
2522
- if (!(this.pretty_1 === other.pretty_1))
2653
+ if (!equals(this.lossM_1, other.lossM_1))
2523
2654
  return false;
2524
- if (!(this.decimals_1 == other.decimals_1))
2655
+ if (!equals(this.rawGainM_1, other.rawGainM_1))
2525
2656
  return false;
2526
- if (!(this.includeMeta_1 === other.includeMeta_1))
2657
+ if (!equals(this.rawLossM_1, other.rawLossM_1))
2658
+ return false;
2659
+ if (!equals(this.thresholdM_1, other.thresholdM_1))
2660
+ return false;
2661
+ if (!equals(this.smoothWindowM_1, other.smoothWindowM_1))
2662
+ return false;
2663
+ if (!(this.legCount_1 === other.legCount_1))
2664
+ return false;
2665
+ return true;
2666
+ };
2667
+ function Banked(gainM, lossM, legCount) {
2668
+ this.gainM_1 = gainM;
2669
+ this.lossM_1 = lossM;
2670
+ this.legCount_1 = legCount;
2671
+ }
2672
+ function accumulate($this, h, threshold) {
2673
+ var gain = 0.0;
2674
+ var loss = 0.0;
2675
+ var legCount = 0;
2676
+ var hi = h[0];
2677
+ var lo = h[0];
2678
+ var iHi = 0;
2679
+ var iLo = 0;
2680
+ var dir = 0;
2681
+ var ref = h[0];
2682
+ var ext = h[0];
2683
+ var inductionVariable = 1;
2684
+ var last = h.length;
2685
+ if (inductionVariable < last)
2686
+ do {
2687
+ var i = inductionVariable;
2688
+ inductionVariable = inductionVariable + 1 | 0;
2689
+ var e = h[i];
2690
+ if (dir === 0) {
2691
+ if (e > hi) {
2692
+ hi = e;
2693
+ iHi = i;
2694
+ }
2695
+ if (e < lo) {
2696
+ lo = e;
2697
+ iLo = i;
2698
+ }
2699
+ if (hi - lo >= threshold) {
2700
+ if (iHi > iLo) {
2701
+ dir = 1;
2702
+ ref = lo;
2703
+ ext = e > hi ? e : hi;
2704
+ } else {
2705
+ dir = -1;
2706
+ ref = hi;
2707
+ ext = e < lo ? e : lo;
2708
+ }
2709
+ }
2710
+ } else if (dir > 0) {
2711
+ if (e > ext) {
2712
+ ext = e;
2713
+ } else if (ext - e >= threshold) {
2714
+ gain = gain + (ext - ref);
2715
+ legCount = legCount + 1 | 0;
2716
+ ref = ext;
2717
+ ext = e;
2718
+ dir = -1;
2719
+ }
2720
+ } else {
2721
+ if (e < ext) {
2722
+ ext = e;
2723
+ } else if (e - ext >= threshold) {
2724
+ loss = loss + (ext - ref);
2725
+ legCount = legCount + 1 | 0;
2726
+ ref = ext;
2727
+ ext = e;
2728
+ dir = 1;
2729
+ }
2730
+ }
2731
+ }
2732
+ while (inductionVariable < last);
2733
+ if (dir > 0 && ext > ref) {
2734
+ gain = gain + (ext - ref);
2735
+ legCount = legCount + 1 | 0;
2736
+ } else if (dir < 0 && ext < ref) {
2737
+ loss = loss + (ext - ref);
2738
+ legCount = legCount + 1 | 0;
2739
+ }
2740
+ return new Banked(gain, loss, legCount);
2741
+ }
2742
+ function ElevationGain() {
2743
+ }
2744
+ protoOf(ElevationGain).compute_8ftcln_k$ = function (path, options) {
2745
+ if (path.size_1 < 2)
2746
+ return Companion_instance_2.empty_meutc3_k$(options);
2747
+ var tmp = 0;
2748
+ var tmp_0 = path.size_1;
2749
+ var tmp_1 = new Float64Array(tmp_0);
2750
+ while (tmp < tmp_0) {
2751
+ var tmp_2 = tmp;
2752
+ tmp_1[tmp_2] = path.distance_5s4s77_k$(tmp_2);
2753
+ tmp = tmp + 1 | 0;
2754
+ }
2755
+ var distanceM = tmp_1;
2756
+ var tmp_3 = 0;
2757
+ var tmp_4 = path.size_1;
2758
+ var tmp_5 = new Float64Array(tmp_4);
2759
+ while (tmp_3 < tmp_4) {
2760
+ var tmp_6 = tmp_3;
2761
+ var source = path.sourceElevation_i35mcq_k$(tmp_6);
2762
+ tmp_5[tmp_6] = isNaN_0(source) ? path.elevation_iziwkb_k$(tmp_6) : source;
2763
+ tmp_3 = tmp_3 + 1 | 0;
2764
+ }
2765
+ var elevationM = tmp_5;
2766
+ return this.compute_74u9vr_k$(distanceM, elevationM, options);
2767
+ };
2768
+ protoOf(ElevationGain).annotate_eeml8q_k$ = function (path, options) {
2769
+ var result = this.compute_8ftcln_k$(path, options);
2770
+ path.elevationGainFiltered_1 = result.gainM_1;
2771
+ path.elevationLossFiltered_1 = result.lossM_1;
2772
+ return result;
2773
+ };
2774
+ protoOf(ElevationGain).compute_74u9vr_k$ = function (distanceM, elevationM, options) {
2775
+ // Inline function 'kotlin.require' call
2776
+ if (!(distanceM.length === elevationM.length)) {
2777
+ var message = 'distanceM (' + distanceM.length + ') and elevationM (' + elevationM.length + ') must have the same length';
2778
+ throw IllegalArgumentException_init_$Create$_0(toString_0(message));
2779
+ }
2780
+ if (elevationM.length < 2)
2781
+ return Companion_instance_2.empty_meutc3_k$(options);
2782
+ var profile = ElevationSmoother_instance.smoothProfile_6l6agp_k$(distanceM, elevationM, options.smoothWindowM_1);
2783
+ var rawGain = 0.0;
2784
+ var rawLoss = 0.0;
2785
+ var inductionVariable = 1;
2786
+ var last = profile.length;
2787
+ if (inductionVariable < last)
2788
+ do {
2789
+ var i = inductionVariable;
2790
+ inductionVariable = inductionVariable + 1 | 0;
2791
+ var d = profile[i] - profile[i - 1 | 0];
2792
+ if (d > 0.0)
2793
+ rawGain = rawGain + d;
2794
+ else
2795
+ rawLoss = rawLoss + d;
2796
+ }
2797
+ while (inductionVariable < last);
2798
+ if (options.thresholdM_1 <= 0.0) {
2799
+ return new ElevationGainResult(rawGain, rawLoss, rawGain, rawLoss, 0.0, options.smoothWindowM_1, 0);
2800
+ }
2801
+ var banked = accumulate(this, profile, options.thresholdM_1);
2802
+ return new ElevationGainResult(banked.gainM_1, banked.lossM_1, rawGain, rawLoss, options.thresholdM_1, options.smoothWindowM_1, banked.legCount_1);
2803
+ };
2804
+ var ElevationGain_instance;
2805
+ function ElevationGain_getInstance() {
2806
+ return ElevationGain_instance;
2807
+ }
2808
+ function ElevationGainPreset$Companion$byId$lambda(it) {
2809
+ return it.get_id_kntnx8_k$();
2810
+ }
2811
+ var static_init_called_1;
2812
+ function static_init_1() {
2813
+ if (static_init_called_1)
2814
+ return Unit_instance;
2815
+ static_init_called_1 = true;
2816
+ ElevationGainPreset_RAW_instance = new ElevationGainPreset('RAW', 0, 0.0, 0.0);
2817
+ ElevationGainPreset_BAROMETRIC_instance = new ElevationGainPreset('BAROMETRIC', 1, 2.0, 15.0);
2818
+ ElevationGainPreset_DEM_instance = new ElevationGainPreset('DEM', 2, 3.0, 30.0);
2819
+ ElevationGainPreset_GPS_instance = new ElevationGainPreset('GPS', 3, 10.0, 50.0);
2820
+ if (Companion_instance_3 == null) {
2821
+ Companion_instance;
2822
+ new Companion_2();
2823
+ }
2824
+ }
2825
+ var ElevationGainPreset_RAW_instance;
2826
+ var ElevationGainPreset_BAROMETRIC_instance;
2827
+ var ElevationGainPreset_DEM_instance;
2828
+ var ElevationGainPreset_GPS_instance;
2829
+ function Companion_2() {
2830
+ }
2831
+ protoOf(Companion_2).byId_8gmd94_k$ = function (name) {
2832
+ var tmp0 = get_entries_1();
2833
+ var tmp$ret$0;
2834
+ $l$block: {
2835
+ // Inline function 'kotlin.collections.firstOrNull' call
2836
+ var _iterator__ex2g4s = tmp0.iterator_jk1svi_k$();
2837
+ while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
2838
+ var element = _iterator__ex2g4s.next_20eer_k$();
2839
+ if (equals_0(element.get_id_kntnx8_k$(), name, true) || equals_0(element.name_1, name, true)) {
2840
+ tmp$ret$0 = element;
2841
+ break $l$block;
2842
+ }
2843
+ }
2844
+ tmp$ret$0 = null;
2845
+ }
2846
+ var tmp0_elvis_lhs = tmp$ret$0;
2847
+ var tmp;
2848
+ if (tmp0_elvis_lhs == null) {
2849
+ var tmp_0 = get_entries_1();
2850
+ throw IllegalArgumentException_init_$Create$_0("Unknown elevation gain preset '" + name + "': expected one of " + joinToString(tmp_0, ', ', VOID, VOID, VOID, VOID, ElevationGainPreset$Companion$byId$lambda));
2851
+ } else {
2852
+ tmp = tmp0_elvis_lhs;
2853
+ }
2854
+ return tmp;
2855
+ };
2856
+ var Companion_instance_3;
2857
+ function Companion_getInstance_3() {
2858
+ return Companion_instance_3;
2859
+ }
2860
+ function values_1() {
2861
+ static_init_1();
2862
+ return [ElevationGainPreset_RAW_getInstance(), ElevationGainPreset_BAROMETRIC_getInstance(), ElevationGainPreset_DEM_getInstance(), ElevationGainPreset_GPS_getInstance()];
2863
+ }
2864
+ function get_entries_1() {
2865
+ static_init_1();
2866
+ if ($ENTRIES_1 == null)
2867
+ $ENTRIES_1 = enumEntries(values_1());
2868
+ return $ENTRIES_1;
2869
+ }
2870
+ var $ENTRIES_1;
2871
+ function ElevationGainPreset(name, ordinal, thresholdM, smoothWindowM) {
2872
+ Enum.call(this, name, ordinal);
2873
+ this.thresholdM_1 = thresholdM;
2874
+ this.smoothWindowM_1 = smoothWindowM;
2875
+ }
2876
+ protoOf(ElevationGainPreset).get_id_kntnx8_k$ = function () {
2877
+ var tmp;
2878
+ switch (this.ordinal_1) {
2879
+ case 0:
2880
+ tmp = 'raw';
2881
+ break;
2882
+ case 1:
2883
+ tmp = 'barometric';
2884
+ break;
2885
+ case 2:
2886
+ tmp = 'dem';
2887
+ break;
2888
+ case 3:
2889
+ tmp = 'gps';
2890
+ break;
2891
+ default:
2892
+ noWhenBranchMatchedException();
2893
+ break;
2894
+ }
2895
+ return tmp;
2896
+ };
2897
+ function Companion_3() {
2898
+ Companion_instance_4 = this;
2899
+ this.DEFAULT_1 = new ElevationGainOptions();
2900
+ this.RAW_1 = new ElevationGainOptions(VOID, ElevationGainPreset_RAW_getInstance());
2901
+ }
2902
+ var Companion_instance_4;
2903
+ function Companion_getInstance_4() {
2904
+ if (Companion_instance_4 == null)
2905
+ new Companion_3();
2906
+ return Companion_instance_4;
2907
+ }
2908
+ function ElevationGainOptions(enabled, preset, thresholdM, smoothWindowM) {
2909
+ Companion_getInstance_4();
2910
+ enabled = enabled === VOID ? true : enabled;
2911
+ preset = preset === VOID ? ElevationGainPreset_DEM_getInstance() : preset;
2912
+ thresholdM = thresholdM === VOID ? preset.thresholdM_1 : thresholdM;
2913
+ smoothWindowM = smoothWindowM === VOID ? preset.smoothWindowM_1 : smoothWindowM;
2914
+ this.enabled_1 = enabled;
2915
+ this.preset_1 = preset;
2916
+ this.thresholdM_1 = thresholdM;
2917
+ this.smoothWindowM_1 = smoothWindowM;
2918
+ // Inline function 'kotlin.require' call
2919
+ if (!(this.thresholdM_1 >= 0.0 && isFinite(this.thresholdM_1))) {
2920
+ var message = 'thresholdM must be finite and >= 0, was ' + this.thresholdM_1;
2921
+ throw IllegalArgumentException_init_$Create$_0(toString_0(message));
2922
+ }
2923
+ // Inline function 'kotlin.require' call
2924
+ if (!(this.smoothWindowM_1 >= 0.0 && isFinite(this.smoothWindowM_1))) {
2925
+ var message_0 = 'smoothWindowM must be finite and >= 0, was ' + this.smoothWindowM_1;
2926
+ throw IllegalArgumentException_init_$Create$_0(toString_0(message_0));
2927
+ }
2928
+ }
2929
+ protoOf(ElevationGainOptions).toString = function () {
2930
+ return 'ElevationGainOptions(enabled=' + this.enabled_1 + ', preset=' + this.preset_1.toString() + ', thresholdM=' + this.thresholdM_1 + ', smoothWindowM=' + this.smoothWindowM_1 + ')';
2931
+ };
2932
+ protoOf(ElevationGainOptions).hashCode = function () {
2933
+ var result = getBooleanHashCode(this.enabled_1);
2934
+ result = imul(result, 31) + this.preset_1.hashCode() | 0;
2935
+ result = imul(result, 31) + getNumberHashCode(this.thresholdM_1) | 0;
2936
+ result = imul(result, 31) + getNumberHashCode(this.smoothWindowM_1) | 0;
2937
+ return result;
2938
+ };
2939
+ protoOf(ElevationGainOptions).equals = function (other) {
2940
+ if (this === other)
2941
+ return true;
2942
+ if (!(other instanceof ElevationGainOptions))
2943
+ return false;
2944
+ if (!(this.enabled_1 === other.enabled_1))
2945
+ return false;
2946
+ if (!this.preset_1.equals(other.preset_1))
2947
+ return false;
2948
+ if (!equals(this.thresholdM_1, other.thresholdM_1))
2949
+ return false;
2950
+ if (!equals(this.smoothWindowM_1, other.smoothWindowM_1))
2527
2951
  return false;
2528
2952
  return true;
2529
2953
  };
2954
+ function ElevationGainPreset_RAW_getInstance() {
2955
+ static_init_1();
2956
+ return ElevationGainPreset_RAW_instance;
2957
+ }
2958
+ function ElevationGainPreset_BAROMETRIC_getInstance() {
2959
+ static_init_1();
2960
+ return ElevationGainPreset_BAROMETRIC_instance;
2961
+ }
2962
+ function ElevationGainPreset_DEM_getInstance() {
2963
+ static_init_1();
2964
+ return ElevationGainPreset_DEM_instance;
2965
+ }
2966
+ function ElevationGainPreset_GPS_getInstance() {
2967
+ static_init_1();
2968
+ return ElevationGainPreset_GPS_instance;
2969
+ }
2530
2970
  function copyAllSlots($this, source) {
2531
2971
  var out = new Path(source.size_1);
2532
2972
  var inductionVariable = 0;
@@ -2535,7 +2975,7 @@
2535
2975
  do {
2536
2976
  var i = inductionVariable;
2537
2977
  inductionVariable = inductionVariable + 1 | 0;
2538
- var _iterator__ex2g4s = get_entries_0().iterator_jk1svi_k$();
2978
+ var _iterator__ex2g4s = get_entries_2().iterator_jk1svi_k$();
2539
2979
  while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
2540
2980
  var field = _iterator__ex2g4s.next_20eer_k$();
2541
2981
  out.set_b3ze83_k$(i, field, source.get_z3le6l_k$(i, field));
@@ -2641,16 +3081,15 @@
2641
3081
  do {
2642
3082
  var i = inductionVariable_0;
2643
3083
  inductionVariable_0 = inductionVariable_0 + 1 | 0;
3084
+ if (isNaN_0(out.sourceElevation_i35mcq_k$(i))) {
3085
+ out.setSourceElevation_vjgie6_k$(i, source.elevation_iziwkb_k$(i));
3086
+ }
2644
3087
  out.setElevation_pv2zuv_k$(i, smoothed.get_c1px32_k$(i).get_elevation_8fwyb8_k$());
2645
3088
  }
2646
3089
  while (inductionVariable_0 < last);
2647
3090
  out.computeDerivedData_uoxpeo_k$();
2648
3091
  return out;
2649
3092
  };
2650
- protoOf(ElevationStep).smoothElevation$default_3c035p_k$ = function (source, windowM, $super) {
2651
- windowM = windowM === VOID ? 150.0 : windowM;
2652
- return $super === VOID ? this.smoothElevation_ahln31_k$(source, windowM) : $super.smoothElevation_ahln31_k$.call(this, source, windowM);
2653
- };
2654
3093
  var ElevationStep_instance;
2655
3094
  function ElevationStep_getInstance() {
2656
3095
  return ElevationStep_instance;
@@ -2662,231 +3101,238 @@
2662
3101
  var message = 'Negative size: ' + this.size_1;
2663
3102
  throw IllegalArgumentException_init_$Create$_0(toString_0(message));
2664
3103
  }
2665
- this.data_1 = new Float64Array(imul(this.size_1, 43));
3104
+ this.data_1 = new Float64Array(imul(this.size_1, 44));
2666
3105
  var inductionVariable = 0;
2667
3106
  var last = this.size_1;
2668
3107
  if (inductionVariable < last)
2669
3108
  do {
2670
3109
  var i = inductionVariable;
2671
3110
  inductionVariable = inductionVariable + 1 | 0;
2672
- this.data_1[imul(i, 43) + 38 | 0] = NaN;
2673
- this.data_1[imul(i, 43) + 39 | 0] = NaN;
2674
- this.data_1[imul(i, 43) + 40 | 0] = NaN;
2675
- this.data_1[imul(i, 43) + 41 | 0] = NaN;
2676
- this.data_1[imul(i, 43) + 42 | 0] = NaN;
3111
+ this.data_1[imul(i, 44) + 38 | 0] = NaN;
3112
+ this.data_1[imul(i, 44) + 39 | 0] = NaN;
3113
+ this.data_1[imul(i, 44) + 40 | 0] = NaN;
3114
+ this.data_1[imul(i, 44) + 41 | 0] = NaN;
3115
+ this.data_1[imul(i, 44) + 42 | 0] = NaN;
3116
+ this.data_1[imul(i, 44) + 43 | 0] = NaN;
2677
3117
  }
2678
3118
  while (inductionVariable < last);
2679
3119
  }
2680
3120
  protoOf(GeneratedPath).get_z3le6l_k$ = function (i, field) {
2681
- return this.data_1[imul(i, 43) + field.ordinal_1 | 0];
3121
+ return this.data_1[imul(i, 44) + field.ordinal_1 | 0];
2682
3122
  };
2683
3123
  protoOf(GeneratedPath).set_b3ze83_k$ = function (i, field, v) {
2684
- this.data_1[imul(i, 43) + field.ordinal_1 | 0] = v;
3124
+ this.data_1[imul(i, 44) + field.ordinal_1 | 0] = v;
2685
3125
  };
2686
3126
  protoOf(GeneratedPath).latitude_gb4iok_k$ = function (i) {
2687
- return this.data_1[imul(i, 43) + 0 | 0];
3127
+ return this.data_1[imul(i, 44) + 0 | 0];
2688
3128
  };
2689
3129
  protoOf(GeneratedPath).setLatitude_skkzf0_k$ = function (i, v) {
2690
- this.data_1[imul(i, 43) + 0 | 0] = v;
3130
+ this.data_1[imul(i, 44) + 0 | 0] = v;
2691
3131
  };
2692
3132
  protoOf(GeneratedPath).longitude_a9xl_k$ = function (i) {
2693
- return this.data_1[imul(i, 43) + 1 | 0];
3133
+ return this.data_1[imul(i, 44) + 1 | 0];
2694
3134
  };
2695
3135
  protoOf(GeneratedPath).setLongitude_k0bc8l_k$ = function (i, v) {
2696
- this.data_1[imul(i, 43) + 1 | 0] = v;
3136
+ this.data_1[imul(i, 44) + 1 | 0] = v;
2697
3137
  };
2698
3138
  protoOf(GeneratedPath).distance_5s4s77_k$ = function (i) {
2699
- return this.data_1[imul(i, 43) + 2 | 0];
3139
+ return this.data_1[imul(i, 44) + 2 | 0];
2700
3140
  };
2701
3141
  protoOf(GeneratedPath).setDistance_d14hwr_k$ = function (i, v) {
2702
- this.data_1[imul(i, 43) + 2 | 0] = v;
3142
+ this.data_1[imul(i, 44) + 2 | 0] = v;
2703
3143
  };
2704
3144
  protoOf(GeneratedPath).setDx_uk0ky4_k$ = function (i, v) {
2705
- this.data_1[imul(i, 43) + 3 | 0] = v;
3145
+ this.data_1[imul(i, 44) + 3 | 0] = v;
2706
3146
  };
2707
3147
  protoOf(GeneratedPath).time_ryc845_k$ = function (i) {
2708
- return this.data_1[imul(i, 43) + 4 | 0];
3148
+ return this.data_1[imul(i, 44) + 4 | 0];
2709
3149
  };
2710
3150
  protoOf(GeneratedPath).setTime_rfmvcd_k$ = function (i, v) {
2711
- this.data_1[imul(i, 43) + 4 | 0] = v;
3151
+ this.data_1[imul(i, 44) + 4 | 0] = v;
2712
3152
  };
2713
3153
  protoOf(GeneratedPath).elapsed_7307rw_k$ = function (i) {
2714
- return this.data_1[imul(i, 43) + 5 | 0];
3154
+ return this.data_1[imul(i, 44) + 5 | 0];
2715
3155
  };
2716
3156
  protoOf(GeneratedPath).setElapsed_916ug_k$ = function (i, v) {
2717
- this.data_1[imul(i, 43) + 5 | 0] = v;
3157
+ this.data_1[imul(i, 44) + 5 | 0] = v;
2718
3158
  };
2719
3159
  protoOf(GeneratedPath).dt_17uzp4_k$ = function (i) {
2720
- return this.data_1[imul(i, 43) + 6 | 0];
3160
+ return this.data_1[imul(i, 44) + 6 | 0];
2721
3161
  };
2722
3162
  protoOf(GeneratedPath).setDt_sgarxs_k$ = function (i, v) {
2723
- this.data_1[imul(i, 43) + 6 | 0] = v;
3163
+ this.data_1[imul(i, 44) + 6 | 0] = v;
2724
3164
  };
2725
3165
  protoOf(GeneratedPath).bearing_fz5vxm_k$ = function (i) {
2726
- return this.data_1[imul(i, 43) + 7 | 0];
3166
+ return this.data_1[imul(i, 44) + 7 | 0];
2727
3167
  };
2728
3168
  protoOf(GeneratedPath).setBearing_in05l6_k$ = function (i, v) {
2729
- this.data_1[imul(i, 43) + 7 | 0] = v;
3169
+ this.data_1[imul(i, 44) + 7 | 0] = v;
2730
3170
  };
2731
3171
  protoOf(GeneratedPath).elevation_iziwkb_k$ = function (i) {
2732
- return this.data_1[imul(i, 43) + 8 | 0];
3172
+ return this.data_1[imul(i, 44) + 8 | 0];
2733
3173
  };
2734
3174
  protoOf(GeneratedPath).setElevation_pv2zuv_k$ = function (i, v) {
2735
- this.data_1[imul(i, 43) + 8 | 0] = v;
3175
+ this.data_1[imul(i, 44) + 8 | 0] = v;
2736
3176
  };
2737
3177
  protoOf(GeneratedPath).grade_c4yjz5_k$ = function (i) {
2738
- return this.data_1[imul(i, 43) + 9 | 0];
3178
+ return this.data_1[imul(i, 44) + 9 | 0];
2739
3179
  };
2740
3180
  protoOf(GeneratedPath).setGrade_3tur8z_k$ = function (i, v) {
2741
- this.data_1[imul(i, 43) + 9 | 0] = v;
3181
+ this.data_1[imul(i, 44) + 9 | 0] = v;
2742
3182
  };
2743
3183
  protoOf(GeneratedPath).radius_84q0sm_k$ = function (i) {
2744
- return this.data_1[imul(i, 43) + 10 | 0];
3184
+ return this.data_1[imul(i, 44) + 10 | 0];
2745
3185
  };
2746
3186
  protoOf(GeneratedPath).setRadius_p1cueq_k$ = function (i, v) {
2747
- this.data_1[imul(i, 43) + 10 | 0] = v;
3187
+ this.data_1[imul(i, 44) + 10 | 0] = v;
2748
3188
  };
2749
3189
  protoOf(GeneratedPath).setAeroCoef_tmjifm_k$ = function (i, v) {
2750
- this.data_1[imul(i, 43) + 11 | 0] = v;
3190
+ this.data_1[imul(i, 44) + 11 | 0] = v;
2751
3191
  };
2752
3192
  protoOf(GeneratedPath).setWindBearing_44dbry_k$ = function (i, v) {
2753
- this.data_1[imul(i, 43) + 12 | 0] = v;
3193
+ this.data_1[imul(i, 44) + 12 | 0] = v;
2754
3194
  };
2755
3195
  protoOf(GeneratedPath).windAlpha_7rjela_k$ = function (i) {
2756
- return this.data_1[imul(i, 43) + 13 | 0];
3196
+ return this.data_1[imul(i, 44) + 13 | 0];
2757
3197
  };
2758
3198
  protoOf(GeneratedPath).setWindAlpha_xkbtf2_k$ = function (i, v) {
2759
- this.data_1[imul(i, 43) + 13 | 0] = v;
3199
+ this.data_1[imul(i, 44) + 13 | 0] = v;
2760
3200
  };
2761
3201
  protoOf(GeneratedPath).setPAero_mmc4mr_k$ = function (i, v) {
2762
- this.data_1[imul(i, 43) + 14 | 0] = v;
3202
+ this.data_1[imul(i, 44) + 14 | 0] = v;
2763
3203
  };
2764
3204
  protoOf(GeneratedPath).setPGravity_tegtcu_k$ = function (i, v) {
2765
- this.data_1[imul(i, 43) + 15 | 0] = v;
3205
+ this.data_1[imul(i, 44) + 15 | 0] = v;
2766
3206
  };
2767
3207
  protoOf(GeneratedPath).setPRollingResistance_h04uz6_k$ = function (i, v) {
2768
- this.data_1[imul(i, 43) + 16 | 0] = v;
3208
+ this.data_1[imul(i, 44) + 16 | 0] = v;
2769
3209
  };
2770
3210
  protoOf(GeneratedPath).setPWheelBearings_djmhww_k$ = function (i, v) {
2771
- this.data_1[imul(i, 43) + 17 | 0] = v;
3211
+ this.data_1[imul(i, 44) + 17 | 0] = v;
2772
3212
  };
2773
3213
  protoOf(GeneratedPath).pInputPower_ybhudp_k$ = function (i) {
2774
- return this.data_1[imul(i, 43) + 18 | 0];
3214
+ return this.data_1[imul(i, 44) + 18 | 0];
2775
3215
  };
2776
3216
  protoOf(GeneratedPath).setPInputPower_i1beh_k$ = function (i, v) {
2777
- this.data_1[imul(i, 43) + 18 | 0] = v;
3217
+ this.data_1[imul(i, 44) + 18 | 0] = v;
2778
3218
  };
2779
3219
  protoOf(GeneratedPath).setPCyclistProvidedOptimalPower_gha9up_k$ = function (i, v) {
2780
- this.data_1[imul(i, 43) + 19 | 0] = v;
3220
+ this.data_1[imul(i, 44) + 19 | 0] = v;
2781
3221
  };
2782
3222
  protoOf(GeneratedPath).setPCyclistProvidedOptimalPowerWithHarmonics_tg3fol_k$ = function (i, v) {
2783
- this.data_1[imul(i, 43) + 20 | 0] = v;
3223
+ this.data_1[imul(i, 44) + 20 | 0] = v;
2784
3224
  };
2785
3225
  protoOf(GeneratedPath).setPCyclistPowerNeeded_54po1x_k$ = function (i, v) {
2786
- this.data_1[imul(i, 43) + 21 | 0] = v;
3226
+ this.data_1[imul(i, 44) + 21 | 0] = v;
2787
3227
  };
2788
3228
  protoOf(GeneratedPath).setPCyclistProvidedMuscular_aori9q_k$ = function (i, v) {
2789
- this.data_1[imul(i, 43) + 22 | 0] = v;
3229
+ this.data_1[imul(i, 44) + 22 | 0] = v;
2790
3230
  };
2791
3231
  protoOf(GeneratedPath).setPCyclistProvidedWheel_ofsihz_k$ = function (i, v) {
2792
- this.data_1[imul(i, 43) + 23 | 0] = v;
3232
+ this.data_1[imul(i, 44) + 23 | 0] = v;
2793
3233
  };
2794
3234
  protoOf(GeneratedPath).setPComputedTotalPower_wm6di_k$ = function (i, v) {
2795
- this.data_1[imul(i, 43) + 24 | 0] = v;
3235
+ this.data_1[imul(i, 44) + 24 | 0] = v;
2796
3236
  };
2797
3237
  protoOf(GeneratedPath).setPComputedWheelPower_qplog3_k$ = function (i, v) {
2798
- this.data_1[imul(i, 43) + 25 | 0] = v;
3238
+ this.data_1[imul(i, 44) + 25 | 0] = v;
2799
3239
  };
2800
3240
  protoOf(GeneratedPath).pComputedPower_g6dnn4_k$ = function (i) {
2801
- return this.data_1[imul(i, 43) + 26 | 0];
3241
+ return this.data_1[imul(i, 44) + 26 | 0];
2802
3242
  };
2803
3243
  protoOf(GeneratedPath).setPComputedPower_c3m6yw_k$ = function (i, v) {
2804
- this.data_1[imul(i, 43) + 26 | 0] = v;
3244
+ this.data_1[imul(i, 44) + 26 | 0] = v;
2805
3245
  };
2806
3246
  protoOf(GeneratedPath).speed_npav2n_k$ = function (i) {
2807
- return this.data_1[imul(i, 43) + 27 | 0];
3247
+ return this.data_1[imul(i, 44) + 27 | 0];
2808
3248
  };
2809
3249
  protoOf(GeneratedPath).setSpeed_1slan1_k$ = function (i, v) {
2810
- this.data_1[imul(i, 43) + 27 | 0] = v;
3250
+ this.data_1[imul(i, 44) + 27 | 0] = v;
2811
3251
  };
2812
3252
  protoOf(GeneratedPath).speedMax_mjo2cl_k$ = function (i) {
2813
- return this.data_1[imul(i, 43) + 28 | 0];
3253
+ return this.data_1[imul(i, 44) + 28 | 0];
2814
3254
  };
2815
3255
  protoOf(GeneratedPath).setSpeedMax_7xvqir_k$ = function (i, v) {
2816
- this.data_1[imul(i, 43) + 28 | 0] = v;
3256
+ this.data_1[imul(i, 44) + 28 | 0] = v;
2817
3257
  };
2818
3258
  protoOf(GeneratedPath).setSpeedMaxIncline_8l69w1_k$ = function (i, v) {
2819
- this.data_1[imul(i, 43) + 29 | 0] = v;
3259
+ this.data_1[imul(i, 44) + 29 | 0] = v;
2820
3260
  };
2821
3261
  protoOf(GeneratedPath).setVirtSpeedCurrent_kvg8yv_k$ = function (i, v) {
2822
- this.data_1[imul(i, 43) + 30 | 0] = v;
3262
+ this.data_1[imul(i, 44) + 30 | 0] = v;
2823
3263
  };
2824
3264
  protoOf(GeneratedPath).temperature_6yw0ik_k$ = function (i) {
2825
- return this.data_1[imul(i, 43) + 31 | 0];
3265
+ return this.data_1[imul(i, 44) + 31 | 0];
2826
3266
  };
2827
3267
  protoOf(GeneratedPath).setTemperature_nno5xs_k$ = function (i, v) {
2828
- this.data_1[imul(i, 43) + 31 | 0] = v;
3268
+ this.data_1[imul(i, 44) + 31 | 0] = v;
2829
3269
  };
2830
3270
  protoOf(GeneratedPath).windSpeed_6m3dy1_k$ = function (i) {
2831
- return this.data_1[imul(i, 43) + 32 | 0];
3271
+ return this.data_1[imul(i, 44) + 32 | 0];
2832
3272
  };
2833
3273
  protoOf(GeneratedPath).setWindSpeed_ggaslh_k$ = function (i, v) {
2834
- this.data_1[imul(i, 43) + 32 | 0] = v;
3274
+ this.data_1[imul(i, 44) + 32 | 0] = v;
2835
3275
  };
2836
3276
  protoOf(GeneratedPath).setWindDirection_86vnxv_k$ = function (i, v) {
2837
- this.data_1[imul(i, 43) + 33 | 0] = v;
3277
+ this.data_1[imul(i, 44) + 33 | 0] = v;
2838
3278
  };
2839
3279
  protoOf(GeneratedPath).heartRate_qiaqfm_k$ = function (i) {
2840
- return this.data_1[imul(i, 43) + 34 | 0];
3280
+ return this.data_1[imul(i, 44) + 34 | 0];
2841
3281
  };
2842
3282
  protoOf(GeneratedPath).setHeartRate_3mzzq6_k$ = function (i, v) {
2843
- this.data_1[imul(i, 43) + 34 | 0] = v;
3283
+ this.data_1[imul(i, 44) + 34 | 0] = v;
2844
3284
  };
2845
3285
  protoOf(GeneratedPath).cadence_h3r7af_k$ = function (i) {
2846
- return this.data_1[imul(i, 43) + 35 | 0];
3286
+ return this.data_1[imul(i, 44) + 35 | 0];
2847
3287
  };
2848
3288
  protoOf(GeneratedPath).setCadence_ick7df_k$ = function (i, v) {
2849
- this.data_1[imul(i, 43) + 35 | 0] = v;
3289
+ this.data_1[imul(i, 44) + 35 | 0] = v;
2850
3290
  };
2851
3291
  protoOf(GeneratedPath).setWPrimeBalance_stwqkw_k$ = function (i, v) {
2852
- this.data_1[imul(i, 43) + 36 | 0] = v;
3292
+ this.data_1[imul(i, 44) + 36 | 0] = v;
2853
3293
  };
2854
3294
  protoOf(GeneratedPath).setPBrake_iza4qj_k$ = function (i, v) {
2855
- this.data_1[imul(i, 43) + 37 | 0] = v;
3295
+ this.data_1[imul(i, 44) + 37 | 0] = v;
2856
3296
  };
2857
3297
  protoOf(GeneratedPath).trajectoryCurvature_t4abpc_k$ = function (i) {
2858
- return this.data_1[imul(i, 43) + 38 | 0];
3298
+ return this.data_1[imul(i, 44) + 38 | 0];
2859
3299
  };
2860
3300
  protoOf(GeneratedPath).setTrajectoryCurvature_yjmp8s_k$ = function (i, v) {
2861
- this.data_1[imul(i, 43) + 38 | 0] = v;
3301
+ this.data_1[imul(i, 44) + 38 | 0] = v;
2862
3302
  };
2863
3303
  protoOf(GeneratedPath).roadWidth_7zv9qq_k$ = function (i) {
2864
- return this.data_1[imul(i, 43) + 39 | 0];
3304
+ return this.data_1[imul(i, 44) + 39 | 0];
2865
3305
  };
2866
3306
  protoOf(GeneratedPath).setRoadWidth_g0vcte_k$ = function (i, v) {
2867
- this.data_1[imul(i, 43) + 39 | 0] = v;
3307
+ this.data_1[imul(i, 44) + 39 | 0] = v;
2868
3308
  };
2869
3309
  protoOf(GeneratedPath).setLateralOffset_k5uegq_k$ = function (i, v) {
2870
- this.data_1[imul(i, 43) + 40 | 0] = v;
3310
+ this.data_1[imul(i, 44) + 40 | 0] = v;
2871
3311
  };
2872
3312
  protoOf(GeneratedPath).setSourceLatitude_jzh9ix_k$ = function (i, v) {
2873
- this.data_1[imul(i, 43) + 41 | 0] = v;
3313
+ this.data_1[imul(i, 44) + 41 | 0] = v;
2874
3314
  };
2875
3315
  protoOf(GeneratedPath).setSourceLongitude_xmvvyo_k$ = function (i, v) {
2876
- this.data_1[imul(i, 43) + 42 | 0] = v;
3316
+ this.data_1[imul(i, 44) + 42 | 0] = v;
2877
3317
  };
2878
- function Companion_0() {
2879
- Companion_instance_1 = this;
3318
+ protoOf(GeneratedPath).sourceElevation_i35mcq_k$ = function (i) {
3319
+ return this.data_1[imul(i, 44) + 43 | 0];
3320
+ };
3321
+ protoOf(GeneratedPath).setSourceElevation_vjgie6_k$ = function (i, v) {
3322
+ this.data_1[imul(i, 44) + 43 | 0] = v;
3323
+ };
3324
+ function Companion_4() {
3325
+ Companion_instance_5 = this;
2880
3326
  this.EMPTY_1 = new BoundsRad(0.0, 0.0, 0.0, 0.0);
2881
3327
  }
2882
- var Companion_instance_1;
2883
- function Companion_getInstance_1() {
2884
- if (Companion_instance_1 == null)
2885
- new Companion_0();
2886
- return Companion_instance_1;
3328
+ var Companion_instance_5;
3329
+ function Companion_getInstance_5() {
3330
+ if (Companion_instance_5 == null)
3331
+ new Companion_4();
3332
+ return Companion_instance_5;
2887
3333
  }
2888
3334
  function BoundsRad(minLat, maxLat, minLon, maxLon) {
2889
- Companion_getInstance_1();
3335
+ Companion_getInstance_5();
2890
3336
  this.minLat_1 = minLat;
2891
3337
  this.maxLat_1 = maxLat;
2892
3338
  this.minLon_1 = minLon;
@@ -2923,6 +3369,8 @@
2923
3369
  $this.maxElevation_1 = other.maxElevation_1;
2924
3370
  $this.elevationGain_1 = other.elevationGain_1;
2925
3371
  $this.elevationLoss_1 = other.elevationLoss_1;
3372
+ $this.elevationGainFiltered_1 = other.elevationGainFiltered_1;
3373
+ $this.elevationLossFiltered_1 = other.elevationLossFiltered_1;
2926
3374
  $this.durationMs_1 = other.durationMs_1;
2927
3375
  $this.boundsRad_1 = other.boundsRad_1;
2928
3376
  }
@@ -2932,8 +3380,10 @@
2932
3380
  $this.maxElevation_1 = 0.0;
2933
3381
  $this.elevationGain_1 = 0.0;
2934
3382
  $this.elevationLoss_1 = 0.0;
3383
+ $this.elevationGainFiltered_1 = NaN;
3384
+ $this.elevationLossFiltered_1 = NaN;
2935
3385
  $this.durationMs_1 = 0.0;
2936
- $this.boundsRad_1 = Companion_getInstance_1().EMPTY_1;
3386
+ $this.boundsRad_1 = Companion_getInstance_5().EMPTY_1;
2937
3387
  }
2938
3388
  function computeBearing($this, from, to) {
2939
3389
  var lat1 = $this.latitude_gb4iok_k$(from);
@@ -2952,11 +3402,11 @@
2952
3402
  var y = -dy;
2953
3403
  return Math.atan2(y, dx);
2954
3404
  }
2955
- function Companion_1() {
3405
+ function Companion_5() {
2956
3406
  }
2957
- var Companion_instance_2;
2958
- function Companion_getInstance_2() {
2959
- return Companion_instance_2;
3407
+ var Companion_instance_6;
3408
+ function Companion_getInstance_6() {
3409
+ return Companion_instance_6;
2960
3410
  }
2961
3411
  function Path(size) {
2962
3412
  GeneratedPath.call(this, size);
@@ -2965,9 +3415,17 @@
2965
3415
  this.maxElevation_1 = 0.0;
2966
3416
  this.elevationGain_1 = 0.0;
2967
3417
  this.elevationLoss_1 = 0.0;
3418
+ this.elevationGainFiltered_1 = NaN;
3419
+ this.elevationLossFiltered_1 = NaN;
2968
3420
  this.durationMs_1 = 0.0;
2969
- this.boundsRad_1 = Companion_getInstance_1().EMPTY_1;
3421
+ this.boundsRad_1 = Companion_getInstance_5().EMPTY_1;
2970
3422
  }
3423
+ protoOf(Path).get_reportedElevationGain_hffpog_k$ = function () {
3424
+ return isNaN_0(this.elevationGainFiltered_1) ? this.elevationGain_1 : this.elevationGainFiltered_1;
3425
+ };
3426
+ protoOf(Path).get_reportedElevationLoss_hfc84c_k$ = function () {
3427
+ return isNaN_0(this.elevationLossFiltered_1) ? this.elevationLoss_1 : this.elevationLossFiltered_1;
3428
+ };
2971
3429
  protoOf(Path).get_indices_xelk8u_k$ = function () {
2972
3430
  return until(0, this.size_1);
2973
3431
  };
@@ -3127,7 +3585,7 @@
3127
3585
  var dstIdx = index;
3128
3586
  index = index + 1 | 0;
3129
3587
  var srcIdx = iterator.next_20eer_k$();
3130
- var _iterator__ex2g4s_0 = get_entries_0().iterator_jk1svi_k$();
3588
+ var _iterator__ex2g4s_0 = get_entries_2().iterator_jk1svi_k$();
3131
3589
  while (_iterator__ex2g4s_0.hasNext_bitz1p_k$()) {
3132
3590
  var field = _iterator__ex2g4s_0.next_20eer_k$();
3133
3591
  out.set_b3ze83_k$(dstIdx, field, path.get_z3le6l_k$(srcIdx, field));
@@ -3140,11 +3598,11 @@
3140
3598
  function PathSimplifier_getInstance() {
3141
3599
  return PathSimplifier_instance;
3142
3600
  }
3143
- var static_init_called_1;
3144
- function static_init_1() {
3145
- if (static_init_called_1)
3601
+ var static_init_called_2;
3602
+ function static_init_2() {
3603
+ if (static_init_called_2)
3146
3604
  return Unit_instance;
3147
- static_init_called_1 = true;
3605
+ static_init_called_2 = true;
3148
3606
  PointField_LATITUDE_instance = new PointField('LATITUDE', 0, 'latitude', 'radians', 'Latitude (radians)', PointFieldCategory_COORDINATES_getInstance(), true, true);
3149
3607
  PointField_LONGITUDE_instance = new PointField('LONGITUDE', 1, 'longitude', 'radians', 'Longitude (radians)', PointFieldCategory_COORDINATES_getInstance(), true, true);
3150
3608
  PointField_DISTANCE_instance = new PointField('DISTANCE', 2, 'distance', 'meters', 'Distance (meters)', PointFieldCategory_COORDINATES_getInstance());
@@ -3188,9 +3646,10 @@
3188
3646
  PointField_LATERAL_OFFSET_instance = new PointField('LATERAL_OFFSET', 40, 'lateralOffset', 'meters', 'Lateral offset (m, + = left)', PointFieldCategory_ROAD_getInstance(), VOID, VOID, true);
3189
3647
  PointField_SOURCE_LATITUDE_instance = new PointField('SOURCE_LATITUDE', 41, 'sourceLatitude', 'radians', 'Original latitude before the racing line (radians)', PointFieldCategory_ROAD_getInstance(), true, true, true);
3190
3648
  PointField_SOURCE_LONGITUDE_instance = new PointField('SOURCE_LONGITUDE', 42, 'sourceLongitude', 'radians', 'Original longitude before the racing line (radians)', PointFieldCategory_ROAD_getInstance(), true, true, true);
3191
- if (Companion_instance_3 == null) {
3649
+ PointField_SOURCE_ELEVATION_instance = new PointField('SOURCE_ELEVATION', 43, 'sourceElevation', 'meters', 'Original elevation before smoothing (m)', PointFieldCategory_ELEVATION_getInstance(), true, VOID, true);
3650
+ if (Companion_instance_7 == null) {
3192
3651
  Companion_instance;
3193
- new Companion_2();
3652
+ new Companion_6();
3194
3653
  }
3195
3654
  }
3196
3655
  var PointField_LATITUDE_instance;
@@ -3236,12 +3695,13 @@
3236
3695
  var PointField_LATERAL_OFFSET_instance;
3237
3696
  var PointField_SOURCE_LATITUDE_instance;
3238
3697
  var PointField_SOURCE_LONGITUDE_instance;
3239
- function Companion_2() {
3240
- Companion_instance_3 = this;
3241
- this.COUNT_1 = 43;
3698
+ var PointField_SOURCE_ELEVATION_instance;
3699
+ function Companion_6() {
3700
+ Companion_instance_7 = this;
3701
+ this.COUNT_1 = 44;
3242
3702
  var tmp = this;
3243
3703
  // Inline function 'kotlin.collections.associateBy' call
3244
- var this_0 = get_entries_0();
3704
+ var this_0 = get_entries_2();
3245
3705
  var capacity = coerceAtLeast(mapCapacity(collectionSizeOrDefault(this_0, 10)), 16);
3246
3706
  // Inline function 'kotlin.collections.associateByTo' call
3247
3707
  var destination = LinkedHashMap_init_$Create$(capacity);
@@ -3253,25 +3713,25 @@
3253
3713
  }
3254
3714
  tmp.byPropMap_1 = destination;
3255
3715
  }
3256
- protoOf(Companion_2).byProp_kdf1eo_k$ = function (prop) {
3716
+ protoOf(Companion_6).byProp_kdf1eo_k$ = function (prop) {
3257
3717
  return this.byPropMap_1.get_wei43m_k$(prop);
3258
3718
  };
3259
- var Companion_instance_3;
3260
- function Companion_getInstance_3() {
3261
- static_init_1();
3262
- return Companion_instance_3;
3719
+ var Companion_instance_7;
3720
+ function Companion_getInstance_7() {
3721
+ static_init_2();
3722
+ return Companion_instance_7;
3263
3723
  }
3264
- function values_0() {
3265
- static_init_1();
3266
- return [PointField_LATITUDE_getInstance(), PointField_LONGITUDE_getInstance(), PointField_DISTANCE_getInstance(), PointField_DX_getInstance(), PointField_TIME_getInstance(), PointField_ELAPSED_getInstance(), PointField_DT_getInstance(), PointField_BEARING_getInstance(), PointField_ELEVATION_getInstance(), PointField_GRADE_getInstance(), PointField_RADIUS_getInstance(), PointField_AERO_COEF_getInstance(), PointField_WIND_BEARING_getInstance(), PointField_WIND_ALPHA_getInstance(), PointField_P_AERO_getInstance(), PointField_P_GRAVITY_getInstance(), PointField_P_ROLLING_RESISTANCE_getInstance(), PointField_P_WHEEL_BEARINGS_getInstance(), PointField_P_INPUT_POWER_getInstance(), PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_getInstance(), PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_HARMONICS_getInstance(), PointField_P_CYCLIST_PROVIDED_POWER_NEEDED_getInstance(), PointField_P_CYCLIST_PROVIDED_MUSCULAR_getInstance(), PointField_P_CYCLIST_PROVIDED_WHEEL_getInstance(), PointField_P_COMPUTED_TOTAL_POWER_getInstance(), PointField_P_COMPUTED_WHEEL_POWER_getInstance(), PointField_POWER_getInstance(), PointField_SPEED_getInstance(), PointField_SPEED_MAX_getInstance(), PointField_SPEED_MAX_INCLINE_getInstance(), PointField_VIRT_SPEED_CURRENT_getInstance(), PointField_TEMPERATURE_getInstance(), PointField_WIND_SPEED_getInstance(), PointField_WIND_DIRECTION_getInstance(), PointField_HEART_RATE_getInstance(), PointField_CADENCE_getInstance(), PointField_W_PRIME_BALANCE_getInstance(), PointField_P_BRAKE_getInstance(), PointField_TRAJECTORY_CURVATURE_getInstance(), PointField_ROAD_WIDTH_getInstance(), PointField_LATERAL_OFFSET_getInstance(), PointField_SOURCE_LATITUDE_getInstance(), PointField_SOURCE_LONGITUDE_getInstance()];
3724
+ function values_2() {
3725
+ static_init_2();
3726
+ return [PointField_LATITUDE_getInstance(), PointField_LONGITUDE_getInstance(), PointField_DISTANCE_getInstance(), PointField_DX_getInstance(), PointField_TIME_getInstance(), PointField_ELAPSED_getInstance(), PointField_DT_getInstance(), PointField_BEARING_getInstance(), PointField_ELEVATION_getInstance(), PointField_GRADE_getInstance(), PointField_RADIUS_getInstance(), PointField_AERO_COEF_getInstance(), PointField_WIND_BEARING_getInstance(), PointField_WIND_ALPHA_getInstance(), PointField_P_AERO_getInstance(), PointField_P_GRAVITY_getInstance(), PointField_P_ROLLING_RESISTANCE_getInstance(), PointField_P_WHEEL_BEARINGS_getInstance(), PointField_P_INPUT_POWER_getInstance(), PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_getInstance(), PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_HARMONICS_getInstance(), PointField_P_CYCLIST_PROVIDED_POWER_NEEDED_getInstance(), PointField_P_CYCLIST_PROVIDED_MUSCULAR_getInstance(), PointField_P_CYCLIST_PROVIDED_WHEEL_getInstance(), PointField_P_COMPUTED_TOTAL_POWER_getInstance(), PointField_P_COMPUTED_WHEEL_POWER_getInstance(), PointField_POWER_getInstance(), PointField_SPEED_getInstance(), PointField_SPEED_MAX_getInstance(), PointField_SPEED_MAX_INCLINE_getInstance(), PointField_VIRT_SPEED_CURRENT_getInstance(), PointField_TEMPERATURE_getInstance(), PointField_WIND_SPEED_getInstance(), PointField_WIND_DIRECTION_getInstance(), PointField_HEART_RATE_getInstance(), PointField_CADENCE_getInstance(), PointField_W_PRIME_BALANCE_getInstance(), PointField_P_BRAKE_getInstance(), PointField_TRAJECTORY_CURVATURE_getInstance(), PointField_ROAD_WIDTH_getInstance(), PointField_LATERAL_OFFSET_getInstance(), PointField_SOURCE_LATITUDE_getInstance(), PointField_SOURCE_LONGITUDE_getInstance(), PointField_SOURCE_ELEVATION_getInstance()];
3267
3727
  }
3268
- function get_entries_0() {
3269
- static_init_1();
3270
- if ($ENTRIES_0 == null)
3271
- $ENTRIES_0 = enumEntries(values_0());
3272
- return $ENTRIES_0;
3728
+ function get_entries_2() {
3729
+ static_init_2();
3730
+ if ($ENTRIES_2 == null)
3731
+ $ENTRIES_2 = enumEntries(values_2());
3732
+ return $ENTRIES_2;
3273
3733
  }
3274
- var $ENTRIES_0;
3734
+ var $ENTRIES_2;
3275
3735
  function PointField(name, ordinal, prop, unit, shortDescription, category, notSelectable, anglesInRadians, nanDefault) {
3276
3736
  notSelectable = notSelectable === VOID ? false : notSelectable;
3277
3737
  anglesInRadians = anglesInRadians === VOID ? false : anglesInRadians;
@@ -3286,182 +3746,186 @@
3286
3746
  this.nanDefault_1 = nanDefault;
3287
3747
  }
3288
3748
  function PointField_LATITUDE_getInstance() {
3289
- static_init_1();
3749
+ static_init_2();
3290
3750
  return PointField_LATITUDE_instance;
3291
3751
  }
3292
3752
  function PointField_LONGITUDE_getInstance() {
3293
- static_init_1();
3753
+ static_init_2();
3294
3754
  return PointField_LONGITUDE_instance;
3295
3755
  }
3296
3756
  function PointField_DISTANCE_getInstance() {
3297
- static_init_1();
3757
+ static_init_2();
3298
3758
  return PointField_DISTANCE_instance;
3299
3759
  }
3300
3760
  function PointField_DX_getInstance() {
3301
- static_init_1();
3761
+ static_init_2();
3302
3762
  return PointField_DX_instance;
3303
3763
  }
3304
3764
  function PointField_TIME_getInstance() {
3305
- static_init_1();
3765
+ static_init_2();
3306
3766
  return PointField_TIME_instance;
3307
3767
  }
3308
3768
  function PointField_ELAPSED_getInstance() {
3309
- static_init_1();
3769
+ static_init_2();
3310
3770
  return PointField_ELAPSED_instance;
3311
3771
  }
3312
3772
  function PointField_DT_getInstance() {
3313
- static_init_1();
3773
+ static_init_2();
3314
3774
  return PointField_DT_instance;
3315
3775
  }
3316
3776
  function PointField_BEARING_getInstance() {
3317
- static_init_1();
3777
+ static_init_2();
3318
3778
  return PointField_BEARING_instance;
3319
3779
  }
3320
3780
  function PointField_ELEVATION_getInstance() {
3321
- static_init_1();
3781
+ static_init_2();
3322
3782
  return PointField_ELEVATION_instance;
3323
3783
  }
3324
3784
  function PointField_GRADE_getInstance() {
3325
- static_init_1();
3785
+ static_init_2();
3326
3786
  return PointField_GRADE_instance;
3327
3787
  }
3328
3788
  function PointField_RADIUS_getInstance() {
3329
- static_init_1();
3789
+ static_init_2();
3330
3790
  return PointField_RADIUS_instance;
3331
3791
  }
3332
3792
  function PointField_AERO_COEF_getInstance() {
3333
- static_init_1();
3793
+ static_init_2();
3334
3794
  return PointField_AERO_COEF_instance;
3335
3795
  }
3336
3796
  function PointField_WIND_BEARING_getInstance() {
3337
- static_init_1();
3797
+ static_init_2();
3338
3798
  return PointField_WIND_BEARING_instance;
3339
3799
  }
3340
3800
  function PointField_WIND_ALPHA_getInstance() {
3341
- static_init_1();
3801
+ static_init_2();
3342
3802
  return PointField_WIND_ALPHA_instance;
3343
3803
  }
3344
3804
  function PointField_P_AERO_getInstance() {
3345
- static_init_1();
3805
+ static_init_2();
3346
3806
  return PointField_P_AERO_instance;
3347
3807
  }
3348
3808
  function PointField_P_GRAVITY_getInstance() {
3349
- static_init_1();
3809
+ static_init_2();
3350
3810
  return PointField_P_GRAVITY_instance;
3351
3811
  }
3352
3812
  function PointField_P_ROLLING_RESISTANCE_getInstance() {
3353
- static_init_1();
3813
+ static_init_2();
3354
3814
  return PointField_P_ROLLING_RESISTANCE_instance;
3355
3815
  }
3356
3816
  function PointField_P_WHEEL_BEARINGS_getInstance() {
3357
- static_init_1();
3817
+ static_init_2();
3358
3818
  return PointField_P_WHEEL_BEARINGS_instance;
3359
3819
  }
3360
3820
  function PointField_P_INPUT_POWER_getInstance() {
3361
- static_init_1();
3821
+ static_init_2();
3362
3822
  return PointField_P_INPUT_POWER_instance;
3363
3823
  }
3364
3824
  function PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_getInstance() {
3365
- static_init_1();
3825
+ static_init_2();
3366
3826
  return PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_instance;
3367
3827
  }
3368
3828
  function PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_HARMONICS_getInstance() {
3369
- static_init_1();
3829
+ static_init_2();
3370
3830
  return PointField_P_CYCLIST_PROVIDED_OPTIMAL_POWER_HARMONICS_instance;
3371
3831
  }
3372
3832
  function PointField_P_CYCLIST_PROVIDED_POWER_NEEDED_getInstance() {
3373
- static_init_1();
3833
+ static_init_2();
3374
3834
  return PointField_P_CYCLIST_PROVIDED_POWER_NEEDED_instance;
3375
3835
  }
3376
3836
  function PointField_P_CYCLIST_PROVIDED_MUSCULAR_getInstance() {
3377
- static_init_1();
3837
+ static_init_2();
3378
3838
  return PointField_P_CYCLIST_PROVIDED_MUSCULAR_instance;
3379
3839
  }
3380
3840
  function PointField_P_CYCLIST_PROVIDED_WHEEL_getInstance() {
3381
- static_init_1();
3841
+ static_init_2();
3382
3842
  return PointField_P_CYCLIST_PROVIDED_WHEEL_instance;
3383
3843
  }
3384
3844
  function PointField_P_COMPUTED_TOTAL_POWER_getInstance() {
3385
- static_init_1();
3845
+ static_init_2();
3386
3846
  return PointField_P_COMPUTED_TOTAL_POWER_instance;
3387
3847
  }
3388
3848
  function PointField_P_COMPUTED_WHEEL_POWER_getInstance() {
3389
- static_init_1();
3849
+ static_init_2();
3390
3850
  return PointField_P_COMPUTED_WHEEL_POWER_instance;
3391
3851
  }
3392
3852
  function PointField_POWER_getInstance() {
3393
- static_init_1();
3853
+ static_init_2();
3394
3854
  return PointField_POWER_instance;
3395
3855
  }
3396
3856
  function PointField_SPEED_getInstance() {
3397
- static_init_1();
3857
+ static_init_2();
3398
3858
  return PointField_SPEED_instance;
3399
3859
  }
3400
3860
  function PointField_SPEED_MAX_getInstance() {
3401
- static_init_1();
3861
+ static_init_2();
3402
3862
  return PointField_SPEED_MAX_instance;
3403
3863
  }
3404
3864
  function PointField_SPEED_MAX_INCLINE_getInstance() {
3405
- static_init_1();
3865
+ static_init_2();
3406
3866
  return PointField_SPEED_MAX_INCLINE_instance;
3407
3867
  }
3408
3868
  function PointField_VIRT_SPEED_CURRENT_getInstance() {
3409
- static_init_1();
3869
+ static_init_2();
3410
3870
  return PointField_VIRT_SPEED_CURRENT_instance;
3411
3871
  }
3412
3872
  function PointField_TEMPERATURE_getInstance() {
3413
- static_init_1();
3873
+ static_init_2();
3414
3874
  return PointField_TEMPERATURE_instance;
3415
3875
  }
3416
3876
  function PointField_WIND_SPEED_getInstance() {
3417
- static_init_1();
3877
+ static_init_2();
3418
3878
  return PointField_WIND_SPEED_instance;
3419
3879
  }
3420
3880
  function PointField_WIND_DIRECTION_getInstance() {
3421
- static_init_1();
3881
+ static_init_2();
3422
3882
  return PointField_WIND_DIRECTION_instance;
3423
3883
  }
3424
3884
  function PointField_HEART_RATE_getInstance() {
3425
- static_init_1();
3885
+ static_init_2();
3426
3886
  return PointField_HEART_RATE_instance;
3427
3887
  }
3428
3888
  function PointField_CADENCE_getInstance() {
3429
- static_init_1();
3889
+ static_init_2();
3430
3890
  return PointField_CADENCE_instance;
3431
3891
  }
3432
3892
  function PointField_W_PRIME_BALANCE_getInstance() {
3433
- static_init_1();
3893
+ static_init_2();
3434
3894
  return PointField_W_PRIME_BALANCE_instance;
3435
3895
  }
3436
3896
  function PointField_P_BRAKE_getInstance() {
3437
- static_init_1();
3897
+ static_init_2();
3438
3898
  return PointField_P_BRAKE_instance;
3439
3899
  }
3440
3900
  function PointField_TRAJECTORY_CURVATURE_getInstance() {
3441
- static_init_1();
3901
+ static_init_2();
3442
3902
  return PointField_TRAJECTORY_CURVATURE_instance;
3443
3903
  }
3444
3904
  function PointField_ROAD_WIDTH_getInstance() {
3445
- static_init_1();
3905
+ static_init_2();
3446
3906
  return PointField_ROAD_WIDTH_instance;
3447
3907
  }
3448
3908
  function PointField_LATERAL_OFFSET_getInstance() {
3449
- static_init_1();
3909
+ static_init_2();
3450
3910
  return PointField_LATERAL_OFFSET_instance;
3451
3911
  }
3452
3912
  function PointField_SOURCE_LATITUDE_getInstance() {
3453
- static_init_1();
3913
+ static_init_2();
3454
3914
  return PointField_SOURCE_LATITUDE_instance;
3455
3915
  }
3456
3916
  function PointField_SOURCE_LONGITUDE_getInstance() {
3457
- static_init_1();
3917
+ static_init_2();
3458
3918
  return PointField_SOURCE_LONGITUDE_instance;
3459
3919
  }
3460
- var static_init_called_2;
3461
- function static_init_2() {
3462
- if (static_init_called_2)
3920
+ function PointField_SOURCE_ELEVATION_getInstance() {
3921
+ static_init_2();
3922
+ return PointField_SOURCE_ELEVATION_instance;
3923
+ }
3924
+ var static_init_called_3;
3925
+ function static_init_3() {
3926
+ if (static_init_called_3)
3463
3927
  return Unit_instance;
3464
- static_init_called_2 = true;
3928
+ static_init_called_3 = true;
3465
3929
  PointFieldCategory_COORDINATES_instance = new PointFieldCategory('COORDINATES', 0, 'coordinates', 'Coordinates');
3466
3930
  PointFieldCategory_TEMPORAL_instance = new PointFieldCategory('TEMPORAL', 1, 'temporal', 'Temporal');
3467
3931
  PointFieldCategory_ANGLES_instance = new PointFieldCategory('ANGLES', 2, 'angles', 'Angles');
@@ -3499,63 +3963,63 @@
3499
3963
  this.displayName_1 = displayName;
3500
3964
  }
3501
3965
  function PointFieldCategory_COORDINATES_getInstance() {
3502
- static_init_2();
3966
+ static_init_3();
3503
3967
  return PointFieldCategory_COORDINATES_instance;
3504
3968
  }
3505
3969
  function PointFieldCategory_TEMPORAL_getInstance() {
3506
- static_init_2();
3970
+ static_init_3();
3507
3971
  return PointFieldCategory_TEMPORAL_instance;
3508
3972
  }
3509
3973
  function PointFieldCategory_ANGLES_getInstance() {
3510
- static_init_2();
3974
+ static_init_3();
3511
3975
  return PointFieldCategory_ANGLES_instance;
3512
3976
  }
3513
3977
  function PointFieldCategory_ELEVATION_getInstance() {
3514
- static_init_2();
3978
+ static_init_3();
3515
3979
  return PointFieldCategory_ELEVATION_instance;
3516
3980
  }
3517
3981
  function PointFieldCategory_GRADE_getInstance() {
3518
- static_init_2();
3982
+ static_init_3();
3519
3983
  return PointFieldCategory_GRADE_instance;
3520
3984
  }
3521
3985
  function PointFieldCategory_RADIUS_getInstance() {
3522
- static_init_2();
3986
+ static_init_3();
3523
3987
  return PointFieldCategory_RADIUS_instance;
3524
3988
  }
3525
3989
  function PointFieldCategory_AERO_COEF_getInstance() {
3526
- static_init_2();
3990
+ static_init_3();
3527
3991
  return PointFieldCategory_AERO_COEF_instance;
3528
3992
  }
3529
3993
  function PointFieldCategory_CYCLIST_WIND_getInstance() {
3530
- static_init_2();
3994
+ static_init_3();
3531
3995
  return PointFieldCategory_CYCLIST_WIND_instance;
3532
3996
  }
3533
3997
  function PointFieldCategory_POWER_PHYSICS_getInstance() {
3534
- static_init_2();
3998
+ static_init_3();
3535
3999
  return PointFieldCategory_POWER_PHYSICS_instance;
3536
4000
  }
3537
4001
  function PointFieldCategory_POWER_CYCLIST_getInstance() {
3538
- static_init_2();
4002
+ static_init_3();
3539
4003
  return PointFieldCategory_POWER_CYCLIST_instance;
3540
4004
  }
3541
4005
  function PointFieldCategory_POWER_POST_getInstance() {
3542
- static_init_2();
4006
+ static_init_3();
3543
4007
  return PointFieldCategory_POWER_POST_instance;
3544
4008
  }
3545
4009
  function PointFieldCategory_SPEED_getInstance() {
3546
- static_init_2();
4010
+ static_init_3();
3547
4011
  return PointFieldCategory_SPEED_instance;
3548
4012
  }
3549
4013
  function PointFieldCategory_ENVIRONMENTAL_getInstance() {
3550
- static_init_2();
4014
+ static_init_3();
3551
4015
  return PointFieldCategory_ENVIRONMENTAL_instance;
3552
4016
  }
3553
4017
  function PointFieldCategory_PHYSIOLOGICAL_getInstance() {
3554
- static_init_2();
4018
+ static_init_3();
3555
4019
  return PointFieldCategory_PHYSIOLOGICAL_instance;
3556
4020
  }
3557
4021
  function PointFieldCategory_ROAD_getInstance() {
3558
- static_init_2();
4022
+ static_init_3();
3559
4023
  return PointFieldCategory_ROAD_instance;
3560
4024
  }
3561
4025
  function Copy(sourceIndex) {
@@ -3682,14 +4146,14 @@
3682
4146
  return out;
3683
4147
  }
3684
4148
  function copyFields($this, src, srcIdx, dst, dstIdx) {
3685
- var _iterator__ex2g4s = get_entries_0().iterator_jk1svi_k$();
4149
+ var _iterator__ex2g4s = get_entries_2().iterator_jk1svi_k$();
3686
4150
  while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
3687
4151
  var field = _iterator__ex2g4s.next_20eer_k$();
3688
4152
  dst.set_b3ze83_k$(dstIdx, field, src.get_z3le6l_k$(srcIdx, field));
3689
4153
  }
3690
4154
  }
3691
4155
  function interpolateFields($this, src, i1, i2, coef, dst, dstIdx) {
3692
- var _iterator__ex2g4s = get_entries_0().iterator_jk1svi_k$();
4156
+ var _iterator__ex2g4s = get_entries_2().iterator_jk1svi_k$();
3693
4157
  while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
3694
4158
  var field = _iterator__ex2g4s.next_20eer_k$();
3695
4159
  var v1 = src.get_z3le6l_k$(i1, field);
@@ -3856,14 +4320,14 @@
3856
4320
  return out;
3857
4321
  }
3858
4322
  function copyFields_0($this, src, srcIdx, dst, dstIdx) {
3859
- var _iterator__ex2g4s = get_entries_0().iterator_jk1svi_k$();
4323
+ var _iterator__ex2g4s = get_entries_2().iterator_jk1svi_k$();
3860
4324
  while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
3861
4325
  var field = _iterator__ex2g4s.next_20eer_k$();
3862
4326
  dst.set_b3ze83_k$(dstIdx, field, src.get_z3le6l_k$(srcIdx, field));
3863
4327
  }
3864
4328
  }
3865
4329
  function interpolateFields_0($this, src, i1, i2, coef, dst, dstIdx) {
3866
- var _iterator__ex2g4s = get_entries_0().iterator_jk1svi_k$();
4330
+ var _iterator__ex2g4s = get_entries_2().iterator_jk1svi_k$();
3867
4331
  while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
3868
4332
  var field = _iterator__ex2g4s.next_20eer_k$();
3869
4333
  var v1 = src.get_z3le6l_k$(i1, field);
@@ -3890,8 +4354,11 @@
3890
4354
  GpxWriter_instance = new GpxWriter();
3891
4355
  CsvWriter_instance = new CsvWriter();
3892
4356
  JsonWriter_instance = new JsonWriter();
3893
- ElevationStep_instance = new ElevationStep();
3894
4357
  Companion_instance_2 = new Companion_1();
4358
+ ElevationGain_instance = new ElevationGain();
4359
+ Companion_instance_3 = new Companion_2();
4360
+ ElevationStep_instance = new ElevationStep();
4361
+ Companion_instance_6 = new Companion_5();
3895
4362
  PathSimplifier_instance = new PathSimplifier();
3896
4363
  PointPerDistance_instance = new PointPerDistance();
3897
4364
  PointPerSecond_instance = new PointPerSecond();
@@ -3900,25 +4367,31 @@
3900
4367
  _.$_$ = _.$_$ || {};
3901
4368
  _.$_$.a = GpxPathKind_ROUTE_getInstance;
3902
4369
  _.$_$.b = GpxPathKind_TRACK_getInstance;
3903
- _.$_$.c = PointField_TEMPERATURE_getInstance;
3904
- _.$_$.d = GpxParser_instance;
3905
- _.$_$.e = GpxWriter_instance;
3906
- _.$_$.f = CsvWriter_instance;
3907
- _.$_$.g = JsonWriter_instance;
3908
- _.$_$.h = ElevationStep_instance;
3909
- _.$_$.i = PathSimplifier_instance;
3910
- _.$_$.j = Companion_getInstance_3;
3911
- _.$_$.k = PointPerDistance_instance;
3912
- _.$_$.l = PointPerSecond_instance;
3913
- _.$_$.m = GpxWaypoint;
3914
- _.$_$.n = firstTrackAsPath;
3915
- _.$_$.o = segmentsAsPaths;
3916
- _.$_$.p = toGpxDocument;
3917
- _.$_$.q = tracksAsPaths;
3918
- _.$_$.r = CsvOptions;
3919
- _.$_$.s = JsonOptions;
3920
- _.$_$.t = Path;
3921
- _.$_$.u = get_entries_0;
4370
+ _.$_$.c = ElevationGainPreset_DEM_getInstance;
4371
+ _.$_$.d = PointField_TEMPERATURE_getInstance;
4372
+ _.$_$.e = GpxParser_instance;
4373
+ _.$_$.f = Companion_getInstance_1;
4374
+ _.$_$.g = GpxWriter_instance;
4375
+ _.$_$.h = CsvWriter_instance;
4376
+ _.$_$.i = JsonWriter_instance;
4377
+ _.$_$.j = Companion_instance_3;
4378
+ _.$_$.k = ElevationGain_instance;
4379
+ _.$_$.l = ElevationStep_instance;
4380
+ _.$_$.m = PathSimplifier_instance;
4381
+ _.$_$.n = Companion_getInstance_7;
4382
+ _.$_$.o = PointPerDistance_instance;
4383
+ _.$_$.p = PointPerSecond_instance;
4384
+ _.$_$.q = GpxWaypoint;
4385
+ _.$_$.r = firstTrackAsPath;
4386
+ _.$_$.s = pathsToGpxDocument;
4387
+ _.$_$.t = segmentsAsPaths;
4388
+ _.$_$.u = toGpxDocument;
4389
+ _.$_$.v = tracksAsPaths;
4390
+ _.$_$.w = CsvOptions;
4391
+ _.$_$.x = JsonOptions;
4392
+ _.$_$.y = ElevationGainOptions;
4393
+ _.$_$.z = Path;
4394
+ _.$_$.a1 = get_entries_2;
3922
4395
  //endregion
3923
4396
  return _;
3924
4397
  }));