@glandais/vcyclist-engine 4.1.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/vcyclist-gpx.js CHANGED
@@ -20,113 +20,117 @@
20
20
  //region block: imports
21
21
  var imul = Math.imul;
22
22
  var Unit_instance = kotlin_kotlin.$_$.g1;
23
- var enumEntries = kotlin_kotlin.$_$.a5;
24
- var Enum = kotlin_kotlin.$_$.l9;
25
- var protoOf = kotlin_kotlin.$_$.d7;
26
- var initMetadataForClass = kotlin_kotlin.$_$.o6;
23
+ var enumEntries = kotlin_kotlin.$_$.f5;
24
+ var Enum = kotlin_kotlin.$_$.t9;
25
+ var protoOf = kotlin_kotlin.$_$.j7;
26
+ var initMetadataForClass = kotlin_kotlin.$_$.u6;
27
27
  var VOID = kotlin_kotlin.$_$.a;
28
- var toString = kotlin_kotlin.$_$.na;
29
- var getNumberHashCode = kotlin_kotlin.$_$.k6;
30
- var getStringHashCode = kotlin_kotlin.$_$.m6;
31
- var equals = kotlin_kotlin.$_$.h6;
32
- var emptyList = kotlin_kotlin.$_$.f3;
33
- var toString_0 = kotlin_kotlin.$_$.g7;
34
- var hashCode = kotlin_kotlin.$_$.n6;
35
- var listOf = kotlin_kotlin.$_$.q3;
36
- var initMetadataForCompanion = kotlin_kotlin.$_$.p6;
28
+ var toString = kotlin_kotlin.$_$.va;
29
+ var getNumberHashCode = kotlin_kotlin.$_$.q6;
30
+ var getStringHashCode = kotlin_kotlin.$_$.s6;
31
+ var equals = kotlin_kotlin.$_$.n6;
32
+ var emptyList = kotlin_kotlin.$_$.g3;
33
+ var toString_0 = kotlin_kotlin.$_$.m7;
34
+ var hashCode = kotlin_kotlin.$_$.t6;
35
+ var listOf = kotlin_kotlin.$_$.r3;
36
+ var initMetadataForCompanion = kotlin_kotlin.$_$.v6;
37
37
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.j1;
38
38
  var addAll = kotlin_kotlin.$_$.s2;
39
- var constructCallableReference = kotlin_kotlin.$_$.e6;
40
- var lazy = kotlin_kotlin.$_$.ha;
41
- var KProperty1 = kotlin_kotlin.$_$.v7;
42
- var getPropertyCallableRef = kotlin_kotlin.$_$.l6;
39
+ var constructCallableReference = kotlin_kotlin.$_$.k6;
40
+ var lazy = kotlin_kotlin.$_$.pa;
41
+ var KProperty1 = kotlin_kotlin.$_$.d8;
42
+ var getPropertyCallableRef = kotlin_kotlin.$_$.r6;
43
43
  var collectionSizeOrDefault = kotlin_kotlin.$_$.x2;
44
44
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.i1;
45
45
  var checkIndexOverflow = kotlin_kotlin.$_$.w2;
46
- var getOrNull = kotlin_kotlin.$_$.j3;
47
- var isNaN_0 = kotlin_kotlin.$_$.ga;
48
- var numberToLong = kotlin_kotlin.$_$.p5;
49
- var Long = kotlin_kotlin.$_$.p9;
50
- var compare = kotlin_kotlin.$_$.g5;
51
- var roundToLong = kotlin_kotlin.$_$.i7;
52
- var add = kotlin_kotlin.$_$.d5;
53
- var roundToInt = kotlin_kotlin.$_$.h7;
54
- var noWhenBranchMatchedException = kotlin_kotlin.$_$.ia;
46
+ var getOrNull = kotlin_kotlin.$_$.k3;
47
+ var isNaN_0 = kotlin_kotlin.$_$.oa;
48
+ var numberToLong = kotlin_kotlin.$_$.v5;
49
+ var Long = kotlin_kotlin.$_$.x9;
50
+ var compare = kotlin_kotlin.$_$.m5;
51
+ var roundToLong = kotlin_kotlin.$_$.o7;
52
+ var add = kotlin_kotlin.$_$.i5;
53
+ var roundToInt = kotlin_kotlin.$_$.n7;
54
+ var noWhenBranchMatchedException = kotlin_kotlin.$_$.qa;
55
55
  var get_xmlStreaming = kotlin_io_github_pdvrieze_xmlutil_core.$_$.d;
56
56
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.b2;
57
- var Exception = kotlin_kotlin.$_$.n9;
58
- var IllegalArgumentException = kotlin_kotlin.$_$.o9;
57
+ var Exception = kotlin_kotlin.$_$.v9;
58
+ var IllegalArgumentException = kotlin_kotlin.$_$.w9;
59
59
  var IllegalArgumentException_init_$Create$_0 = kotlin_kotlin.$_$.a2;
60
60
  var EventType_START_ELEMENT_getInstance = kotlin_io_github_pdvrieze_xmlutil_core.$_$.a;
61
- var THROW_CCE = kotlin_kotlin.$_$.u9;
62
- var isCharSequence = kotlin_kotlin.$_$.v6;
63
- var trim = kotlin_kotlin.$_$.g9;
64
- var charSequenceLength = kotlin_kotlin.$_$.c6;
65
- var isBlank = kotlin_kotlin.$_$.l8;
66
- var toDoubleOrNull = kotlin_kotlin.$_$.z8;
67
- var numberToInt = kotlin_kotlin.$_$.b7;
61
+ var THROW_CCE = kotlin_kotlin.$_$.ca;
62
+ var isCharSequence = kotlin_kotlin.$_$.b7;
63
+ var trim = kotlin_kotlin.$_$.o9;
64
+ var charSequenceLength = kotlin_kotlin.$_$.i6;
65
+ var isBlank = kotlin_kotlin.$_$.t8;
66
+ var toDoubleOrNull = kotlin_kotlin.$_$.h9;
67
+ var numberToInt = kotlin_kotlin.$_$.h7;
68
68
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.u1;
69
69
  var Companion_getInstance = kotlin_kotlin.$_$.d1;
70
- var initMetadataForObject = kotlin_kotlin.$_$.u6;
71
- var firstOrNull = kotlin_kotlin.$_$.h3;
70
+ var initMetadataForObject = kotlin_kotlin.$_$.a7;
71
+ var firstOrNull = kotlin_kotlin.$_$.i3;
72
72
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.c2;
73
- var toNumber = kotlin_kotlin.$_$.u5;
74
- var toSet = kotlin_kotlin.$_$.g4;
73
+ var to = kotlin_kotlin.$_$.wa;
74
+ var toNumber = kotlin_kotlin.$_$.a6;
75
+ var toSet = kotlin_kotlin.$_$.k4;
76
+ var rangeTo = kotlin_kotlin.$_$.y7;
77
+ var Collection = kotlin_kotlin.$_$.n2;
78
+ var isInterface = kotlin_kotlin.$_$.c7;
75
79
  var XmlDeclMode_None_getInstance = kotlin_io_github_pdvrieze_xmlutil_core.$_$.b;
76
80
  var newGenericWriter = kotlin_io_github_pdvrieze_xmlutil_core.$_$.c;
77
- var charCodeAt = kotlin_kotlin.$_$.a6;
81
+ var charCodeAt = kotlin_kotlin.$_$.g6;
78
82
  var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.b;
79
- var substring = kotlin_kotlin.$_$.w8;
80
- var isHighSurrogate = kotlin_kotlin.$_$.n8;
81
- var isLowSurrogate = kotlin_kotlin.$_$.o8;
83
+ var substring = kotlin_kotlin.$_$.e9;
84
+ var isHighSurrogate = kotlin_kotlin.$_$.v8;
85
+ var isLowSurrogate = kotlin_kotlin.$_$.w8;
82
86
  var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.f;
83
87
  var StringBuilder_init_$Create$_0 = kotlin_kotlin.$_$.t1;
84
- var Pair = kotlin_kotlin.$_$.r9;
85
- var substring_0 = kotlin_kotlin.$_$.x8;
86
- var toLong = kotlin_kotlin.$_$.d9;
87
- var numberRangeToNumber = kotlin_kotlin.$_$.z6;
88
- var ClosedRange = kotlin_kotlin.$_$.k7;
89
- var isInterface = kotlin_kotlin.$_$.w6;
90
- var contains = kotlin_kotlin.$_$.p7;
91
- var convertToInt = kotlin_kotlin.$_$.i5;
92
- var NumberFormatException = kotlin_kotlin.$_$.q9;
93
- var isDigit = kotlin_kotlin.$_$.m8;
94
- var isWhitespace = kotlin_kotlin.$_$.p8;
95
- var setOf = kotlin_kotlin.$_$.y3;
96
- var toDouble = kotlin_kotlin.$_$.a9;
97
- var round = kotlin_kotlin.$_$.j7;
98
- var divide = kotlin_kotlin.$_$.k5;
99
- var equalsLong = kotlin_kotlin.$_$.l5;
100
- var modulo = kotlin_kotlin.$_$.n5;
101
- var padStart = kotlin_kotlin.$_$.q8;
102
- var longArray = kotlin_kotlin.$_$.y6;
103
- var multiply = kotlin_kotlin.$_$.o5;
104
- var isInfinite = kotlin_kotlin.$_$.fa;
105
- var charSequenceGet = kotlin_kotlin.$_$.b6;
106
- var replace = kotlin_kotlin.$_$.r8;
88
+ var Pair = kotlin_kotlin.$_$.z9;
89
+ var substring_0 = kotlin_kotlin.$_$.f9;
90
+ var toLong = kotlin_kotlin.$_$.l9;
91
+ var numberRangeToNumber = kotlin_kotlin.$_$.f7;
92
+ var ClosedRange = kotlin_kotlin.$_$.q7;
93
+ var contains = kotlin_kotlin.$_$.w7;
94
+ var convertToInt = kotlin_kotlin.$_$.o5;
95
+ var NumberFormatException = kotlin_kotlin.$_$.y9;
96
+ var isDigit = kotlin_kotlin.$_$.u8;
97
+ var isWhitespace = kotlin_kotlin.$_$.x8;
98
+ var setOf = kotlin_kotlin.$_$.a4;
99
+ var mapOf = kotlin_kotlin.$_$.u3;
100
+ var toDouble = kotlin_kotlin.$_$.i9;
101
+ var round = kotlin_kotlin.$_$.p7;
102
+ var divide = kotlin_kotlin.$_$.q5;
103
+ var equalsLong = kotlin_kotlin.$_$.r5;
104
+ var modulo = kotlin_kotlin.$_$.t5;
105
+ var padStart = kotlin_kotlin.$_$.y8;
106
+ var longArray = kotlin_kotlin.$_$.e7;
107
+ var multiply = kotlin_kotlin.$_$.u5;
108
+ var isInfinite = kotlin_kotlin.$_$.na;
109
+ var charSequenceGet = kotlin_kotlin.$_$.h6;
110
+ var replace = kotlin_kotlin.$_$.z8;
107
111
  var toString_1 = kotlin_kotlin.$_$.g;
108
112
  var Char__hashCode_impl_otmys = kotlin_kotlin.$_$.d;
109
- var getBooleanHashCode = kotlin_kotlin.$_$.j6;
110
- var get_lastIndex = kotlin_kotlin.$_$.n3;
111
- var toString_2 = kotlin_kotlin.$_$.e9;
112
- var CoroutineImpl = kotlin_kotlin.$_$.y4;
113
+ var getBooleanHashCode = kotlin_kotlin.$_$.p6;
114
+ var get_lastIndex = kotlin_kotlin.$_$.o3;
115
+ var toString_2 = kotlin_kotlin.$_$.m9;
116
+ var CoroutineImpl = kotlin_kotlin.$_$.d5;
113
117
  var LatLon = kotlin_io_github_glandais_elevation.$_$.f;
114
- var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.j4;
115
- var initMetadataForCoroutine = kotlin_kotlin.$_$.q6;
118
+ var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.o4;
119
+ var initMetadataForCoroutine = kotlin_kotlin.$_$.w6;
116
120
  var ElevationSmoother_instance = kotlin_io_github_glandais_elevation.$_$.c;
117
- var until = kotlin_kotlin.$_$.r7;
121
+ var until = kotlin_kotlin.$_$.z7;
118
122
  var LatLonElevation = kotlin_io_github_glandais_elevation.$_$.e;
119
123
  var arrayCopy = kotlin_kotlin.$_$.t2;
120
124
  var Distance_instance = kotlin_io_github_glandais_elevation.$_$.a;
121
125
  var DouglasPeucker_instance = kotlin_io_github_glandais_elevation.$_$.b;
122
126
  var Companion_instance = kotlin_kotlin.$_$.e1;
123
- var mapCapacity = kotlin_kotlin.$_$.s3;
124
- var coerceAtLeast = kotlin_kotlin.$_$.l7;
127
+ var mapCapacity = kotlin_kotlin.$_$.t3;
128
+ var coerceAtLeast = kotlin_kotlin.$_$.s7;
125
129
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.o1;
126
130
  var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.p1;
127
- var subtract = kotlin_kotlin.$_$.t5;
128
- var get_ONE = kotlin_kotlin.$_$.c5;
129
- var sorted = kotlin_kotlin.$_$.a4;
131
+ var subtract = kotlin_kotlin.$_$.z5;
132
+ var get_ONE = kotlin_kotlin.$_$.h5;
133
+ var sorted = kotlin_kotlin.$_$.c4;
130
134
  //endregion
131
135
  //region block: pre-declaration
132
136
  initMetadataForClass(GpxPathKind, 'GpxPathKind', VOID, Enum);
@@ -143,6 +147,7 @@
143
147
  initMetadataForClass(NumericRef, 'NumericRef');
144
148
  initMetadataForObject(GpxXmlRepair, 'GpxXmlRepair');
145
149
  initMetadataForClass(RepairResult, 'RepairResult');
150
+ initMetadataForObject(OsmHighway, 'OsmHighway');
146
151
  initMetadataForObject(CsvNumberFormat, 'CsvNumberFormat');
147
152
  initMetadataForObject(CsvWriter, 'CsvWriter');
148
153
  initMetadataForClass(CsvOptions, 'CsvOptions', CsvOptions);
@@ -307,14 +312,18 @@
307
312
  return p0.get_points_i5obn0_k$();
308
313
  }, 1, 0, 5);
309
314
  }
310
- function GpxTrack(name, type, segments, kind) {
315
+ function GpxTrack(name, type, segments, kind, roadWidthM, highway) {
311
316
  name = name === VOID ? null : name;
312
317
  type = type === VOID ? null : type;
313
318
  kind = kind === VOID ? GpxPathKind_TRACK_getInstance() : kind;
319
+ roadWidthM = roadWidthM === VOID ? null : roadWidthM;
320
+ highway = highway === VOID ? null : highway;
314
321
  this.name_1 = name;
315
322
  this.type_1 = type;
316
323
  this.segments_1 = segments;
317
324
  this.kind_1 = kind;
325
+ this.roadWidthM_1 = roadWidthM;
326
+ this.highway_1 = highway;
318
327
  var tmp = this;
319
328
  tmp.points$delegate_1 = lazy(GpxTrack$points$delegate$lambda(this));
320
329
  }
@@ -326,13 +335,15 @@
326
335
  return tmp0.get_value_j01efc_k$();
327
336
  };
328
337
  protoOf(GpxTrack).toString = function () {
329
- return 'GpxTrack(name=' + this.name_1 + ', type=' + this.type_1 + ', segments=' + toString_0(this.segments_1) + ', kind=' + this.kind_1.toString() + ')';
338
+ return 'GpxTrack(name=' + this.name_1 + ', type=' + this.type_1 + ', segments=' + toString_0(this.segments_1) + ', kind=' + this.kind_1.toString() + ', roadWidthM=' + this.roadWidthM_1 + ', highway=' + this.highway_1 + ')';
330
339
  };
331
340
  protoOf(GpxTrack).hashCode = function () {
332
341
  var result = this.name_1 == null ? 0 : getStringHashCode(this.name_1);
333
342
  result = imul(result, 31) + (this.type_1 == null ? 0 : getStringHashCode(this.type_1)) | 0;
334
343
  result = imul(result, 31) + hashCode(this.segments_1) | 0;
335
344
  result = imul(result, 31) + this.kind_1.hashCode() | 0;
345
+ result = imul(result, 31) + (this.roadWidthM_1 == null ? 0 : getNumberHashCode(this.roadWidthM_1)) | 0;
346
+ result = imul(result, 31) + (this.highway_1 == null ? 0 : getStringHashCode(this.highway_1)) | 0;
336
347
  return result;
337
348
  };
338
349
  protoOf(GpxTrack).equals = function (other) {
@@ -348,6 +359,10 @@
348
359
  return false;
349
360
  if (!this.kind_1.equals(other.kind_1))
350
361
  return false;
362
+ if (!equals(this.roadWidthM_1, other.roadWidthM_1))
363
+ return false;
364
+ if (!(this.highway_1 == other.highway_1))
365
+ return false;
351
366
  return true;
352
367
  };
353
368
  function GpxSegment(points) {
@@ -368,13 +383,15 @@
368
383
  return false;
369
384
  return true;
370
385
  };
371
- function GpxTrackPoint(latitudeDeg, longitudeDeg, elevationM, timeEpochMs, heartRate, cadence, temperatureC, powerW) {
386
+ function GpxTrackPoint(latitudeDeg, longitudeDeg, elevationM, timeEpochMs, heartRate, cadence, temperatureC, powerW, roadWidthM, highway) {
372
387
  elevationM = elevationM === VOID ? null : elevationM;
373
388
  timeEpochMs = timeEpochMs === VOID ? null : timeEpochMs;
374
389
  heartRate = heartRate === VOID ? null : heartRate;
375
390
  cadence = cadence === VOID ? null : cadence;
376
391
  temperatureC = temperatureC === VOID ? null : temperatureC;
377
392
  powerW = powerW === VOID ? null : powerW;
393
+ roadWidthM = roadWidthM === VOID ? null : roadWidthM;
394
+ highway = highway === VOID ? null : highway;
378
395
  this.latitudeDeg_1 = latitudeDeg;
379
396
  this.longitudeDeg_1 = longitudeDeg;
380
397
  this.elevationM_1 = elevationM;
@@ -383,9 +400,11 @@
383
400
  this.cadence_1 = cadence;
384
401
  this.temperatureC_1 = temperatureC;
385
402
  this.powerW_1 = powerW;
403
+ this.roadWidthM_1 = roadWidthM;
404
+ this.highway_1 = highway;
386
405
  }
387
406
  protoOf(GpxTrackPoint).toString = function () {
388
- return 'GpxTrackPoint(latitudeDeg=' + this.latitudeDeg_1 + ', longitudeDeg=' + this.longitudeDeg_1 + ', elevationM=' + this.elevationM_1 + ', timeEpochMs=' + toString(this.timeEpochMs_1) + ', heartRate=' + this.heartRate_1 + ', cadence=' + this.cadence_1 + ', temperatureC=' + this.temperatureC_1 + ', powerW=' + this.powerW_1 + ')';
407
+ return 'GpxTrackPoint(latitudeDeg=' + this.latitudeDeg_1 + ', longitudeDeg=' + this.longitudeDeg_1 + ', elevationM=' + this.elevationM_1 + ', timeEpochMs=' + toString(this.timeEpochMs_1) + ', heartRate=' + this.heartRate_1 + ', cadence=' + this.cadence_1 + ', temperatureC=' + this.temperatureC_1 + ', powerW=' + this.powerW_1 + ', roadWidthM=' + this.roadWidthM_1 + ', highway=' + this.highway_1 + ')';
389
408
  };
390
409
  protoOf(GpxTrackPoint).hashCode = function () {
391
410
  var result = getNumberHashCode(this.latitudeDeg_1);
@@ -396,6 +415,8 @@
396
415
  result = imul(result, 31) + (this.cadence_1 == null ? 0 : this.cadence_1) | 0;
397
416
  result = imul(result, 31) + (this.temperatureC_1 == null ? 0 : getNumberHashCode(this.temperatureC_1)) | 0;
398
417
  result = imul(result, 31) + (this.powerW_1 == null ? 0 : getNumberHashCode(this.powerW_1)) | 0;
418
+ result = imul(result, 31) + (this.roadWidthM_1 == null ? 0 : getNumberHashCode(this.roadWidthM_1)) | 0;
419
+ result = imul(result, 31) + (this.highway_1 == null ? 0 : getStringHashCode(this.highway_1)) | 0;
399
420
  return result;
400
421
  };
401
422
  protoOf(GpxTrackPoint).equals = function (other) {
@@ -419,6 +440,10 @@
419
440
  return false;
420
441
  if (!equals(this.powerW_1, other.powerW_1))
421
442
  return false;
443
+ if (!equals(this.roadWidthM_1, other.roadWidthM_1))
444
+ return false;
445
+ if (!(this.highway_1 == other.highway_1))
446
+ return false;
422
447
  return true;
423
448
  };
424
449
  function GpxPathKind_TRACK_getInstance() {
@@ -722,6 +747,7 @@
722
747
  var type = null;
723
748
  // Inline function 'kotlin.collections.mutableListOf' call
724
749
  var segments = ArrayList_init_$Create$();
750
+ var trackExt = new ExtensionsAccumulator();
725
751
  while (reader.hasNext_bitz1p_k$()) {
726
752
  var ev = reader.next_20eer_k$();
727
753
  switch (ev.ordinal_1) {
@@ -763,6 +789,9 @@
763
789
 
764
790
  type = tmp_0;
765
791
  break;
792
+ case 'extensions':
793
+ parseExtensions($this, reader, trackExt);
794
+ break;
766
795
  case 'trkseg':
767
796
  segments.add_utx5q5_k$(parseTrackSegment($this, reader));
768
797
  break;
@@ -773,12 +802,12 @@
773
802
 
774
803
  break;
775
804
  case 2:
776
- return new GpxTrack(name, type, segments);
805
+ return new GpxTrack(name, type, segments, VOID, trackExt.roadWidthM_1);
777
806
  default:
778
807
  break;
779
808
  }
780
809
  }
781
- return new GpxTrack(name, type, segments);
810
+ return new GpxTrack(name, type, segments, VOID, trackExt.roadWidthM_1);
782
811
  }
783
812
  function parseRoute($this, reader) {
784
813
  var name = null;
@@ -936,12 +965,12 @@
936
965
 
937
966
  break;
938
967
  case 2:
939
- return new GpxTrackPoint(lat, lon, elevation, timeMs, ext.heartRate_1, ext.cadence_1, ext.temperatureC_1, ext.powerW_1);
968
+ return new GpxTrackPoint(lat, lon, elevation, timeMs, ext.heartRate_1, ext.cadence_1, ext.temperatureC_1, ext.powerW_1, ext.roadWidthM_1, ext.highway_1);
940
969
  default:
941
970
  break;
942
971
  }
943
972
  }
944
- return new GpxTrackPoint(lat, lon, elevation, timeMs, ext.heartRate_1, ext.cadence_1, ext.temperatureC_1, ext.powerW_1);
973
+ return new GpxTrackPoint(lat, lon, elevation, timeMs, ext.heartRate_1, ext.cadence_1, ext.temperatureC_1, ext.powerW_1, ext.roadWidthM_1, ext.highway_1);
945
974
  }
946
975
  function parseWaypoint($this, reader) {
947
976
  var latStr = reader.getAttributeValue_8yb7e2_k$(null, 'lat');
@@ -1154,6 +1183,35 @@
1154
1183
  }
1155
1184
 
1156
1185
  break;
1186
+ case 'roadwidth':
1187
+ var tmp6_safe_receiver = readNumeric($this, reader);
1188
+ if (tmp6_safe_receiver == null)
1189
+ null;
1190
+ else {
1191
+ // Inline function 'kotlin.let' call
1192
+ var tmp_1 = ext;
1193
+ var tmp0_elvis_lhs_1 = ext.roadWidthM_1;
1194
+ tmp_1.roadWidthM_1 = tmp0_elvis_lhs_1 == null ? tmp6_safe_receiver : tmp0_elvis_lhs_1;
1195
+ }
1196
+
1197
+ break;
1198
+ case 'highway':
1199
+ // Inline function 'kotlin.text.trim' call
1200
+
1201
+ var this_0 = readElementText($this, reader);
1202
+ var text = toString_0(trim(isCharSequence(this_0) ? this_0 : THROW_CCE()));
1203
+ var tmp_2;
1204
+ // Inline function 'kotlin.text.isNotEmpty' call
1205
+
1206
+ if (charSequenceLength(text) > 0) {
1207
+ tmp_2 = ext.highway_1 == null;
1208
+ } else {
1209
+ tmp_2 = false;
1210
+ }
1211
+
1212
+ if (tmp_2)
1213
+ ext.highway_1 = text;
1214
+ break;
1157
1215
  default:
1158
1216
  parseExtensions($this, reader, ext);
1159
1217
  break;
@@ -1231,15 +1289,19 @@
1231
1289
  }
1232
1290
  return tmp;
1233
1291
  }
1234
- function ExtensionsAccumulator(heartRate, cadence, temperatureC, powerW) {
1292
+ function ExtensionsAccumulator(heartRate, cadence, temperatureC, powerW, roadWidthM, highway) {
1235
1293
  heartRate = heartRate === VOID ? null : heartRate;
1236
1294
  cadence = cadence === VOID ? null : cadence;
1237
1295
  temperatureC = temperatureC === VOID ? null : temperatureC;
1238
1296
  powerW = powerW === VOID ? null : powerW;
1297
+ roadWidthM = roadWidthM === VOID ? null : roadWidthM;
1298
+ highway = highway === VOID ? null : highway;
1239
1299
  this.heartRate_1 = heartRate;
1240
1300
  this.cadence_1 = cadence;
1241
1301
  this.temperatureC_1 = temperatureC;
1242
1302
  this.powerW_1 = powerW;
1303
+ this.roadWidthM_1 = roadWidthM;
1304
+ this.highway_1 = highway;
1243
1305
  }
1244
1306
  function GpxParser() {
1245
1307
  }
@@ -1287,6 +1349,11 @@
1287
1349
  return ALL_KINDS;
1288
1350
  }
1289
1351
  var ALL_KINDS;
1352
+ function get_PLAUSIBLE_ROAD_WIDTH_M() {
1353
+ _init_properties_GpxToPath_kt__pb67h9();
1354
+ return PLAUSIBLE_ROAD_WIDTH_M;
1355
+ }
1356
+ var PLAUSIBLE_ROAD_WIDTH_M;
1290
1357
  function firstTrackAsPath(_this__u8e3s4) {
1291
1358
  _init_properties_GpxToPath_kt__pb67h9();
1292
1359
  var tmp0_elvis_lhs = firstOrNull(_this__u8e3s4.tracks_1);
@@ -1353,40 +1420,53 @@
1353
1420
  var _iterator__ex2g4s_0 = destination.iterator_jk1svi_k$();
1354
1421
  while (_iterator__ex2g4s_0.hasNext_bitz1p_k$()) {
1355
1422
  var element_0 = _iterator__ex2g4s_0.next_20eer_k$();
1356
- var list = element_0.segments_1;
1423
+ // Inline function 'kotlin.collections.map' call
1424
+ var this_0 = element_0.segments_1;
1425
+ // Inline function 'kotlin.collections.mapTo' call
1426
+ var destination_1 = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
1427
+ var _iterator__ex2g4s_1 = this_0.iterator_jk1svi_k$();
1428
+ while (_iterator__ex2g4s_1.hasNext_bitz1p_k$()) {
1429
+ var item = _iterator__ex2g4s_1.next_20eer_k$();
1430
+ var tmp$ret$8 = to(element_0.roadWidthM_1, item);
1431
+ destination_1.add_utx5q5_k$(tmp$ret$8);
1432
+ }
1433
+ var list = destination_1;
1357
1434
  addAll(destination_0, list);
1358
1435
  }
1359
1436
  // Inline function 'kotlin.collections.filter' call
1360
1437
  // Inline function 'kotlin.collections.filterTo' call
1361
- var destination_1 = ArrayList_init_$Create$();
1362
- var _iterator__ex2g4s_1 = destination_0.iterator_jk1svi_k$();
1363
- while (_iterator__ex2g4s_1.hasNext_bitz1p_k$()) {
1364
- var element_1 = _iterator__ex2g4s_1.next_20eer_k$();
1438
+ var destination_2 = ArrayList_init_$Create$();
1439
+ var _iterator__ex2g4s_2 = destination_0.iterator_jk1svi_k$();
1440
+ while (_iterator__ex2g4s_2.hasNext_bitz1p_k$()) {
1441
+ var element_1 = _iterator__ex2g4s_2.next_20eer_k$();
1365
1442
  // Inline function 'kotlin.collections.isNotEmpty' call
1366
- if (!element_1.points_1.isEmpty_y1axqb_k$()) {
1367
- destination_1.add_utx5q5_k$(element_1);
1443
+ if (!element_1.second_1.points_1.isEmpty_y1axqb_k$()) {
1444
+ destination_2.add_utx5q5_k$(element_1);
1368
1445
  }
1369
1446
  }
1370
1447
  // Inline function 'kotlin.collections.map' call
1371
1448
  // Inline function 'kotlin.collections.mapTo' call
1372
- var destination_2 = ArrayList_init_$Create$_0(collectionSizeOrDefault(destination_1, 10));
1373
- var _iterator__ex2g4s_2 = destination_1.iterator_jk1svi_k$();
1374
- while (_iterator__ex2g4s_2.hasNext_bitz1p_k$()) {
1375
- var item = _iterator__ex2g4s_2.next_20eer_k$();
1376
- var tmp$ret$12 = toPath_0(item);
1377
- destination_2.add_utx5q5_k$(tmp$ret$12);
1449
+ var destination_3 = ArrayList_init_$Create$_0(collectionSizeOrDefault(destination_2, 10));
1450
+ var _iterator__ex2g4s_3 = destination_2.iterator_jk1svi_k$();
1451
+ while (_iterator__ex2g4s_3.hasNext_bitz1p_k$()) {
1452
+ var item_0 = _iterator__ex2g4s_3.next_20eer_k$();
1453
+ var trackWidth = item_0.component1_7eebsc_k$();
1454
+ var segment = item_0.component2_7eebsb_k$();
1455
+ var tmp$ret$15 = toPath_0(segment, trackWidth);
1456
+ destination_3.add_utx5q5_k$(tmp$ret$15);
1378
1457
  }
1379
- return destination_2;
1458
+ return destination_3;
1380
1459
  }
1381
1460
  function toPath(_this__u8e3s4) {
1382
1461
  _init_properties_GpxToPath_kt__pb67h9();
1383
- return pointsToPath(_this__u8e3s4.get_points_i5obn0_k$());
1462
+ return pointsToPath(_this__u8e3s4.get_points_i5obn0_k$(), _this__u8e3s4.roadWidthM_1);
1384
1463
  }
1385
- function toPath_0(_this__u8e3s4) {
1464
+ function toPath_0(_this__u8e3s4, trackRoadWidthM) {
1386
1465
  _init_properties_GpxToPath_kt__pb67h9();
1387
- return pointsToPath(_this__u8e3s4.points_1);
1466
+ return pointsToPath(_this__u8e3s4.points_1, trackRoadWidthM);
1388
1467
  }
1389
- function pointsToPath(points) {
1468
+ function pointsToPath(points, trackRoadWidthM) {
1469
+ trackRoadWidthM = trackRoadWidthM === VOID ? null : trackRoadWidthM;
1390
1470
  _init_properties_GpxToPath_kt__pb67h9();
1391
1471
  var path = new Path(points.get_size_woubt6_k$());
1392
1472
  var iterator = points.iterator_jk1svi_k$();
@@ -1411,6 +1491,10 @@
1411
1491
  path.setCadence_ick7df_k$(i, tmp6_elvis_lhs == null ? NaN : tmp6_elvis_lhs);
1412
1492
  var tmp7_elvis_lhs = p.temperatureC_1;
1413
1493
  path.setTemperature_nno5xs_k$(i, tmp7_elvis_lhs == null ? NaN : tmp7_elvis_lhs);
1494
+ var tmp8_elvis_lhs = p.roadWidthM_1;
1495
+ var tmp9_elvis_lhs = tmp8_elvis_lhs == null ? trackRoadWidthM : tmp8_elvis_lhs;
1496
+ var width = tmp9_elvis_lhs == null ? OsmHighway_getInstance().defaultWidthM_4tz9nj_k$(p.highway_1) : tmp9_elvis_lhs;
1497
+ path.setRoadWidth_g0vcte_k$(i, !(width == null) && get_PLAUSIBLE_ROAD_WIDTH_M().contains_3tkdvy_k$(width) ? width : NaN);
1414
1498
  }
1415
1499
  path.computeDerivedData_uoxpeo_k$();
1416
1500
  return path;
@@ -1420,6 +1504,7 @@
1420
1504
  if (!properties_initialized_GpxToPath_kt_83hcm9) {
1421
1505
  properties_initialized_GpxToPath_kt_83hcm9 = true;
1422
1506
  ALL_KINDS = toSet(get_entries());
1507
+ PLAUSIBLE_ROAD_WIDTH_M = rangeTo(2.5, 20.0);
1423
1508
  }
1424
1509
  }
1425
1510
  function writeDocument($this, w, document, writeExtensions) {
@@ -1428,6 +1513,64 @@
1428
1513
  if (writeExtensions) {
1429
1514
  w.setPrefix_e36xz8_k$('gpxtpx', 'http://www.garmin.com/xmlschemas/TrackPointExtension/v1');
1430
1515
  }
1516
+ var tmp;
1517
+ if (writeExtensions) {
1518
+ var tmp0 = document.tracks_1;
1519
+ var tmp$ret$0;
1520
+ $l$block_2: {
1521
+ // Inline function 'kotlin.collections.any' call
1522
+ var tmp_0;
1523
+ if (isInterface(tmp0, Collection)) {
1524
+ tmp_0 = tmp0.isEmpty_y1axqb_k$();
1525
+ } else {
1526
+ tmp_0 = false;
1527
+ }
1528
+ if (tmp_0) {
1529
+ tmp$ret$0 = false;
1530
+ break $l$block_2;
1531
+ }
1532
+ var _iterator__ex2g4s = tmp0.iterator_jk1svi_k$();
1533
+ while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
1534
+ var element = _iterator__ex2g4s.next_20eer_k$();
1535
+ var tmp0_0 = element.get_points_i5obn0_k$();
1536
+ var tmp$ret$2;
1537
+ $l$block_1: {
1538
+ // Inline function 'kotlin.collections.any' call
1539
+ var tmp_1;
1540
+ if (isInterface(tmp0_0, Collection)) {
1541
+ tmp_1 = tmp0_0.isEmpty_y1axqb_k$();
1542
+ } else {
1543
+ tmp_1 = false;
1544
+ }
1545
+ if (tmp_1) {
1546
+ tmp$ret$2 = false;
1547
+ break $l$block_1;
1548
+ }
1549
+ var _iterator__ex2g4s_0 = tmp0_0.iterator_jk1svi_k$();
1550
+ while (_iterator__ex2g4s_0.hasNext_bitz1p_k$()) {
1551
+ var element_0 = _iterator__ex2g4s_0.next_20eer_k$();
1552
+ if (!(element_0.roadWidthM_1 == null)) {
1553
+ tmp$ret$2 = true;
1554
+ break $l$block_1;
1555
+ }
1556
+ }
1557
+ tmp$ret$2 = false;
1558
+ }
1559
+ if (tmp$ret$2) {
1560
+ tmp$ret$0 = true;
1561
+ break $l$block_2;
1562
+ }
1563
+ }
1564
+ tmp$ret$0 = false;
1565
+ }
1566
+ tmp = tmp$ret$0;
1567
+ } else {
1568
+ tmp = false;
1569
+ }
1570
+ var hasRoadWidth = tmp;
1571
+ if (hasRoadWidth) {
1572
+ w.setPrefix_e36xz8_k$('vc', 'https://github.com/glandais/vcyclist/xmlschemas/v1');
1573
+ }
1431
1574
  w.startTag_pjuzbi_k$('http://www.topografix.com/GPX/1/1', 'gpx', '');
1432
1575
  w.attribute_ruzjv8_k$(null, 'version', null, '1.1');
1433
1576
  w.attribute_ruzjv8_k$(null, 'creator', null, '@glandais/vcyclist');
@@ -1436,16 +1579,19 @@
1436
1579
  if (writeExtensions) {
1437
1580
  w.namespaceAttr_vkifxg_k$('gpxtpx', 'http://www.garmin.com/xmlschemas/TrackPointExtension/v1');
1438
1581
  }
1582
+ if (hasRoadWidth) {
1583
+ w.namespaceAttr_vkifxg_k$('vc', 'https://github.com/glandais/vcyclist/xmlschemas/v1');
1584
+ }
1439
1585
  w.attribute_ruzjv8_k$('http://www.w3.org/2001/XMLSchema-instance', 'schemaLocation', 'xsi', 'http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd');
1440
1586
  writeMetadata($this, w, document.name_1);
1441
- var _iterator__ex2g4s = document.waypoints_1.iterator_jk1svi_k$();
1442
- while (_iterator__ex2g4s.hasNext_bitz1p_k$()) {
1443
- var waypoint = _iterator__ex2g4s.next_20eer_k$();
1587
+ var _iterator__ex2g4s_1 = document.waypoints_1.iterator_jk1svi_k$();
1588
+ while (_iterator__ex2g4s_1.hasNext_bitz1p_k$()) {
1589
+ var waypoint = _iterator__ex2g4s_1.next_20eer_k$();
1444
1590
  writeWaypoint($this, w, waypoint);
1445
1591
  }
1446
- var _iterator__ex2g4s_0 = document.tracks_1.iterator_jk1svi_k$();
1447
- while (_iterator__ex2g4s_0.hasNext_bitz1p_k$()) {
1448
- var track = _iterator__ex2g4s_0.next_20eer_k$();
1592
+ var _iterator__ex2g4s_2 = document.tracks_1.iterator_jk1svi_k$();
1593
+ while (_iterator__ex2g4s_2.hasNext_bitz1p_k$()) {
1594
+ var track = _iterator__ex2g4s_2.next_20eer_k$();
1449
1595
  switch (track.kind_1.ordinal_1) {
1450
1596
  case 1:
1451
1597
  writeRoute($this, w, track, writeExtensions);
@@ -1586,11 +1732,15 @@
1586
1732
  }
1587
1733
  var hasGarminExt = !(p.heartRate_1 == null) || !(p.cadence_1 == null) || !(p.temperatureC_1 == null);
1588
1734
  var hasPower = !(p.powerW_1 == null);
1589
- if (writeExtensions && (hasGarminExt || hasPower)) {
1735
+ var hasRoadWidth = !(p.roadWidthM_1 == null);
1736
+ if (writeExtensions && (hasGarminExt || hasPower || hasRoadWidth)) {
1590
1737
  w.startTag_pjuzbi_k$('http://www.topografix.com/GPX/1/1', 'extensions', '');
1591
1738
  if (hasPower) {
1592
1739
  writeSimpleText($this, w, 'power', p.powerW_1.toString());
1593
1740
  }
1741
+ if (hasRoadWidth) {
1742
+ writeNamespaced($this, w, 'https://github.com/glandais/vcyclist/xmlschemas/v1', 'roadWidth', 'vc', p.roadWidthM_1.toString());
1743
+ }
1594
1744
  if (hasGarminExt) {
1595
1745
  w.startTag_pjuzbi_k$('http://www.garmin.com/xmlschemas/TrackPointExtension/v1', 'TrackPointExtension', 'gpxtpx');
1596
1746
  var tmp2_safe_receiver = p.heartRate_1;
@@ -1634,6 +1784,8 @@
1634
1784
  this.NS_GPX_1 = 'http://www.topografix.com/GPX/1/1';
1635
1785
  this.NS_XSI_1 = 'http://www.w3.org/2001/XMLSchema-instance';
1636
1786
  this.NS_GARMIN_TPX_1 = 'http://www.garmin.com/xmlschemas/TrackPointExtension/v1';
1787
+ this.NS_VCYCLIST_1 = 'https://github.com/glandais/vcyclist/xmlschemas/v1';
1788
+ this.PREFIX_VCYCLIST_1 = 'vc';
1637
1789
  this.PREFIX_XSI_1 = 'xsi';
1638
1790
  this.PREFIX_GARMIN_TPX_1 = 'gpxtpx';
1639
1791
  this.SCHEMA_LOCATION_1 = 'http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd';
@@ -1978,6 +2130,39 @@
1978
2130
  return false;
1979
2131
  return true;
1980
2132
  };
2133
+ function OsmHighway() {
2134
+ OsmHighway_instance = this;
2135
+ this.WIDTH_BY_CLASS_1 = mapOf([to('motorway', 7.5), to('motorway_link', 6.0), to('trunk', 7.0), to('trunk_link', 6.0), to('primary', 6.5), to('primary_link', 5.5), to('secondary', 6.0), to('secondary_link', 5.0), to('tertiary', 5.5), to('tertiary_link', 5.0), to('unclassified', 4.5), to('residential', 5.0), to('living_street', 4.0), to('service', 3.5), to('road', 5.0), to('track', 3.0), to('cycleway', 2.5), to('path', 2.5), to('bridleway', 2.5), to('footway', 2.5), to('pedestrian', 3.0), to('steps', 2.5)]);
2136
+ }
2137
+ protoOf(OsmHighway).defaultWidthM_4tz9nj_k$ = function (highway) {
2138
+ var tmp;
2139
+ if (highway == null) {
2140
+ tmp = null;
2141
+ } else {
2142
+ // Inline function 'kotlin.text.trim' call
2143
+ tmp = toString_0(trim(isCharSequence(highway) ? highway : THROW_CCE()));
2144
+ }
2145
+ var tmp1_safe_receiver = tmp;
2146
+ var tmp_0;
2147
+ if (tmp1_safe_receiver == null) {
2148
+ tmp_0 = null;
2149
+ } else {
2150
+ // Inline function 'kotlin.text.lowercase' call
2151
+ // Inline function 'kotlin.js.asDynamic' call
2152
+ tmp_0 = tmp1_safe_receiver.toLowerCase();
2153
+ }
2154
+ var key = tmp_0;
2155
+ // Inline function 'kotlin.text.isNullOrEmpty' call
2156
+ if (key == null || charSequenceLength(key) === 0)
2157
+ return null;
2158
+ return this.WIDTH_BY_CLASS_1.get_wei43m_k$(key);
2159
+ };
2160
+ var OsmHighway_instance;
2161
+ function OsmHighway_getInstance() {
2162
+ if (OsmHighway_instance == null)
2163
+ new OsmHighway();
2164
+ return OsmHighway_instance;
2165
+ }
1981
2166
  function formatShortestRoundTrip($this, value) {
1982
2167
  var inductionVariable = 0;
1983
2168
  if (inductionVariable <= 12)
@@ -2477,184 +2662,218 @@
2477
2662
  var message = 'Negative size: ' + this.size_1;
2478
2663
  throw IllegalArgumentException_init_$Create$_0(toString_0(message));
2479
2664
  }
2480
- this.data_1 = new Float64Array(imul(this.size_1, 38));
2665
+ this.data_1 = new Float64Array(imul(this.size_1, 43));
2666
+ var inductionVariable = 0;
2667
+ var last = this.size_1;
2668
+ if (inductionVariable < last)
2669
+ do {
2670
+ var i = inductionVariable;
2671
+ 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;
2677
+ }
2678
+ while (inductionVariable < last);
2481
2679
  }
2482
2680
  protoOf(GeneratedPath).get_z3le6l_k$ = function (i, field) {
2483
- return this.data_1[imul(i, 38) + field.ordinal_1 | 0];
2681
+ return this.data_1[imul(i, 43) + field.ordinal_1 | 0];
2484
2682
  };
2485
2683
  protoOf(GeneratedPath).set_b3ze83_k$ = function (i, field, v) {
2486
- this.data_1[imul(i, 38) + field.ordinal_1 | 0] = v;
2684
+ this.data_1[imul(i, 43) + field.ordinal_1 | 0] = v;
2487
2685
  };
2488
2686
  protoOf(GeneratedPath).latitude_gb4iok_k$ = function (i) {
2489
- return this.data_1[imul(i, 38) + 0 | 0];
2687
+ return this.data_1[imul(i, 43) + 0 | 0];
2490
2688
  };
2491
2689
  protoOf(GeneratedPath).setLatitude_skkzf0_k$ = function (i, v) {
2492
- this.data_1[imul(i, 38) + 0 | 0] = v;
2690
+ this.data_1[imul(i, 43) + 0 | 0] = v;
2493
2691
  };
2494
2692
  protoOf(GeneratedPath).longitude_a9xl_k$ = function (i) {
2495
- return this.data_1[imul(i, 38) + 1 | 0];
2693
+ return this.data_1[imul(i, 43) + 1 | 0];
2496
2694
  };
2497
2695
  protoOf(GeneratedPath).setLongitude_k0bc8l_k$ = function (i, v) {
2498
- this.data_1[imul(i, 38) + 1 | 0] = v;
2696
+ this.data_1[imul(i, 43) + 1 | 0] = v;
2499
2697
  };
2500
2698
  protoOf(GeneratedPath).distance_5s4s77_k$ = function (i) {
2501
- return this.data_1[imul(i, 38) + 2 | 0];
2699
+ return this.data_1[imul(i, 43) + 2 | 0];
2502
2700
  };
2503
2701
  protoOf(GeneratedPath).setDistance_d14hwr_k$ = function (i, v) {
2504
- this.data_1[imul(i, 38) + 2 | 0] = v;
2702
+ this.data_1[imul(i, 43) + 2 | 0] = v;
2505
2703
  };
2506
2704
  protoOf(GeneratedPath).setDx_uk0ky4_k$ = function (i, v) {
2507
- this.data_1[imul(i, 38) + 3 | 0] = v;
2705
+ this.data_1[imul(i, 43) + 3 | 0] = v;
2508
2706
  };
2509
2707
  protoOf(GeneratedPath).time_ryc845_k$ = function (i) {
2510
- return this.data_1[imul(i, 38) + 4 | 0];
2708
+ return this.data_1[imul(i, 43) + 4 | 0];
2511
2709
  };
2512
2710
  protoOf(GeneratedPath).setTime_rfmvcd_k$ = function (i, v) {
2513
- this.data_1[imul(i, 38) + 4 | 0] = v;
2711
+ this.data_1[imul(i, 43) + 4 | 0] = v;
2514
2712
  };
2515
2713
  protoOf(GeneratedPath).elapsed_7307rw_k$ = function (i) {
2516
- return this.data_1[imul(i, 38) + 5 | 0];
2714
+ return this.data_1[imul(i, 43) + 5 | 0];
2517
2715
  };
2518
2716
  protoOf(GeneratedPath).setElapsed_916ug_k$ = function (i, v) {
2519
- this.data_1[imul(i, 38) + 5 | 0] = v;
2717
+ this.data_1[imul(i, 43) + 5 | 0] = v;
2520
2718
  };
2521
2719
  protoOf(GeneratedPath).dt_17uzp4_k$ = function (i) {
2522
- return this.data_1[imul(i, 38) + 6 | 0];
2720
+ return this.data_1[imul(i, 43) + 6 | 0];
2523
2721
  };
2524
2722
  protoOf(GeneratedPath).setDt_sgarxs_k$ = function (i, v) {
2525
- this.data_1[imul(i, 38) + 6 | 0] = v;
2723
+ this.data_1[imul(i, 43) + 6 | 0] = v;
2526
2724
  };
2527
2725
  protoOf(GeneratedPath).bearing_fz5vxm_k$ = function (i) {
2528
- return this.data_1[imul(i, 38) + 7 | 0];
2726
+ return this.data_1[imul(i, 43) + 7 | 0];
2529
2727
  };
2530
2728
  protoOf(GeneratedPath).setBearing_in05l6_k$ = function (i, v) {
2531
- this.data_1[imul(i, 38) + 7 | 0] = v;
2729
+ this.data_1[imul(i, 43) + 7 | 0] = v;
2532
2730
  };
2533
2731
  protoOf(GeneratedPath).elevation_iziwkb_k$ = function (i) {
2534
- return this.data_1[imul(i, 38) + 8 | 0];
2732
+ return this.data_1[imul(i, 43) + 8 | 0];
2535
2733
  };
2536
2734
  protoOf(GeneratedPath).setElevation_pv2zuv_k$ = function (i, v) {
2537
- this.data_1[imul(i, 38) + 8 | 0] = v;
2735
+ this.data_1[imul(i, 43) + 8 | 0] = v;
2538
2736
  };
2539
2737
  protoOf(GeneratedPath).grade_c4yjz5_k$ = function (i) {
2540
- return this.data_1[imul(i, 38) + 9 | 0];
2738
+ return this.data_1[imul(i, 43) + 9 | 0];
2541
2739
  };
2542
2740
  protoOf(GeneratedPath).setGrade_3tur8z_k$ = function (i, v) {
2543
- this.data_1[imul(i, 38) + 9 | 0] = v;
2741
+ this.data_1[imul(i, 43) + 9 | 0] = v;
2544
2742
  };
2545
2743
  protoOf(GeneratedPath).radius_84q0sm_k$ = function (i) {
2546
- return this.data_1[imul(i, 38) + 10 | 0];
2744
+ return this.data_1[imul(i, 43) + 10 | 0];
2547
2745
  };
2548
2746
  protoOf(GeneratedPath).setRadius_p1cueq_k$ = function (i, v) {
2549
- this.data_1[imul(i, 38) + 10 | 0] = v;
2747
+ this.data_1[imul(i, 43) + 10 | 0] = v;
2550
2748
  };
2551
2749
  protoOf(GeneratedPath).setAeroCoef_tmjifm_k$ = function (i, v) {
2552
- this.data_1[imul(i, 38) + 11 | 0] = v;
2750
+ this.data_1[imul(i, 43) + 11 | 0] = v;
2553
2751
  };
2554
2752
  protoOf(GeneratedPath).setWindBearing_44dbry_k$ = function (i, v) {
2555
- this.data_1[imul(i, 38) + 12 | 0] = v;
2753
+ this.data_1[imul(i, 43) + 12 | 0] = v;
2556
2754
  };
2557
2755
  protoOf(GeneratedPath).windAlpha_7rjela_k$ = function (i) {
2558
- return this.data_1[imul(i, 38) + 13 | 0];
2756
+ return this.data_1[imul(i, 43) + 13 | 0];
2559
2757
  };
2560
2758
  protoOf(GeneratedPath).setWindAlpha_xkbtf2_k$ = function (i, v) {
2561
- this.data_1[imul(i, 38) + 13 | 0] = v;
2759
+ this.data_1[imul(i, 43) + 13 | 0] = v;
2562
2760
  };
2563
2761
  protoOf(GeneratedPath).setPAero_mmc4mr_k$ = function (i, v) {
2564
- this.data_1[imul(i, 38) + 14 | 0] = v;
2762
+ this.data_1[imul(i, 43) + 14 | 0] = v;
2565
2763
  };
2566
2764
  protoOf(GeneratedPath).setPGravity_tegtcu_k$ = function (i, v) {
2567
- this.data_1[imul(i, 38) + 15 | 0] = v;
2765
+ this.data_1[imul(i, 43) + 15 | 0] = v;
2568
2766
  };
2569
2767
  protoOf(GeneratedPath).setPRollingResistance_h04uz6_k$ = function (i, v) {
2570
- this.data_1[imul(i, 38) + 16 | 0] = v;
2768
+ this.data_1[imul(i, 43) + 16 | 0] = v;
2571
2769
  };
2572
2770
  protoOf(GeneratedPath).setPWheelBearings_djmhww_k$ = function (i, v) {
2573
- this.data_1[imul(i, 38) + 17 | 0] = v;
2771
+ this.data_1[imul(i, 43) + 17 | 0] = v;
2574
2772
  };
2575
2773
  protoOf(GeneratedPath).pInputPower_ybhudp_k$ = function (i) {
2576
- return this.data_1[imul(i, 38) + 18 | 0];
2774
+ return this.data_1[imul(i, 43) + 18 | 0];
2577
2775
  };
2578
2776
  protoOf(GeneratedPath).setPInputPower_i1beh_k$ = function (i, v) {
2579
- this.data_1[imul(i, 38) + 18 | 0] = v;
2777
+ this.data_1[imul(i, 43) + 18 | 0] = v;
2580
2778
  };
2581
2779
  protoOf(GeneratedPath).setPCyclistProvidedOptimalPower_gha9up_k$ = function (i, v) {
2582
- this.data_1[imul(i, 38) + 19 | 0] = v;
2780
+ this.data_1[imul(i, 43) + 19 | 0] = v;
2583
2781
  };
2584
2782
  protoOf(GeneratedPath).setPCyclistProvidedOptimalPowerWithHarmonics_tg3fol_k$ = function (i, v) {
2585
- this.data_1[imul(i, 38) + 20 | 0] = v;
2783
+ this.data_1[imul(i, 43) + 20 | 0] = v;
2586
2784
  };
2587
2785
  protoOf(GeneratedPath).setPCyclistPowerNeeded_54po1x_k$ = function (i, v) {
2588
- this.data_1[imul(i, 38) + 21 | 0] = v;
2786
+ this.data_1[imul(i, 43) + 21 | 0] = v;
2589
2787
  };
2590
2788
  protoOf(GeneratedPath).setPCyclistProvidedMuscular_aori9q_k$ = function (i, v) {
2591
- this.data_1[imul(i, 38) + 22 | 0] = v;
2789
+ this.data_1[imul(i, 43) + 22 | 0] = v;
2592
2790
  };
2593
2791
  protoOf(GeneratedPath).setPCyclistProvidedWheel_ofsihz_k$ = function (i, v) {
2594
- this.data_1[imul(i, 38) + 23 | 0] = v;
2792
+ this.data_1[imul(i, 43) + 23 | 0] = v;
2595
2793
  };
2596
2794
  protoOf(GeneratedPath).setPComputedTotalPower_wm6di_k$ = function (i, v) {
2597
- this.data_1[imul(i, 38) + 24 | 0] = v;
2795
+ this.data_1[imul(i, 43) + 24 | 0] = v;
2598
2796
  };
2599
2797
  protoOf(GeneratedPath).setPComputedWheelPower_qplog3_k$ = function (i, v) {
2600
- this.data_1[imul(i, 38) + 25 | 0] = v;
2798
+ this.data_1[imul(i, 43) + 25 | 0] = v;
2601
2799
  };
2602
2800
  protoOf(GeneratedPath).pComputedPower_g6dnn4_k$ = function (i) {
2603
- return this.data_1[imul(i, 38) + 26 | 0];
2801
+ return this.data_1[imul(i, 43) + 26 | 0];
2604
2802
  };
2605
2803
  protoOf(GeneratedPath).setPComputedPower_c3m6yw_k$ = function (i, v) {
2606
- this.data_1[imul(i, 38) + 26 | 0] = v;
2804
+ this.data_1[imul(i, 43) + 26 | 0] = v;
2607
2805
  };
2608
2806
  protoOf(GeneratedPath).speed_npav2n_k$ = function (i) {
2609
- return this.data_1[imul(i, 38) + 27 | 0];
2807
+ return this.data_1[imul(i, 43) + 27 | 0];
2610
2808
  };
2611
2809
  protoOf(GeneratedPath).setSpeed_1slan1_k$ = function (i, v) {
2612
- this.data_1[imul(i, 38) + 27 | 0] = v;
2810
+ this.data_1[imul(i, 43) + 27 | 0] = v;
2613
2811
  };
2614
2812
  protoOf(GeneratedPath).speedMax_mjo2cl_k$ = function (i) {
2615
- return this.data_1[imul(i, 38) + 28 | 0];
2813
+ return this.data_1[imul(i, 43) + 28 | 0];
2616
2814
  };
2617
2815
  protoOf(GeneratedPath).setSpeedMax_7xvqir_k$ = function (i, v) {
2618
- this.data_1[imul(i, 38) + 28 | 0] = v;
2816
+ this.data_1[imul(i, 43) + 28 | 0] = v;
2619
2817
  };
2620
2818
  protoOf(GeneratedPath).setSpeedMaxIncline_8l69w1_k$ = function (i, v) {
2621
- this.data_1[imul(i, 38) + 29 | 0] = v;
2819
+ this.data_1[imul(i, 43) + 29 | 0] = v;
2622
2820
  };
2623
2821
  protoOf(GeneratedPath).setVirtSpeedCurrent_kvg8yv_k$ = function (i, v) {
2624
- this.data_1[imul(i, 38) + 30 | 0] = v;
2822
+ this.data_1[imul(i, 43) + 30 | 0] = v;
2625
2823
  };
2626
2824
  protoOf(GeneratedPath).temperature_6yw0ik_k$ = function (i) {
2627
- return this.data_1[imul(i, 38) + 31 | 0];
2825
+ return this.data_1[imul(i, 43) + 31 | 0];
2628
2826
  };
2629
2827
  protoOf(GeneratedPath).setTemperature_nno5xs_k$ = function (i, v) {
2630
- this.data_1[imul(i, 38) + 31 | 0] = v;
2828
+ this.data_1[imul(i, 43) + 31 | 0] = v;
2631
2829
  };
2632
2830
  protoOf(GeneratedPath).windSpeed_6m3dy1_k$ = function (i) {
2633
- return this.data_1[imul(i, 38) + 32 | 0];
2831
+ return this.data_1[imul(i, 43) + 32 | 0];
2634
2832
  };
2635
2833
  protoOf(GeneratedPath).setWindSpeed_ggaslh_k$ = function (i, v) {
2636
- this.data_1[imul(i, 38) + 32 | 0] = v;
2834
+ this.data_1[imul(i, 43) + 32 | 0] = v;
2637
2835
  };
2638
2836
  protoOf(GeneratedPath).setWindDirection_86vnxv_k$ = function (i, v) {
2639
- this.data_1[imul(i, 38) + 33 | 0] = v;
2837
+ this.data_1[imul(i, 43) + 33 | 0] = v;
2640
2838
  };
2641
2839
  protoOf(GeneratedPath).heartRate_qiaqfm_k$ = function (i) {
2642
- return this.data_1[imul(i, 38) + 34 | 0];
2840
+ return this.data_1[imul(i, 43) + 34 | 0];
2643
2841
  };
2644
2842
  protoOf(GeneratedPath).setHeartRate_3mzzq6_k$ = function (i, v) {
2645
- this.data_1[imul(i, 38) + 34 | 0] = v;
2843
+ this.data_1[imul(i, 43) + 34 | 0] = v;
2646
2844
  };
2647
2845
  protoOf(GeneratedPath).cadence_h3r7af_k$ = function (i) {
2648
- return this.data_1[imul(i, 38) + 35 | 0];
2846
+ return this.data_1[imul(i, 43) + 35 | 0];
2649
2847
  };
2650
2848
  protoOf(GeneratedPath).setCadence_ick7df_k$ = function (i, v) {
2651
- this.data_1[imul(i, 38) + 35 | 0] = v;
2849
+ this.data_1[imul(i, 43) + 35 | 0] = v;
2652
2850
  };
2653
2851
  protoOf(GeneratedPath).setWPrimeBalance_stwqkw_k$ = function (i, v) {
2654
- this.data_1[imul(i, 38) + 36 | 0] = v;
2852
+ this.data_1[imul(i, 43) + 36 | 0] = v;
2655
2853
  };
2656
2854
  protoOf(GeneratedPath).setPBrake_iza4qj_k$ = function (i, v) {
2657
- this.data_1[imul(i, 38) + 37 | 0] = v;
2855
+ this.data_1[imul(i, 43) + 37 | 0] = v;
2856
+ };
2857
+ protoOf(GeneratedPath).trajectoryCurvature_t4abpc_k$ = function (i) {
2858
+ return this.data_1[imul(i, 43) + 38 | 0];
2859
+ };
2860
+ protoOf(GeneratedPath).setTrajectoryCurvature_yjmp8s_k$ = function (i, v) {
2861
+ this.data_1[imul(i, 43) + 38 | 0] = v;
2862
+ };
2863
+ protoOf(GeneratedPath).roadWidth_7zv9qq_k$ = function (i) {
2864
+ return this.data_1[imul(i, 43) + 39 | 0];
2865
+ };
2866
+ protoOf(GeneratedPath).setRoadWidth_g0vcte_k$ = function (i, v) {
2867
+ this.data_1[imul(i, 43) + 39 | 0] = v;
2868
+ };
2869
+ protoOf(GeneratedPath).setLateralOffset_k5uegq_k$ = function (i, v) {
2870
+ this.data_1[imul(i, 43) + 40 | 0] = v;
2871
+ };
2872
+ protoOf(GeneratedPath).setSourceLatitude_jzh9ix_k$ = function (i, v) {
2873
+ this.data_1[imul(i, 43) + 41 | 0] = v;
2874
+ };
2875
+ protoOf(GeneratedPath).setSourceLongitude_xmvvyo_k$ = function (i, v) {
2876
+ this.data_1[imul(i, 43) + 42 | 0] = v;
2658
2877
  };
2659
2878
  function Companion_0() {
2660
2879
  Companion_instance_1 = this;
@@ -2931,8 +3150,8 @@
2931
3150
  PointField_DISTANCE_instance = new PointField('DISTANCE', 2, 'distance', 'meters', 'Distance (meters)', PointFieldCategory_COORDINATES_getInstance());
2932
3151
  PointField_DX_instance = new PointField('DX', 3, 'dx', 'meters', 'dx (meters)', PointFieldCategory_COORDINATES_getInstance());
2933
3152
  PointField_TIME_instance = new PointField('TIME', 4, 'time', 'ms', 'Timestamp (ms since epoch)', PointFieldCategory_TEMPORAL_getInstance(), true);
2934
- PointField_ELAPSED_instance = new PointField('ELAPSED', 5, 'elapsed', 'ms', 'Elapsed duration (ms)', PointFieldCategory_TEMPORAL_getInstance());
2935
- PointField_DT_instance = new PointField('DT', 6, 'dt', 'ms', 'dt (ms)', PointFieldCategory_TEMPORAL_getInstance());
3153
+ PointField_ELAPSED_instance = new PointField('ELAPSED', 5, 'elapsed', 's', 'Elapsed duration (s)', PointFieldCategory_TEMPORAL_getInstance());
3154
+ PointField_DT_instance = new PointField('DT', 6, 'dt', 's', 'dt (s)', PointFieldCategory_TEMPORAL_getInstance());
2936
3155
  PointField_BEARING_instance = new PointField('BEARING', 7, 'bearing', 'radians', 'Direction bearing (radians)', PointFieldCategory_ANGLES_getInstance(), VOID, true);
2937
3156
  PointField_ELEVATION_instance = new PointField('ELEVATION', 8, 'elevation', 'meters', 'Elevation (meters)', PointFieldCategory_ELEVATION_getInstance());
2938
3157
  PointField_GRADE_instance = new PointField('GRADE', 9, 'grade', '%', 'Road grade/slope (%)', PointFieldCategory_GRADE_getInstance());
@@ -2964,6 +3183,11 @@
2964
3183
  PointField_CADENCE_instance = new PointField('CADENCE', 35, 'cadence', 'rpm', 'Pedaling cadence (rpm)', PointFieldCategory_PHYSIOLOGICAL_getInstance());
2965
3184
  PointField_W_PRIME_BALANCE_instance = new PointField('W_PRIME_BALANCE', 36, 'wPrimeBalance', 'joules', 'W\u2032 balance (J)', PointFieldCategory_PHYSIOLOGICAL_getInstance());
2966
3185
  PointField_P_BRAKE_instance = new PointField('P_BRAKE', 37, 'pBrake', 'watts', 'Braking power', PointFieldCategory_POWER_PHYSICS_getInstance());
3186
+ PointField_TRAJECTORY_CURVATURE_instance = new PointField('TRAJECTORY_CURVATURE', 38, 'trajectoryCurvature', '1/m', 'Trajectory curvature (1/m, + = left)', PointFieldCategory_RADIUS_getInstance(), VOID, VOID, true);
3187
+ PointField_ROAD_WIDTH_instance = new PointField('ROAD_WIDTH', 39, 'roadWidth', 'meters', 'Road width (m)', PointFieldCategory_ROAD_getInstance(), VOID, VOID, true);
3188
+ PointField_LATERAL_OFFSET_instance = new PointField('LATERAL_OFFSET', 40, 'lateralOffset', 'meters', 'Lateral offset (m, + = left)', PointFieldCategory_ROAD_getInstance(), VOID, VOID, true);
3189
+ 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
+ PointField_SOURCE_LONGITUDE_instance = new PointField('SOURCE_LONGITUDE', 42, 'sourceLongitude', 'radians', 'Original longitude before the racing line (radians)', PointFieldCategory_ROAD_getInstance(), true, true, true);
2967
3191
  if (Companion_instance_3 == null) {
2968
3192
  Companion_instance;
2969
3193
  new Companion_2();
@@ -3007,9 +3231,14 @@
3007
3231
  var PointField_CADENCE_instance;
3008
3232
  var PointField_W_PRIME_BALANCE_instance;
3009
3233
  var PointField_P_BRAKE_instance;
3234
+ var PointField_TRAJECTORY_CURVATURE_instance;
3235
+ var PointField_ROAD_WIDTH_instance;
3236
+ var PointField_LATERAL_OFFSET_instance;
3237
+ var PointField_SOURCE_LATITUDE_instance;
3238
+ var PointField_SOURCE_LONGITUDE_instance;
3010
3239
  function Companion_2() {
3011
3240
  Companion_instance_3 = this;
3012
- this.COUNT_1 = 38;
3241
+ this.COUNT_1 = 43;
3013
3242
  var tmp = this;
3014
3243
  // Inline function 'kotlin.collections.associateBy' call
3015
3244
  var this_0 = get_entries_0();
@@ -3034,7 +3263,7 @@
3034
3263
  }
3035
3264
  function values_0() {
3036
3265
  static_init_1();
3037
- 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()];
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()];
3038
3267
  }
3039
3268
  function get_entries_0() {
3040
3269
  static_init_1();
@@ -3043,9 +3272,10 @@
3043
3272
  return $ENTRIES_0;
3044
3273
  }
3045
3274
  var $ENTRIES_0;
3046
- function PointField(name, ordinal, prop, unit, shortDescription, category, notSelectable, anglesInRadians) {
3275
+ function PointField(name, ordinal, prop, unit, shortDescription, category, notSelectable, anglesInRadians, nanDefault) {
3047
3276
  notSelectable = notSelectable === VOID ? false : notSelectable;
3048
3277
  anglesInRadians = anglesInRadians === VOID ? false : anglesInRadians;
3278
+ nanDefault = nanDefault === VOID ? false : nanDefault;
3049
3279
  Enum.call(this, name, ordinal);
3050
3280
  this.prop_1 = prop;
3051
3281
  this.unit_1 = unit;
@@ -3053,6 +3283,7 @@
3053
3283
  this.category_1 = category;
3054
3284
  this.notSelectable_1 = notSelectable;
3055
3285
  this.anglesInRadians_1 = anglesInRadians;
3286
+ this.nanDefault_1 = nanDefault;
3056
3287
  }
3057
3288
  function PointField_LATITUDE_getInstance() {
3058
3289
  static_init_1();
@@ -3206,6 +3437,26 @@
3206
3437
  static_init_1();
3207
3438
  return PointField_P_BRAKE_instance;
3208
3439
  }
3440
+ function PointField_TRAJECTORY_CURVATURE_getInstance() {
3441
+ static_init_1();
3442
+ return PointField_TRAJECTORY_CURVATURE_instance;
3443
+ }
3444
+ function PointField_ROAD_WIDTH_getInstance() {
3445
+ static_init_1();
3446
+ return PointField_ROAD_WIDTH_instance;
3447
+ }
3448
+ function PointField_LATERAL_OFFSET_getInstance() {
3449
+ static_init_1();
3450
+ return PointField_LATERAL_OFFSET_instance;
3451
+ }
3452
+ function PointField_SOURCE_LATITUDE_getInstance() {
3453
+ static_init_1();
3454
+ return PointField_SOURCE_LATITUDE_instance;
3455
+ }
3456
+ function PointField_SOURCE_LONGITUDE_getInstance() {
3457
+ static_init_1();
3458
+ return PointField_SOURCE_LONGITUDE_instance;
3459
+ }
3209
3460
  var static_init_called_2;
3210
3461
  function static_init_2() {
3211
3462
  if (static_init_called_2)
@@ -3225,6 +3476,7 @@
3225
3476
  PointFieldCategory_SPEED_instance = new PointFieldCategory('SPEED', 11, 'speed', 'Speed & Motion');
3226
3477
  PointFieldCategory_ENVIRONMENTAL_instance = new PointFieldCategory('ENVIRONMENTAL', 12, 'environmental', 'Environmental');
3227
3478
  PointFieldCategory_PHYSIOLOGICAL_instance = new PointFieldCategory('PHYSIOLOGICAL', 13, 'physiological', 'Physiological');
3479
+ PointFieldCategory_ROAD_instance = new PointFieldCategory('ROAD', 14, 'road', 'Road');
3228
3480
  }
3229
3481
  var PointFieldCategory_COORDINATES_instance;
3230
3482
  var PointFieldCategory_TEMPORAL_instance;
@@ -3240,6 +3492,7 @@
3240
3492
  var PointFieldCategory_SPEED_instance;
3241
3493
  var PointFieldCategory_ENVIRONMENTAL_instance;
3242
3494
  var PointFieldCategory_PHYSIOLOGICAL_instance;
3495
+ var PointFieldCategory_ROAD_instance;
3243
3496
  function PointFieldCategory(name, ordinal, id, displayName) {
3244
3497
  Enum.call(this, name, ordinal);
3245
3498
  this.id_1 = id;
@@ -3301,6 +3554,10 @@
3301
3554
  static_init_2();
3302
3555
  return PointFieldCategory_PHYSIOLOGICAL_instance;
3303
3556
  }
3557
+ function PointFieldCategory_ROAD_getInstance() {
3558
+ static_init_2();
3559
+ return PointFieldCategory_ROAD_instance;
3560
+ }
3304
3561
  function Copy(sourceIndex) {
3305
3562
  this.sourceIndex_1 = sourceIndex;
3306
3563
  }