@opengeoweb/sigmet-airmet 9.28.1 → 9.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/index.esm.js +912 -474
  2. package/package.json +1 -1
  3. package/src/index.d.ts +13 -13
  4. package/src/lib/AirmetDemo.stories.d.ts +19 -19
  5. package/src/lib/SigmetDemo.stories.d.ts +19 -19
  6. package/src/lib/components/ComponentsLookUp/AirmetComponentsLookUp.d.ts +11 -11
  7. package/src/lib/components/ComponentsLookUp/AirmetComponentsLookUp.spec.d.ts +1 -1
  8. package/src/lib/components/ComponentsLookUp/AviationProductApiWrapper.d.ts +9 -9
  9. package/src/lib/components/ComponentsLookUp/AviationProductApiWrapper.spec.d.ts +1 -1
  10. package/src/lib/components/ComponentsLookUp/SigmetComponentsLookUp.d.ts +11 -11
  11. package/src/lib/components/ComponentsLookUp/SigmetComponentsLookUp.spec.d.ts +1 -1
  12. package/src/lib/components/ComponentsLookUp/index.d.ts +2 -2
  13. package/src/lib/components/ConfigurationDemo/ConfigrationDemo.stories.d.ts +10 -10
  14. package/src/lib/components/ConfigurationDemo/configurations.d.ts +7 -7
  15. package/src/lib/components/ConfigurationDemo/configurations.spec.d.ts +1 -1
  16. package/src/lib/components/ContentDialog/ContentDialog.d.ts +13 -13
  17. package/src/lib/components/ContentDialog/ContentDialog.spec.d.ts +1 -1
  18. package/src/lib/components/ContentDialog/ContentDialog.stories.d.ts +94 -94
  19. package/src/lib/components/ContentDialog/index.d.ts +1 -1
  20. package/src/lib/components/MapViewGeoJson/MapViewGeoJson.d.ts +10 -10
  21. package/src/lib/components/MapViewGeoJson/MapViewGeoJson.spec.d.ts +1 -1
  22. package/src/lib/components/MapViewGeoJson/MapViewGeoJson.stories.d.ts +8 -8
  23. package/src/lib/components/MapViewGeoJson/constants.d.ts +41 -41
  24. package/src/lib/components/MapViewGeoJson/index.d.ts +1 -1
  25. package/src/lib/components/MetInfoWrapper/DownloadSigmetAirmetConfigWrapper.d.ts +8 -8
  26. package/src/lib/components/MetInfoWrapper/DownloadSigmetAirmetConfigWrapper.spec.d.ts +1 -1
  27. package/src/lib/components/MetInfoWrapper/MetInfoWrapper.d.ts +17 -17
  28. package/src/lib/components/MetInfoWrapper/MetInfoWrapper.spec.d.ts +1 -1
  29. package/src/lib/components/MetInfoWrapper/MetInfoWrapper.stories.d.ts +6 -6
  30. package/src/lib/components/MetInfoWrapper/MetInfoWrapper.tac.spec.d.ts +1 -1
  31. package/src/lib/components/MetInfoWrapper/index.d.ts +2 -2
  32. package/src/lib/components/MetInfoWrapper/utils.d.ts +15 -13
  33. package/src/lib/components/MetInfoWrapper/utils.spec.d.ts +1 -1
  34. package/src/lib/components/ProductForms/AirmetForm/AirmetForm.d.ts +13 -13
  35. package/src/lib/components/ProductForms/AirmetForm/AirmetForm.spec.d.ts +1 -1
  36. package/src/lib/components/ProductForms/AirmetForm/AirmetForm.stories.d.ts +110 -110
  37. package/src/lib/components/ProductForms/AirmetForm/AirmetForm.validations.spec.d.ts +1 -1
  38. package/src/lib/components/ProductForms/ProductForm.styles.d.ts +88 -88
  39. package/src/lib/components/ProductForms/ProductFormDialog.Airmet.stories.d.ts +14 -14
  40. package/src/lib/components/ProductForms/ProductFormDialog.Draw.stories.d.ts +10 -10
  41. package/src/lib/components/ProductForms/ProductFormDialog.Sigmet.stories.d.ts +15 -15
  42. package/src/lib/components/ProductForms/ProductFormDialog.actions.spec.d.ts +1 -1
  43. package/src/lib/components/ProductForms/ProductFormDialog.d.ts +12 -11
  44. package/src/lib/components/ProductForms/ProductFormDialog.spec.d.ts +1 -1
  45. package/src/lib/components/ProductForms/ProductFormDialogContent.d.ts +15 -14
  46. package/src/lib/components/ProductForms/ProductFormDialogContent.spec.d.ts +1 -1
  47. package/src/lib/components/ProductForms/ProductFormFields/Change.d.ts +4 -4
  48. package/src/lib/components/ProductForms/ProductFormFields/Change.spec.d.ts +1 -1
  49. package/src/lib/components/ProductForms/ProductFormFields/CloudLevels.d.ts +12 -12
  50. package/src/lib/components/ProductForms/ProductFormFields/CloudLevels.spec.d.ts +1 -1
  51. package/src/lib/components/ProductForms/ProductFormFields/DrawTools.d.ts +10 -10
  52. package/src/lib/components/ProductForms/ProductFormFields/DrawTools.spec.d.ts +1 -1
  53. package/src/lib/components/ProductForms/ProductFormFields/IssuedAt.d.ts +7 -7
  54. package/src/lib/components/ProductForms/ProductFormFields/IssuedAt.spec.d.ts +1 -1
  55. package/src/lib/components/ProductForms/ProductFormFields/Levels.d.ts +14 -14
  56. package/src/lib/components/ProductForms/ProductFormFields/Levels.spec.d.ts +1 -1
  57. package/src/lib/components/ProductForms/ProductFormFields/ObservationForecast.d.ts +4 -4
  58. package/src/lib/components/ProductForms/ProductFormFields/ObservationForecast.spec.d.ts +1 -1
  59. package/src/lib/components/ProductForms/ProductFormFields/ObservationForecastTime.d.ts +7 -7
  60. package/src/lib/components/ProductForms/ProductFormFields/ObservationForecastTime.spec.d.ts +1 -1
  61. package/src/lib/components/ProductForms/ProductFormFields/Phenomenon.d.ts +6 -4
  62. package/src/lib/components/ProductForms/ProductFormFields/Phenomenon.spec.d.ts +1 -1
  63. package/src/lib/components/ProductForms/ProductFormFields/ProductFormFieldLayout.d.ts +8 -8
  64. package/src/lib/components/ProductForms/ProductFormFields/ProductFormFieldLayout.spec.d.ts +1 -1
  65. package/src/lib/components/ProductForms/ProductFormFields/Progress.d.ts +17 -17
  66. package/src/lib/components/ProductForms/ProductFormFields/Progress.spec.d.ts +1 -1
  67. package/src/lib/components/ProductForms/ProductFormFields/RadioButtonAndLabel.d.ts +9 -9
  68. package/src/lib/components/ProductForms/ProductFormFields/RadioButtonAndLabel.spec.d.ts +1 -1
  69. package/src/lib/components/ProductForms/ProductFormFields/SelectFIR.d.ts +12 -11
  70. package/src/lib/components/ProductForms/ProductFormFields/SelectFIR.spec.d.ts +1 -1
  71. package/src/lib/components/ProductForms/ProductFormFields/StartGeometry.d.ts +14 -14
  72. package/src/lib/components/ProductForms/ProductFormFields/StartGeometry.spec.d.ts +1 -1
  73. package/src/lib/components/ProductForms/ProductFormFields/SurfaceVisibility.d.ts +9 -9
  74. package/src/lib/components/ProductForms/ProductFormFields/SurfaceVisibility.spec.d.ts +1 -1
  75. package/src/lib/components/ProductForms/ProductFormFields/SurfaceWind.d.ts +7 -7
  76. package/src/lib/components/ProductForms/ProductFormFields/SurfaceWind.spec.d.ts +1 -1
  77. package/src/lib/components/ProductForms/ProductFormFields/Tac.d.ts +9 -9
  78. package/src/lib/components/ProductForms/ProductFormFields/Tac.spec.d.ts +1 -1
  79. package/src/lib/components/ProductForms/ProductFormFields/Type.d.ts +4 -4
  80. package/src/lib/components/ProductForms/ProductFormFields/Type.spec.d.ts +1 -1
  81. package/src/lib/components/ProductForms/ProductFormFields/ValidFrom.d.ts +6 -6
  82. package/src/lib/components/ProductForms/ProductFormFields/ValidFrom.spec.d.ts +1 -1
  83. package/src/lib/components/ProductForms/ProductFormFields/ValidUntil.d.ts +5 -5
  84. package/src/lib/components/ProductForms/ProductFormFields/ValidUntil.spec.d.ts +1 -1
  85. package/src/lib/components/ProductForms/ProductFormFields/VolcanicFields.d.ts +7 -7
  86. package/src/lib/components/ProductForms/ProductFormFields/VolcanicFields.spec.d.ts +1 -1
  87. package/src/lib/components/ProductForms/ProductFormFields/index.d.ts +17 -17
  88. package/src/lib/components/ProductForms/ProductFormLayout.d.ts +10 -10
  89. package/src/lib/components/ProductForms/ProductFormLayout.spec.d.ts +1 -1
  90. package/src/lib/components/ProductForms/ProductFormTac.d.ts +24 -24
  91. package/src/lib/components/ProductForms/ProductFormTac.spec.d.ts +1 -1
  92. package/src/lib/components/ProductForms/SigmetForm/SigmetCancelVolcanicMovements.d.ts +8 -8
  93. package/src/lib/components/ProductForms/SigmetForm/SigmetForm.d.ts +14 -14
  94. package/src/lib/components/ProductForms/SigmetForm/SigmetForm.spec.d.ts +1 -1
  95. package/src/lib/components/ProductForms/SigmetForm/SigmetForm.stories.d.ts +115 -115
  96. package/src/lib/components/ProductForms/SigmetForm/SigmetForm.validations.spec.d.ts +1 -1
  97. package/src/lib/components/ProductForms/index.d.ts +2 -2
  98. package/src/lib/components/ProductForms/utils.d.ts +80 -75
  99. package/src/lib/components/ProductForms/utils.spec.d.ts +1 -1
  100. package/src/lib/components/ProductList/ProductList.d.ts +13 -12
  101. package/src/lib/components/ProductList/ProductList.spec.d.ts +1 -1
  102. package/src/lib/components/ProductList/ProductList.stories.d.ts +62 -62
  103. package/src/lib/components/ProductList/ProductListRow.d.ts +10 -9
  104. package/src/lib/components/ProductList/ProductListRow.spec.d.ts +1 -1
  105. package/src/lib/components/ProductList/index.d.ts +2 -2
  106. package/src/lib/components/Providers/Providers.d.ts +18 -18
  107. package/src/lib/components/Providers/index.d.ts +1 -1
  108. package/src/lib/hooks/useShortTestHelpers.d.ts +4 -4
  109. package/src/lib/hooks/useShortTestHelpers.spec.d.ts +1 -1
  110. package/src/lib/types.d.ts +394 -421
  111. package/src/lib/utils/api.d.ts +25 -25
  112. package/src/lib/utils/api.spec.d.ts +1 -1
  113. package/src/lib/utils/config/config.d.ts +17 -17
  114. package/src/lib/utils/config/config.spec.d.ts +1 -1
  115. package/src/lib/utils/config/index.d.ts +5 -5
  116. package/src/lib/utils/fakeApi.d.ts +4 -4
  117. package/src/lib/utils/fakeApi.spec.d.ts +1 -1
  118. package/src/lib/utils/i18n.d.ts +7 -7
  119. package/src/lib/utils/mockdata/fakeAirmetList.d.ts +9 -9
  120. package/src/lib/utils/mockdata/fakeSigmetList.d.ts +13 -13
  121. package/src/lib/utils/store.d.ts +2 -2
  122. package/src/lib/utils/testUtils.d.ts +31 -28
package/index.esm.js CHANGED
@@ -5,7 +5,7 @@ import { FormControlLabel, Radio, Grid, Typography, Box, Button, Checkbox, MenuI
5
5
  import { useFormContext } from 'react-hook-form';
6
6
  import { FORM_FIELDS_NAMESPACE, useDraftFormHelpers, ReactHookFormRadioGroup, hasValidGeometry, ReactHookFormSelect, ReactHookFormNumberField, isInteger, isValidMax, isValidMin, isEmpty, ReactHookFormDateTime, countIntersectionPoints, hasMulitpleIntersections, ReactHookFormHiddenInput, isMaximumOneDrawing, isValidGeoJsonCoordinates, hasIntersectionWithFIR, isXHoursBefore, isXHoursAfter, ReactHookFormTextField, isLatitude, isNonOrBothCoordinates, isLongitude, ReactHookFormFormControl, isGeometryDirty, ReactHookFormProvider, defaultFormOptions } from '@opengeoweb/form-fields';
7
7
  import { useApiContext, useApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider } from '@opengeoweb/api';
8
- import { defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, defaultPoint, addGeoJSONProperties, defaultBox, defaultPolygon, DRAWMODE, addSelectionTypeToGeoJSON, defaultDelete, getIcon, MapControls, MapViewLayer, useMapDrawTool, addFeatureProperties, rewindGeometry } from '@opengeoweb/webmap-react';
8
+ import { defaultGeoJSONStyleProperties, defaultIntersectionStyleProperties, addSelectionTypeToGeoJSON, defaultPoint, addGeoJSONProperties, defaultBox, defaultPolygon, DRAWMODE, defaultDelete, getIcon, MapControls, MapViewLayer, useMapDrawTool, addFeatureProperties, rewindGeometry } from '@opengeoweb/webmap-react';
9
9
  import i18n from 'i18next';
10
10
  import { useTranslation } from 'react-i18next';
11
11
  import { PROJECTION, dateUtils, ToggleMenu, CustomTooltip, useIsMounted, StatusTag, AlertBanner, ConfirmationServiceProvider, usePreventBrowserClose, useConfirmationDialog, isAxiosError, getAxiosErrorMessage, usePoller, ErrorBoundary } from '@opengeoweb/shared';
@@ -29,8 +29,10 @@ var en = {
29
29
  unknown: "Unknown",
30
30
  "create-new-product": "Create a new {{ product }}",
31
31
  discard: "DISCARD",
32
+ renew: "Renew {{product}}",
32
33
  save: "Save",
33
34
  cancel: "Cancel",
35
+ "yes-cancel": "Yes, cancel {{product}}",
34
36
  publish: "Publish",
35
37
  back: "BACK",
36
38
  draft: "DRAFT",
@@ -43,16 +45,16 @@ var en = {
43
45
  cancels: "Cancels",
44
46
  close: "Close",
45
47
  "discard-non-capitalized": "Discard",
46
- "are-you-sure-you-want-to-discard": "Are you sure you would like to discard this {{product}}? Its properties will be lost`",
48
+ "are-you-sure-you-want-to-discard": "Are you sure you would like to discard this {{product}}? Its properties will be lost",
47
49
  "save-changes-made": "Do you want to save any changes made?",
48
50
  "publish-this-product": "Are you sure you want to publish this {{product}}?",
49
- "cancel-this-product": "Are you sure you want to cancel this {{product}}?`",
51
+ "cancel-this-product": "Are you sure you want to cancel this {{product}}?",
50
52
  "save-and-close": "Save and close",
51
53
  "discard-and-close": "Discard and close",
52
- "drop-a-point-as": "Drop a point as {{type}} position`",
54
+ "drop-a-point-as": "Drop a point as {{type}} position",
53
55
  "draw-a-box-as": "Draw a box as {{type}} position",
54
- "draw-a-shape-as": "Draw a shape as {{type}} position`",
55
- "set-a-fir-as": "Set FIR as {{type}} position`",
56
+ "draw-a-shape-as": "Draw a shape as {{type}} position",
57
+ "set-a-fir-as": "Set FIR as {{type}} position",
56
58
  "remove-geometry": "Remove geometry",
57
59
  "valid-until-time": "Valid until time has to be after Valid from time",
58
60
  "discard-product": "Discard {{product}}",
@@ -153,8 +155,10 @@ var fi = {
153
155
  unknown: "Ei tiedossa",
154
156
  "create-new-product": "Luo uusi {{product}}",
155
157
  discard: "HYLKÄÄ",
158
+ renew: "Not translated",
156
159
  save: "Tallenna",
157
160
  cancel: "Peruuta",
161
+ "yes-cancel": "Kyllä, peruuta {{product}}",
158
162
  publish: "Julkaise",
159
163
  back: "PALAA TAKAISIN",
160
164
  draft: "LUONNOS",
@@ -277,8 +281,10 @@ var no = {
277
281
  unknown: "Ukjent",
278
282
  "create-new-product": "Lage et nytt {{ product }}",
279
283
  discard: "FORKAST",
284
+ renew: "Forny {{product}}",
280
285
  save: "Lagre",
281
- cancel: "Avbryt",
286
+ cancel: "Kanseller",
287
+ "yes-cancel": "Ja, kanseller {{product}}",
282
288
  publish: "Publiser",
283
289
  back: "TILBAKE",
284
290
  draft: "KLADD",
@@ -400,8 +406,10 @@ var nl = {
400
406
  unknown: "Onbekend",
401
407
  "create-new-product": "Maak nieuwe {{ product }}",
402
408
  discard: "WEGGOOIEN",
409
+ renew: "Hernieuwen {{product}}",
403
410
  save: "Bewaar",
404
411
  cancel: "Annuleer",
412
+ "yes-cancel": "Ja, annuleer {{product}}",
405
413
  publish: "Publiceer",
406
414
  back: "TERUG",
407
415
  draft: "CONCEPT",
@@ -551,21 +559,21 @@ var functionUncurryThis = NATIVE_BIND$3 ? uncurryThisWithBind : function (fn) {
551
559
  };
552
560
  };
553
561
 
554
- var uncurryThis$m = functionUncurryThis;
562
+ var uncurryThis$n = functionUncurryThis;
555
563
 
556
- var toString$a = uncurryThis$m({}.toString);
557
- var stringSlice$6 = uncurryThis$m(''.slice);
564
+ var toString$b = uncurryThis$n({}.toString);
565
+ var stringSlice$7 = uncurryThis$n(''.slice);
558
566
 
559
567
  var classofRaw$2 = function (it) {
560
- return stringSlice$6(toString$a(it), 8, -1);
568
+ return stringSlice$7(toString$b(it), 8, -1);
561
569
  };
562
570
 
563
- var uncurryThis$l = functionUncurryThis;
571
+ var uncurryThis$m = functionUncurryThis;
564
572
  var fails$m = fails$o;
565
573
  var classof$9 = classofRaw$2;
566
574
 
567
575
  var $Object$4 = Object;
568
- var split = uncurryThis$l(''.split);
576
+ var split = uncurryThis$m(''.split);
569
577
 
570
578
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
571
579
  var indexedObject = fails$m(function () {
@@ -606,7 +614,7 @@ var check = function (it) {
606
614
  };
607
615
 
608
616
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
609
- var global$n =
617
+ var global$o =
610
618
  // eslint-disable-next-line es/no-global-this -- safe
611
619
  check(typeof globalThis == 'object' && globalThis) ||
612
620
  check(typeof window == 'object' && window) ||
@@ -619,20 +627,20 @@ var global$n =
619
627
 
620
628
  var sharedStore = {exports: {}};
621
629
 
622
- var global$m = global$n;
630
+ var global$n = global$o;
623
631
 
624
632
  // eslint-disable-next-line es/no-object-defineproperty -- safe
625
633
  var defineProperty$7 = Object.defineProperty;
626
634
 
627
635
  var defineGlobalProperty$3 = function (key, value) {
628
636
  try {
629
- defineProperty$7(global$m, key, { value: value, configurable: true, writable: true });
637
+ defineProperty$7(global$n, key, { value: value, configurable: true, writable: true });
630
638
  } catch (error) {
631
- global$m[key] = value;
639
+ global$n[key] = value;
632
640
  } return value;
633
641
  };
634
642
 
635
- var globalThis$1 = global$n;
643
+ var globalThis$1 = global$o;
636
644
  var defineGlobalProperty$2 = defineGlobalProperty$3;
637
645
 
638
646
  var SHARED = '__core-js_shared__';
@@ -664,10 +672,10 @@ var toObject$6 = function (argument) {
664
672
  return $Object$3(requireObjectCoercible$5(argument));
665
673
  };
666
674
 
667
- var uncurryThis$k = functionUncurryThis;
675
+ var uncurryThis$l = functionUncurryThis;
668
676
  var toObject$5 = toObject$6;
669
677
 
670
- var hasOwnProperty = uncurryThis$k({}.hasOwnProperty);
678
+ var hasOwnProperty = uncurryThis$l({}.hasOwnProperty);
671
679
 
672
680
  // `HasOwnProperty` abstract operation
673
681
  // https://tc39.es/ecma262/#sec-hasownproperty
@@ -676,23 +684,23 @@ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
676
684
  return hasOwnProperty(toObject$5(it), key);
677
685
  };
678
686
 
679
- var uncurryThis$j = functionUncurryThis;
687
+ var uncurryThis$k = functionUncurryThis;
680
688
 
681
689
  var id = 0;
682
690
  var postfix = Math.random();
683
- var toString$9 = uncurryThis$j(1.0.toString);
691
+ var toString$a = uncurryThis$k(1.0.toString);
684
692
 
685
693
  var uid$2 = function (key) {
686
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$9(++id + postfix, 36);
694
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$a(++id + postfix, 36);
687
695
  };
688
696
 
689
697
  var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
690
698
 
691
- var global$l = global$n;
699
+ var global$m = global$o;
692
700
  var userAgent$3 = engineUserAgent;
693
701
 
694
- var process$3 = global$l.process;
695
- var Deno$1 = global$l.Deno;
702
+ var process$3 = global$m.process;
703
+ var Deno$1 = global$m.Deno;
696
704
  var versions = process$3 && process$3.versions || Deno$1 && Deno$1.version;
697
705
  var v8 = versions && versions.v8;
698
706
  var match, version;
@@ -719,9 +727,9 @@ var engineV8Version = version;
719
727
  /* eslint-disable es/no-symbol -- required for testing */
720
728
  var V8_VERSION$1 = engineV8Version;
721
729
  var fails$l = fails$o;
722
- var global$k = global$n;
730
+ var global$l = global$o;
723
731
 
724
- var $String$5 = global$k.String;
732
+ var $String$5 = global$l.String;
725
733
 
726
734
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
727
735
  var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$l(function () {
@@ -736,26 +744,26 @@ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$l(func
736
744
  });
737
745
 
738
746
  /* eslint-disable es/no-symbol -- required for testing */
739
- var NATIVE_SYMBOL$1 = symbolConstructorDetection;
747
+ var NATIVE_SYMBOL$2 = symbolConstructorDetection;
740
748
 
741
- var useSymbolAsUid = NATIVE_SYMBOL$1
749
+ var useSymbolAsUid = NATIVE_SYMBOL$2
742
750
  && !Symbol.sham
743
751
  && typeof Symbol.iterator == 'symbol';
744
752
 
745
- var global$j = global$n;
753
+ var global$k = global$o;
746
754
  var shared$3 = shared$4;
747
- var hasOwn$b = hasOwnProperty_1;
755
+ var hasOwn$c = hasOwnProperty_1;
748
756
  var uid$1 = uid$2;
749
- var NATIVE_SYMBOL = symbolConstructorDetection;
757
+ var NATIVE_SYMBOL$1 = symbolConstructorDetection;
750
758
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
751
759
 
752
- var Symbol$2 = global$j.Symbol;
760
+ var Symbol$2 = global$k.Symbol;
753
761
  var WellKnownSymbolsStore = shared$3('wks');
754
762
  var createWellKnownSymbol = USE_SYMBOL_AS_UID$1 ? Symbol$2['for'] || Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid$1;
755
763
 
756
764
  var wellKnownSymbol$j = function (name) {
757
- if (!hasOwn$b(WellKnownSymbolsStore, name)) {
758
- WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$b(Symbol$2, name)
765
+ if (!hasOwn$c(WellKnownSymbolsStore, name)) {
766
+ WellKnownSymbolsStore[name] = NATIVE_SYMBOL$1 && hasOwn$c(Symbol$2, name)
759
767
  ? Symbol$2[name]
760
768
  : createWellKnownSymbol('Symbol.' + name);
761
769
  } return WellKnownSymbolsStore[name];
@@ -767,16 +775,16 @@ var documentAll = typeof document == 'object' && document.all;
767
775
  // `IsCallable` abstract operation
768
776
  // https://tc39.es/ecma262/#sec-iscallable
769
777
  // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
770
- var isCallable$n = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
778
+ var isCallable$o = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
771
779
  return typeof argument == 'function' || argument === documentAll;
772
780
  } : function (argument) {
773
781
  return typeof argument == 'function';
774
782
  };
775
783
 
776
- var isCallable$m = isCallable$n;
784
+ var isCallable$n = isCallable$o;
777
785
 
778
786
  var isObject$c = function (it) {
779
- return typeof it == 'object' ? it !== null : isCallable$m(it);
787
+ return typeof it == 'object' ? it !== null : isCallable$n(it);
780
788
  };
781
789
 
782
790
  var isObject$b = isObject$c;
@@ -800,12 +808,12 @@ var descriptors = !fails$k(function () {
800
808
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
801
809
  });
802
810
 
803
- var DESCRIPTORS$e = descriptors;
811
+ var DESCRIPTORS$f = descriptors;
804
812
  var fails$j = fails$o;
805
813
 
806
814
  // V8 ~ Chrome 36-
807
815
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
808
- var v8PrototypeDefineBug = DESCRIPTORS$e && fails$j(function () {
816
+ var v8PrototypeDefineBug = DESCRIPTORS$f && fails$j(function () {
809
817
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
810
818
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
811
819
  value: 42,
@@ -815,10 +823,10 @@ var v8PrototypeDefineBug = DESCRIPTORS$e && fails$j(function () {
815
823
 
816
824
  var objectDefineProperty = {};
817
825
 
818
- var global$i = global$n;
826
+ var global$j = global$o;
819
827
  var isObject$a = isObject$c;
820
828
 
821
- var document$3 = global$i.document;
829
+ var document$3 = global$j.document;
822
830
  // typeof document.createElement is 'object' in old IE
823
831
  var EXISTS$1 = isObject$a(document$3) && isObject$a(document$3.createElement);
824
832
 
@@ -826,12 +834,12 @@ var documentCreateElement$2 = function (it) {
826
834
  return EXISTS$1 ? document$3.createElement(it) : {};
827
835
  };
828
836
 
829
- var DESCRIPTORS$d = descriptors;
837
+ var DESCRIPTORS$e = descriptors;
830
838
  var fails$i = fails$o;
831
839
  var createElement$1 = documentCreateElement$2;
832
840
 
833
841
  // Thanks to IE8 for its funny defineProperty
834
- var ie8DomDefine = !DESCRIPTORS$d && !fails$i(function () {
842
+ var ie8DomDefine = !DESCRIPTORS$e && !fails$i(function () {
835
843
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
836
844
  return Object.defineProperty(createElement$1('div'), 'a', {
837
845
  get: function () { return 7; }
@@ -846,24 +854,24 @@ var functionCall = NATIVE_BIND$2 ? call$i.bind(call$i) : function () {
846
854
  return call$i.apply(call$i, arguments);
847
855
  };
848
856
 
849
- var global$h = global$n;
850
- var isCallable$l = isCallable$n;
857
+ var global$i = global$o;
858
+ var isCallable$m = isCallable$o;
851
859
 
852
860
  var aFunction = function (argument) {
853
- return isCallable$l(argument) ? argument : undefined;
861
+ return isCallable$m(argument) ? argument : undefined;
854
862
  };
855
863
 
856
864
  var getBuiltIn$7 = function (namespace, method) {
857
- return arguments.length < 2 ? aFunction(global$h[namespace]) : global$h[namespace] && global$h[namespace][method];
865
+ return arguments.length < 2 ? aFunction(global$i[namespace]) : global$i[namespace] && global$i[namespace][method];
858
866
  };
859
867
 
860
- var uncurryThis$i = functionUncurryThis;
868
+ var uncurryThis$j = functionUncurryThis;
861
869
 
862
- var objectIsPrototypeOf = uncurryThis$i({}.isPrototypeOf);
870
+ var objectIsPrototypeOf = uncurryThis$j({}.isPrototypeOf);
863
871
 
864
872
  var getBuiltIn$6 = getBuiltIn$7;
865
- var isCallable$k = isCallable$n;
866
- var isPrototypeOf$4 = objectIsPrototypeOf;
873
+ var isCallable$l = isCallable$o;
874
+ var isPrototypeOf$5 = objectIsPrototypeOf;
867
875
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
868
876
 
869
877
  var $Object$2 = Object;
@@ -872,7 +880,7 @@ var isSymbol$2 = USE_SYMBOL_AS_UID ? function (it) {
872
880
  return typeof it == 'symbol';
873
881
  } : function (it) {
874
882
  var $Symbol = getBuiltIn$6('Symbol');
875
- return isCallable$k($Symbol) && isPrototypeOf$4($Symbol.prototype, $Object$2(it));
883
+ return isCallable$l($Symbol) && isPrototypeOf$5($Symbol.prototype, $Object$2(it));
876
884
  };
877
885
 
878
886
  var $String$3 = String;
@@ -885,14 +893,14 @@ var tryToString$4 = function (argument) {
885
893
  }
886
894
  };
887
895
 
888
- var isCallable$j = isCallable$n;
896
+ var isCallable$k = isCallable$o;
889
897
  var tryToString$3 = tryToString$4;
890
898
 
891
899
  var $TypeError$g = TypeError;
892
900
 
893
901
  // `Assert: IsCallable(argument) is true`
894
902
  var aCallable$9 = function (argument) {
895
- if (isCallable$j(argument)) return argument;
903
+ if (isCallable$k(argument)) return argument;
896
904
  throw new $TypeError$g(tryToString$3(argument) + ' is not a function');
897
905
  };
898
906
 
@@ -907,7 +915,7 @@ var getMethod$4 = function (V, P) {
907
915
  };
908
916
 
909
917
  var call$h = functionCall;
910
- var isCallable$i = isCallable$n;
918
+ var isCallable$j = isCallable$o;
911
919
  var isObject$9 = isObject$c;
912
920
 
913
921
  var $TypeError$f = TypeError;
@@ -916,9 +924,9 @@ var $TypeError$f = TypeError;
916
924
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
917
925
  var ordinaryToPrimitive$1 = function (input, pref) {
918
926
  var fn, val;
919
- if (pref === 'string' && isCallable$i(fn = input.toString) && !isObject$9(val = call$h(fn, input))) return val;
920
- if (isCallable$i(fn = input.valueOf) && !isObject$9(val = call$h(fn, input))) return val;
921
- if (pref !== 'string' && isCallable$i(fn = input.toString) && !isObject$9(val = call$h(fn, input))) return val;
927
+ if (pref === 'string' && isCallable$j(fn = input.toString) && !isObject$9(val = call$h(fn, input))) return val;
928
+ if (isCallable$j(fn = input.valueOf) && !isObject$9(val = call$h(fn, input))) return val;
929
+ if (pref !== 'string' && isCallable$j(fn = input.toString) && !isObject$9(val = call$h(fn, input))) return val;
922
930
  throw new $TypeError$f("Can't convert object to primitive value");
923
931
  };
924
932
 
@@ -958,7 +966,7 @@ var toPropertyKey$2 = function (argument) {
958
966
  return isSymbol(key) ? key : key + '';
959
967
  };
960
968
 
961
- var DESCRIPTORS$c = descriptors;
969
+ var DESCRIPTORS$d = descriptors;
962
970
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
963
971
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
964
972
  var anObject$d = anObject$e;
@@ -975,7 +983,7 @@ var WRITABLE = 'writable';
975
983
 
976
984
  // `Object.defineProperty` method
977
985
  // https://tc39.es/ecma262/#sec-object.defineproperty
978
- objectDefineProperty.f = DESCRIPTORS$c ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
986
+ objectDefineProperty.f = DESCRIPTORS$d ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
979
987
  anObject$d(O);
980
988
  P = toPropertyKey$1(P);
981
989
  anObject$d(Attributes);
@@ -1091,22 +1099,22 @@ var arrayIncludes = {
1091
1099
 
1092
1100
  var hiddenKeys$4 = {};
1093
1101
 
1094
- var uncurryThis$h = functionUncurryThis;
1095
- var hasOwn$a = hasOwnProperty_1;
1102
+ var uncurryThis$i = functionUncurryThis;
1103
+ var hasOwn$b = hasOwnProperty_1;
1096
1104
  var toIndexedObject$3 = toIndexedObject$5;
1097
1105
  var indexOf$1 = arrayIncludes.indexOf;
1098
1106
  var hiddenKeys$3 = hiddenKeys$4;
1099
1107
 
1100
- var push$1 = uncurryThis$h([].push);
1108
+ var push$1 = uncurryThis$i([].push);
1101
1109
 
1102
1110
  var objectKeysInternal = function (object, names) {
1103
1111
  var O = toIndexedObject$3(object);
1104
1112
  var i = 0;
1105
1113
  var result = [];
1106
1114
  var key;
1107
- for (key in O) !hasOwn$a(hiddenKeys$3, key) && hasOwn$a(O, key) && push$1(result, key);
1115
+ for (key in O) !hasOwn$b(hiddenKeys$3, key) && hasOwn$b(O, key) && push$1(result, key);
1108
1116
  // Don't enum bug & hidden keys
1109
- while (names.length > i) if (hasOwn$a(O, key = names[i++])) {
1117
+ while (names.length > i) if (hasOwn$b(O, key = names[i++])) {
1110
1118
  ~indexOf$1(result, key) || push$1(result, key);
1111
1119
  }
1112
1120
  return result;
@@ -1133,7 +1141,7 @@ var objectKeys$2 = Object.keys || function keys(O) {
1133
1141
  return internalObjectKeys$1(O, enumBugKeys$2);
1134
1142
  };
1135
1143
 
1136
- var DESCRIPTORS$b = descriptors;
1144
+ var DESCRIPTORS$c = descriptors;
1137
1145
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1138
1146
  var definePropertyModule$3 = objectDefineProperty;
1139
1147
  var anObject$c = anObject$e;
@@ -1143,7 +1151,7 @@ var objectKeys$1 = objectKeys$2;
1143
1151
  // `Object.defineProperties` method
1144
1152
  // https://tc39.es/ecma262/#sec-object.defineproperties
1145
1153
  // eslint-disable-next-line es/no-object-defineproperties -- safe
1146
- objectDefineProperties.f = DESCRIPTORS$b && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1154
+ objectDefineProperties.f = DESCRIPTORS$c && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1147
1155
  anObject$c(O);
1148
1156
  var props = toIndexedObject$2(Properties);
1149
1157
  var keys = objectKeys$1(Properties);
@@ -1274,12 +1282,12 @@ var addToUnscopables$2 = function (key) {
1274
1282
 
1275
1283
  var iterators = {};
1276
1284
 
1277
- var global$g = global$n;
1278
- var isCallable$h = isCallable$n;
1285
+ var global$h = global$o;
1286
+ var isCallable$i = isCallable$o;
1279
1287
 
1280
- var WeakMap$1 = global$g.WeakMap;
1288
+ var WeakMap$1 = global$h.WeakMap;
1281
1289
 
1282
- var weakMapBasicDetection = isCallable$h(WeakMap$1) && /native code/.test(String(WeakMap$1));
1290
+ var weakMapBasicDetection = isCallable$i(WeakMap$1) && /native code/.test(String(WeakMap$1));
1283
1291
 
1284
1292
  var createPropertyDescriptor$3 = function (bitmap, value) {
1285
1293
  return {
@@ -1290,11 +1298,11 @@ var createPropertyDescriptor$3 = function (bitmap, value) {
1290
1298
  };
1291
1299
  };
1292
1300
 
1293
- var DESCRIPTORS$a = descriptors;
1301
+ var DESCRIPTORS$b = descriptors;
1294
1302
  var definePropertyModule$2 = objectDefineProperty;
1295
1303
  var createPropertyDescriptor$2 = createPropertyDescriptor$3;
1296
1304
 
1297
- var createNonEnumerableProperty$6 = DESCRIPTORS$a ? function (object, key, value) {
1305
+ var createNonEnumerableProperty$6 = DESCRIPTORS$b ? function (object, key, value) {
1298
1306
  return definePropertyModule$2.f(object, key, createPropertyDescriptor$2(1, value));
1299
1307
  } : function (object, key, value) {
1300
1308
  object[key] = value;
@@ -1302,17 +1310,17 @@ var createNonEnumerableProperty$6 = DESCRIPTORS$a ? function (object, key, value
1302
1310
  };
1303
1311
 
1304
1312
  var NATIVE_WEAK_MAP = weakMapBasicDetection;
1305
- var global$f = global$n;
1313
+ var global$g = global$o;
1306
1314
  var isObject$7 = isObject$c;
1307
1315
  var createNonEnumerableProperty$5 = createNonEnumerableProperty$6;
1308
- var hasOwn$9 = hasOwnProperty_1;
1316
+ var hasOwn$a = hasOwnProperty_1;
1309
1317
  var shared$1 = sharedStoreExports;
1310
1318
  var sharedKey$1 = sharedKey$3;
1311
1319
  var hiddenKeys$1 = hiddenKeys$4;
1312
1320
 
1313
1321
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
1314
- var TypeError$2 = global$f.TypeError;
1315
- var WeakMap = global$f.WeakMap;
1322
+ var TypeError$2 = global$g.TypeError;
1323
+ var WeakMap = global$g.WeakMap;
1316
1324
  var set$1, get, has;
1317
1325
 
1318
1326
  var enforce = function (it) {
@@ -1351,16 +1359,16 @@ if (NATIVE_WEAK_MAP || shared$1.state) {
1351
1359
  var STATE = sharedKey$1('state');
1352
1360
  hiddenKeys$1[STATE] = true;
1353
1361
  set$1 = function (it, metadata) {
1354
- if (hasOwn$9(it, STATE)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED);
1362
+ if (hasOwn$a(it, STATE)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED);
1355
1363
  metadata.facade = it;
1356
1364
  createNonEnumerableProperty$5(it, STATE, metadata);
1357
1365
  return metadata;
1358
1366
  };
1359
1367
  get = function (it) {
1360
- return hasOwn$9(it, STATE) ? it[STATE] : {};
1368
+ return hasOwn$a(it, STATE) ? it[STATE] : {};
1361
1369
  };
1362
1370
  has = function (it) {
1363
- return hasOwn$9(it, STATE);
1371
+ return hasOwn$a(it, STATE);
1364
1372
  };
1365
1373
  }
1366
1374
 
@@ -1390,13 +1398,13 @@ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
1390
1398
  return !!descriptor && descriptor.enumerable;
1391
1399
  } : $propertyIsEnumerable;
1392
1400
 
1393
- var DESCRIPTORS$9 = descriptors;
1401
+ var DESCRIPTORS$a = descriptors;
1394
1402
  var call$f = functionCall;
1395
1403
  var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
1396
1404
  var createPropertyDescriptor$1 = createPropertyDescriptor$3;
1397
1405
  var toIndexedObject$1 = toIndexedObject$5;
1398
1406
  var toPropertyKey = toPropertyKey$2;
1399
- var hasOwn$8 = hasOwnProperty_1;
1407
+ var hasOwn$9 = hasOwnProperty_1;
1400
1408
  var IE8_DOM_DEFINE = ie8DomDefine;
1401
1409
 
1402
1410
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -1404,28 +1412,28 @@ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1404
1412
 
1405
1413
  // `Object.getOwnPropertyDescriptor` method
1406
1414
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
1407
- objectGetOwnPropertyDescriptor.f = DESCRIPTORS$9 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
1415
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$a ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
1408
1416
  O = toIndexedObject$1(O);
1409
1417
  P = toPropertyKey(P);
1410
1418
  if (IE8_DOM_DEFINE) try {
1411
1419
  return $getOwnPropertyDescriptor(O, P);
1412
1420
  } catch (error) { /* empty */ }
1413
- if (hasOwn$8(O, P)) return createPropertyDescriptor$1(!call$f(propertyIsEnumerableModule$1.f, O, P), O[P]);
1421
+ if (hasOwn$9(O, P)) return createPropertyDescriptor$1(!call$f(propertyIsEnumerableModule$1.f, O, P), O[P]);
1414
1422
  };
1415
1423
 
1416
1424
  var makeBuiltIn$3 = {exports: {}};
1417
1425
 
1418
- var DESCRIPTORS$8 = descriptors;
1419
- var hasOwn$7 = hasOwnProperty_1;
1426
+ var DESCRIPTORS$9 = descriptors;
1427
+ var hasOwn$8 = hasOwnProperty_1;
1420
1428
 
1421
1429
  var FunctionPrototype$1 = Function.prototype;
1422
1430
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1423
- var getDescriptor = DESCRIPTORS$8 && Object.getOwnPropertyDescriptor;
1431
+ var getDescriptor = DESCRIPTORS$9 && Object.getOwnPropertyDescriptor;
1424
1432
 
1425
- var EXISTS = hasOwn$7(FunctionPrototype$1, 'name');
1433
+ var EXISTS = hasOwn$8(FunctionPrototype$1, 'name');
1426
1434
  // additional protection from minified / mangled / dropped function names
1427
1435
  var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
1428
- var CONFIGURABLE = EXISTS && (!DESCRIPTORS$8 || (DESCRIPTORS$8 && getDescriptor(FunctionPrototype$1, 'name').configurable));
1436
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$9 || (DESCRIPTORS$9 && getDescriptor(FunctionPrototype$1, 'name').configurable));
1429
1437
 
1430
1438
  var functionName = {
1431
1439
  EXISTS: EXISTS,
@@ -1433,14 +1441,14 @@ var functionName = {
1433
1441
  CONFIGURABLE: CONFIGURABLE
1434
1442
  };
1435
1443
 
1436
- var uncurryThis$g = functionUncurryThis;
1437
- var isCallable$g = isCallable$n;
1444
+ var uncurryThis$h = functionUncurryThis;
1445
+ var isCallable$h = isCallable$o;
1438
1446
  var store = sharedStoreExports;
1439
1447
 
1440
- var functionToString = uncurryThis$g(Function.toString);
1448
+ var functionToString = uncurryThis$h(Function.toString);
1441
1449
 
1442
1450
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
1443
- if (!isCallable$g(store.inspectSource)) {
1451
+ if (!isCallable$h(store.inspectSource)) {
1444
1452
  store.inspectSource = function (it) {
1445
1453
  return functionToString(it);
1446
1454
  };
@@ -1448,11 +1456,11 @@ if (!isCallable$g(store.inspectSource)) {
1448
1456
 
1449
1457
  var inspectSource$3 = store.inspectSource;
1450
1458
 
1451
- var uncurryThis$f = functionUncurryThis;
1459
+ var uncurryThis$g = functionUncurryThis;
1452
1460
  var fails$h = fails$o;
1453
- var isCallable$f = isCallable$n;
1454
- var hasOwn$6 = hasOwnProperty_1;
1455
- var DESCRIPTORS$7 = descriptors;
1461
+ var isCallable$g = isCallable$o;
1462
+ var hasOwn$7 = hasOwnProperty_1;
1463
+ var DESCRIPTORS$8 = descriptors;
1456
1464
  var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
1457
1465
  var inspectSource$2 = inspectSource$3;
1458
1466
  var InternalStateModule$2 = internalState;
@@ -1462,37 +1470,37 @@ var getInternalState$3 = InternalStateModule$2.get;
1462
1470
  var $String$2 = String;
1463
1471
  // eslint-disable-next-line es/no-object-defineproperty -- safe
1464
1472
  var defineProperty$5 = Object.defineProperty;
1465
- var stringSlice$5 = uncurryThis$f(''.slice);
1466
- var replace$4 = uncurryThis$f(''.replace);
1467
- var join = uncurryThis$f([].join);
1473
+ var stringSlice$6 = uncurryThis$g(''.slice);
1474
+ var replace$5 = uncurryThis$g(''.replace);
1475
+ var join = uncurryThis$g([].join);
1468
1476
 
1469
- var CONFIGURABLE_LENGTH = DESCRIPTORS$7 && !fails$h(function () {
1477
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$8 && !fails$h(function () {
1470
1478
  return defineProperty$5(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
1471
1479
  });
1472
1480
 
1473
1481
  var TEMPLATE = String(String).split('String');
1474
1482
 
1475
1483
  var makeBuiltIn$2 = makeBuiltIn$3.exports = function (value, name, options) {
1476
- if (stringSlice$5($String$2(name), 0, 7) === 'Symbol(') {
1477
- name = '[' + replace$4($String$2(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
1484
+ if (stringSlice$6($String$2(name), 0, 7) === 'Symbol(') {
1485
+ name = '[' + replace$5($String$2(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
1478
1486
  }
1479
1487
  if (options && options.getter) name = 'get ' + name;
1480
1488
  if (options && options.setter) name = 'set ' + name;
1481
- if (!hasOwn$6(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
1482
- if (DESCRIPTORS$7) defineProperty$5(value, 'name', { value: name, configurable: true });
1489
+ if (!hasOwn$7(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
1490
+ if (DESCRIPTORS$8) defineProperty$5(value, 'name', { value: name, configurable: true });
1483
1491
  else value.name = name;
1484
1492
  }
1485
- if (CONFIGURABLE_LENGTH && options && hasOwn$6(options, 'arity') && value.length !== options.arity) {
1493
+ if (CONFIGURABLE_LENGTH && options && hasOwn$7(options, 'arity') && value.length !== options.arity) {
1486
1494
  defineProperty$5(value, 'length', { value: options.arity });
1487
1495
  }
1488
1496
  try {
1489
- if (options && hasOwn$6(options, 'constructor') && options.constructor) {
1490
- if (DESCRIPTORS$7) defineProperty$5(value, 'prototype', { writable: false });
1497
+ if (options && hasOwn$7(options, 'constructor') && options.constructor) {
1498
+ if (DESCRIPTORS$8) defineProperty$5(value, 'prototype', { writable: false });
1491
1499
  // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
1492
1500
  } else if (value.prototype) value.prototype = undefined;
1493
1501
  } catch (error) { /* empty */ }
1494
1502
  var state = enforceInternalState$1(value);
1495
- if (!hasOwn$6(state, 'source')) {
1503
+ if (!hasOwn$7(state, 'source')) {
1496
1504
  state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
1497
1505
  } return value;
1498
1506
  };
@@ -1500,12 +1508,12 @@ var makeBuiltIn$2 = makeBuiltIn$3.exports = function (value, name, options) {
1500
1508
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
1501
1509
  // eslint-disable-next-line no-extend-native -- required
1502
1510
  Function.prototype.toString = makeBuiltIn$2(function toString() {
1503
- return isCallable$f(this) && getInternalState$3(this).source || inspectSource$2(this);
1511
+ return isCallable$g(this) && getInternalState$3(this).source || inspectSource$2(this);
1504
1512
  }, 'toString');
1505
1513
 
1506
1514
  var makeBuiltInExports = makeBuiltIn$3.exports;
1507
1515
 
1508
- var isCallable$e = isCallable$n;
1516
+ var isCallable$f = isCallable$o;
1509
1517
  var definePropertyModule$1 = objectDefineProperty;
1510
1518
  var makeBuiltIn$1 = makeBuiltInExports;
1511
1519
  var defineGlobalProperty$1 = defineGlobalProperty$3;
@@ -1514,7 +1522,7 @@ var defineBuiltIn$8 = function (O, key, value, options) {
1514
1522
  if (!options) options = {};
1515
1523
  var simple = options.enumerable;
1516
1524
  var name = options.name !== undefined ? options.name : key;
1517
- if (isCallable$e(value)) makeBuiltIn$1(value, name, options);
1525
+ if (isCallable$f(value)) makeBuiltIn$1(value, name, options);
1518
1526
  if (options.global) {
1519
1527
  if (simple) O[key] = value;
1520
1528
  else defineGlobalProperty$1(key, value);
@@ -1553,12 +1561,12 @@ var objectGetOwnPropertySymbols = {};
1553
1561
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1554
1562
 
1555
1563
  var getBuiltIn$4 = getBuiltIn$7;
1556
- var uncurryThis$e = functionUncurryThis;
1564
+ var uncurryThis$f = functionUncurryThis;
1557
1565
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1558
1566
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1559
1567
  var anObject$a = anObject$e;
1560
1568
 
1561
- var concat$2 = uncurryThis$e([].concat);
1569
+ var concat$2 = uncurryThis$f([].concat);
1562
1570
 
1563
1571
  // all object keys, includes non-enumerable and symbols
1564
1572
  var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
@@ -1567,25 +1575,25 @@ var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
1567
1575
  return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
1568
1576
  };
1569
1577
 
1570
- var hasOwn$5 = hasOwnProperty_1;
1578
+ var hasOwn$6 = hasOwnProperty_1;
1571
1579
  var ownKeys = ownKeys$1;
1572
1580
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1573
1581
  var definePropertyModule = objectDefineProperty;
1574
1582
 
1575
- var copyConstructorProperties$1 = function (target, source, exceptions) {
1583
+ var copyConstructorProperties$2 = function (target, source, exceptions) {
1576
1584
  var keys = ownKeys(source);
1577
1585
  var defineProperty = definePropertyModule.f;
1578
1586
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1579
1587
  for (var i = 0; i < keys.length; i++) {
1580
1588
  var key = keys[i];
1581
- if (!hasOwn$5(target, key) && !(exceptions && hasOwn$5(exceptions, key))) {
1589
+ if (!hasOwn$6(target, key) && !(exceptions && hasOwn$6(exceptions, key))) {
1582
1590
  defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1583
1591
  }
1584
1592
  }
1585
1593
  };
1586
1594
 
1587
1595
  var fails$g = fails$o;
1588
- var isCallable$d = isCallable$n;
1596
+ var isCallable$e = isCallable$o;
1589
1597
 
1590
1598
  var replacement = /#|\.prototype\./;
1591
1599
 
@@ -1593,7 +1601,7 @@ var isForced$3 = function (feature, detection) {
1593
1601
  var value = data[normalize(feature)];
1594
1602
  return value === POLYFILL ? true
1595
1603
  : value === NATIVE ? false
1596
- : isCallable$d(detection) ? fails$g(detection)
1604
+ : isCallable$e(detection) ? fails$g(detection)
1597
1605
  : !!detection;
1598
1606
  };
1599
1607
 
@@ -1607,12 +1615,12 @@ var POLYFILL = isForced$3.POLYFILL = 'P';
1607
1615
 
1608
1616
  var isForced_1 = isForced$3;
1609
1617
 
1610
- var global$e = global$n;
1618
+ var global$f = global$o;
1611
1619
  var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
1612
1620
  var createNonEnumerableProperty$4 = createNonEnumerableProperty$6;
1613
1621
  var defineBuiltIn$7 = defineBuiltIn$8;
1614
1622
  var defineGlobalProperty = defineGlobalProperty$3;
1615
- var copyConstructorProperties = copyConstructorProperties$1;
1623
+ var copyConstructorProperties$1 = copyConstructorProperties$2;
1616
1624
  var isForced$2 = isForced_1;
1617
1625
 
1618
1626
  /*
@@ -1636,11 +1644,11 @@ var _export = function (options, source) {
1636
1644
  var STATIC = options.stat;
1637
1645
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1638
1646
  if (GLOBAL) {
1639
- target = global$e;
1647
+ target = global$f;
1640
1648
  } else if (STATIC) {
1641
- target = global$e[TARGET] || defineGlobalProperty(TARGET, {});
1649
+ target = global$f[TARGET] || defineGlobalProperty(TARGET, {});
1642
1650
  } else {
1643
- target = global$e[TARGET] && global$e[TARGET].prototype;
1651
+ target = global$f[TARGET] && global$f[TARGET].prototype;
1644
1652
  }
1645
1653
  if (target) for (key in source) {
1646
1654
  sourceProperty = source[key];
@@ -1652,7 +1660,7 @@ var _export = function (options, source) {
1652
1660
  // contained in target
1653
1661
  if (!FORCED && targetProperty !== undefined) {
1654
1662
  if (typeof sourceProperty == typeof targetProperty) continue;
1655
- copyConstructorProperties(sourceProperty, targetProperty);
1663
+ copyConstructorProperties$1(sourceProperty, targetProperty);
1656
1664
  }
1657
1665
  // add a flag to not completely full polyfills
1658
1666
  if (options.sham || (targetProperty && targetProperty.sham)) {
@@ -1671,8 +1679,8 @@ var correctPrototypeGetter = !fails$f(function () {
1671
1679
  return Object.getPrototypeOf(new F()) !== F.prototype;
1672
1680
  });
1673
1681
 
1674
- var hasOwn$4 = hasOwnProperty_1;
1675
- var isCallable$c = isCallable$n;
1682
+ var hasOwn$5 = hasOwnProperty_1;
1683
+ var isCallable$d = isCallable$o;
1676
1684
  var toObject$4 = toObject$6;
1677
1685
  var sharedKey = sharedKey$3;
1678
1686
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
@@ -1686,15 +1694,15 @@ var ObjectPrototype = $Object$1.prototype;
1686
1694
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
1687
1695
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
1688
1696
  var object = toObject$4(O);
1689
- if (hasOwn$4(object, IE_PROTO)) return object[IE_PROTO];
1697
+ if (hasOwn$5(object, IE_PROTO)) return object[IE_PROTO];
1690
1698
  var constructor = object.constructor;
1691
- if (isCallable$c(constructor) && object instanceof constructor) {
1699
+ if (isCallable$d(constructor) && object instanceof constructor) {
1692
1700
  return constructor.prototype;
1693
1701
  } return object instanceof $Object$1 ? ObjectPrototype : null;
1694
1702
  };
1695
1703
 
1696
1704
  var fails$e = fails$o;
1697
- var isCallable$b = isCallable$n;
1705
+ var isCallable$c = isCallable$o;
1698
1706
  var isObject$6 = isObject$c;
1699
1707
  var getPrototypeOf$1 = objectGetPrototypeOf;
1700
1708
  var defineBuiltIn$6 = defineBuiltIn$8;
@@ -1728,7 +1736,7 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
1728
1736
 
1729
1737
  // `%IteratorPrototype%[@@iterator]()` method
1730
1738
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1731
- if (!isCallable$b(IteratorPrototype$2[ITERATOR$6])) {
1739
+ if (!isCallable$c(IteratorPrototype$2[ITERATOR$6])) {
1732
1740
  defineBuiltIn$6(IteratorPrototype$2, ITERATOR$6, function () {
1733
1741
  return this;
1734
1742
  });
@@ -1740,14 +1748,14 @@ var iteratorsCore = {
1740
1748
  };
1741
1749
 
1742
1750
  var defineProperty$4 = objectDefineProperty.f;
1743
- var hasOwn$3 = hasOwnProperty_1;
1751
+ var hasOwn$4 = hasOwnProperty_1;
1744
1752
  var wellKnownSymbol$f = wellKnownSymbol$j;
1745
1753
 
1746
1754
  var TO_STRING_TAG$2 = wellKnownSymbol$f('toStringTag');
1747
1755
 
1748
1756
  var setToStringTag$4 = function (target, TAG, STATIC) {
1749
1757
  if (target && !STATIC) target = target.prototype;
1750
- if (target && !hasOwn$3(target, TO_STRING_TAG$2)) {
1758
+ if (target && !hasOwn$4(target, TO_STRING_TAG$2)) {
1751
1759
  defineProperty$4(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
1752
1760
  }
1753
1761
  };
@@ -1768,13 +1776,13 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUME
1768
1776
  return IteratorConstructor;
1769
1777
  };
1770
1778
 
1771
- var uncurryThis$d = functionUncurryThis;
1779
+ var uncurryThis$e = functionUncurryThis;
1772
1780
  var aCallable$7 = aCallable$9;
1773
1781
 
1774
1782
  var functionUncurryThisAccessor = function (object, key, method) {
1775
1783
  try {
1776
1784
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1777
- return uncurryThis$d(aCallable$7(Object.getOwnPropertyDescriptor(object, key)[method]));
1785
+ return uncurryThis$e(aCallable$7(Object.getOwnPropertyDescriptor(object, key)[method]));
1778
1786
  } catch (error) { /* empty */ }
1779
1787
  };
1780
1788
 
@@ -1823,10 +1831,10 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1823
1831
  };
1824
1832
  }() : undefined);
1825
1833
 
1826
- var $$e = _export;
1834
+ var $$f = _export;
1827
1835
  var call$e = functionCall;
1828
1836
  var FunctionName = functionName;
1829
- var isCallable$a = isCallable$n;
1837
+ var isCallable$b = isCallable$o;
1830
1838
  var createIteratorConstructor = iteratorCreateConstructor;
1831
1839
  var getPrototypeOf = objectGetPrototypeOf;
1832
1840
  var setPrototypeOf$2 = objectSetPrototypeOf;
@@ -1881,7 +1889,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1881
1889
  if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
1882
1890
  if (setPrototypeOf$2) {
1883
1891
  setPrototypeOf$2(CurrentIteratorPrototype, IteratorPrototype);
1884
- } else if (!isCallable$a(CurrentIteratorPrototype[ITERATOR$5])) {
1892
+ } else if (!isCallable$b(CurrentIteratorPrototype[ITERATOR$5])) {
1885
1893
  defineBuiltIn$5(CurrentIteratorPrototype, ITERATOR$5, returnThis);
1886
1894
  }
1887
1895
  }
@@ -1911,7 +1919,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1911
1919
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1912
1920
  defineBuiltIn$5(IterablePrototype, KEY, methods[KEY]);
1913
1921
  }
1914
- } else $$e({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1922
+ } else $$f({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1915
1923
  }
1916
1924
 
1917
1925
  // define iterator
@@ -1936,7 +1944,7 @@ var InternalStateModule$1 = internalState;
1936
1944
  var defineProperty$3 = objectDefineProperty.f;
1937
1945
  var defineIterator = iteratorDefine;
1938
1946
  var createIterResultObject = createIterResultObject$1;
1939
- var DESCRIPTORS$6 = descriptors;
1947
+ var DESCRIPTORS$7 = descriptors;
1940
1948
 
1941
1949
  var ARRAY_ITERATOR = 'Array Iterator';
1942
1950
  var setInternalState$1 = InternalStateModule$1.set;
@@ -1986,12 +1994,12 @@ addToUnscopables$1('values');
1986
1994
  addToUnscopables$1('entries');
1987
1995
 
1988
1996
  // V8 ~ Chrome 45- bug
1989
- if (DESCRIPTORS$6 && values.name !== 'values') try {
1997
+ if (DESCRIPTORS$7 && values.name !== 'values') try {
1990
1998
  defineProperty$3(values, 'name', { value: 'values' });
1991
1999
  } catch (error) { /* empty */ }
1992
2000
 
1993
- var DESCRIPTORS$5 = descriptors;
1994
- var uncurryThis$c = functionUncurryThis;
2001
+ var DESCRIPTORS$6 = descriptors;
2002
+ var uncurryThis$d = functionUncurryThis;
1995
2003
  var call$d = functionCall;
1996
2004
  var fails$d = fails$o;
1997
2005
  var objectKeys = objectKeys$2;
@@ -2004,13 +2012,13 @@ var IndexedObject$1 = indexedObject;
2004
2012
  var $assign = Object.assign;
2005
2013
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
2006
2014
  var defineProperty$2 = Object.defineProperty;
2007
- var concat$1 = uncurryThis$c([].concat);
2015
+ var concat$1 = uncurryThis$d([].concat);
2008
2016
 
2009
2017
  // `Object.assign` method
2010
2018
  // https://tc39.es/ecma262/#sec-object.assign
2011
2019
  var objectAssign = !$assign || fails$d(function () {
2012
2020
  // should have correct order of operations (Edge bug)
2013
- if (DESCRIPTORS$5 && $assign({ b: 1 }, $assign(defineProperty$2({}, 'a', {
2021
+ if (DESCRIPTORS$6 && $assign({ b: 1 }, $assign(defineProperty$2({}, 'a', {
2014
2022
  enumerable: true,
2015
2023
  get: function () {
2016
2024
  defineProperty$2(this, 'b', {
@@ -2042,18 +2050,18 @@ var objectAssign = !$assign || fails$d(function () {
2042
2050
  var key;
2043
2051
  while (length > j) {
2044
2052
  key = keys[j++];
2045
- if (!DESCRIPTORS$5 || call$d(propertyIsEnumerable, S, key)) T[key] = S[key];
2053
+ if (!DESCRIPTORS$6 || call$d(propertyIsEnumerable, S, key)) T[key] = S[key];
2046
2054
  }
2047
2055
  } return T;
2048
2056
  } : $assign;
2049
2057
 
2050
- var $$d = _export;
2058
+ var $$e = _export;
2051
2059
  var assign = objectAssign;
2052
2060
 
2053
2061
  // `Object.assign` method
2054
2062
  // https://tc39.es/ecma262/#sec-object.assign
2055
2063
  // eslint-disable-next-line es/no-object-assign -- required for testing
2056
- $$d({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
2064
+ $$e({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
2057
2065
  assign: assign
2058
2066
  });
2059
2067
 
@@ -2101,7 +2109,7 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
2101
2109
 
2102
2110
  var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
2103
2111
 
2104
- var global$d = global$n;
2112
+ var global$e = global$o;
2105
2113
  var DOMIterables = domIterables;
2106
2114
  var DOMTokenListPrototype = domTokenListPrototype;
2107
2115
  var ArrayIteratorMethods = es_array_iterator;
@@ -2133,13 +2141,13 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
2133
2141
  };
2134
2142
 
2135
2143
  for (var COLLECTION_NAME in DOMIterables) {
2136
- handlePrototype(global$d[COLLECTION_NAME] && global$d[COLLECTION_NAME].prototype, COLLECTION_NAME);
2144
+ handlePrototype(global$e[COLLECTION_NAME] && global$e[COLLECTION_NAME].prototype, COLLECTION_NAME);
2137
2145
  }
2138
2146
 
2139
2147
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
2140
2148
 
2141
- /**
2142
- * The possible type for the airmet
2149
+ /**
2150
+ * The possible type for the airmet
2143
2151
  */
2144
2152
  var AirmetType;
2145
2153
  (function (AirmetType) {
@@ -2147,8 +2155,8 @@ var AirmetType;
2147
2155
  AirmetType["TEST"] = "Test";
2148
2156
  AirmetType["EXERCISE"] = "Exercise";
2149
2157
  })(AirmetType || (AirmetType = {}));
2150
- /**
2151
- * The possible type for the sigmet
2158
+ /**
2159
+ * The possible type for the sigmet
2152
2160
  */
2153
2161
  var SigmetType;
2154
2162
  (function (SigmetType) {
@@ -2158,53 +2166,6 @@ var SigmetType;
2158
2166
  SigmetType["SHORT_TEST"] = "Short test";
2159
2167
  SigmetType["SHORT_VA_TEST"] = "Short VA test";
2160
2168
  })(SigmetType || (SigmetType = {}));
2161
- /**
2162
- * The possible phenomena for the sigmet
2163
- */
2164
- var SigmetPhenomena;
2165
- (function (SigmetPhenomena) {
2166
- SigmetPhenomena["EMBD_TS"] = "Embedded thunderstorm(s)";
2167
- SigmetPhenomena["EMBD_TSGR"] = "Embedded thunderstorm(s) with hail";
2168
- SigmetPhenomena["FRQ_TS"] = "Frequent thunderstorm(s)";
2169
- SigmetPhenomena["FRQ_TSGR"] = "Frequent thunderstorm(s) with hail";
2170
- SigmetPhenomena["HVY_DS"] = "Heavy duststorm";
2171
- SigmetPhenomena["HVY_SS"] = "Heavy sandstorm";
2172
- SigmetPhenomena["OBSC_TS"] = "Obscured thunderstorm(s)";
2173
- SigmetPhenomena["OBSC_TSGR"] = "Obscured thunderstorm(s) with hail";
2174
- SigmetPhenomena["RDOACT_CLD"] = "Radioactive cloud";
2175
- SigmetPhenomena["SEV_ICE"] = "Severe icing";
2176
- SigmetPhenomena["SEV_ICE_FRZ_RN"] = "Severe icing due to freezing rain";
2177
- SigmetPhenomena["SEV_MTW"] = "Severe mountain wave";
2178
- SigmetPhenomena["SEV_TURB"] = "Severe turbulence";
2179
- SigmetPhenomena["SQL_TS"] = "Squall line";
2180
- SigmetPhenomena["SQL_TSGR"] = "Squall line thunderstorm(s) with hail";
2181
- // 'TC' = 'Tropical cyclone', // Don't show this option in the list because it will be not used by KNMI.
2182
- SigmetPhenomena["VA_CLD"] = "Volcanic ash cloud";
2183
- })(SigmetPhenomena || (SigmetPhenomena = {}));
2184
- /**
2185
- * The possible phenomena for the airmet
2186
- */
2187
- var AirmetPhenomena;
2188
- (function (AirmetPhenomena) {
2189
- AirmetPhenomena["SFC_VIS"] = "Surface visibility";
2190
- AirmetPhenomena["SFC_WIND"] = "Surface wind";
2191
- AirmetPhenomena["OVC_CLD"] = "Overcast cloud";
2192
- AirmetPhenomena["BKN_CLD"] = "Broken cloud";
2193
- AirmetPhenomena["ISOL_CB"] = "Isolated cumulonimbus cloud";
2194
- AirmetPhenomena["OCNL_CB"] = "Occasional cumulonimbus cloud";
2195
- AirmetPhenomena["FRQ_CB"] = "Frequent cumulonimbus cloud";
2196
- AirmetPhenomena["ISOL_TS"] = "Isolated thunderstorm(s)";
2197
- AirmetPhenomena["OCNL_TS"] = "Occasional thunderstorm(s)";
2198
- AirmetPhenomena["ISOL_TSGR"] = "Isolated thunderstorm(s) with hail";
2199
- AirmetPhenomena["OCNL_TSGR"] = "Occasional thunderstorm(s) with hail";
2200
- AirmetPhenomena["ISOL_TCU"] = "Isolated towering cumulus cloud";
2201
- AirmetPhenomena["OCNL_TCU"] = "Occasional towering cumulus cloud";
2202
- AirmetPhenomena["FRQ_TCU"] = "Frequent towering cumulus cloud";
2203
- AirmetPhenomena["MOD_ICE"] = "Moderate icing";
2204
- AirmetPhenomena["MOD_MTW"] = "Moderate mountain wave";
2205
- AirmetPhenomena["MOD_TURB"] = "Moderate turbulence";
2206
- AirmetPhenomena["MT_OBSC"] = "Mountains obscured";
2207
- })(AirmetPhenomena || (AirmetPhenomena = {}));
2208
2169
  var VisibilityCause;
2209
2170
  (function (VisibilityCause) {
2210
2171
  VisibilityCause["DZ"] = "Drizzle";
@@ -2238,6 +2199,15 @@ var WindUnit;
2238
2199
  WindUnit["KT"] = "kt";
2239
2200
  WindUnit["MPS"] = "mps";
2240
2201
  })(WindUnit || (WindUnit = {}));
2202
+ var ProductAction;
2203
+ (function (ProductAction) {
2204
+ ProductAction["PUBLISH"] = "PUBLISH";
2205
+ ProductAction["CANCEL"] = "CANCEL";
2206
+ ProductAction["RENEW"] = "RENEW";
2207
+ ProductAction["SAVE"] = "SAVE";
2208
+ ProductAction["DISCARD"] = "DISCARD";
2209
+ ProductAction["CLOSE"] = "CLOSE";
2210
+ })(ProductAction || (ProductAction = {}));
2241
2211
  var ProductStatusDescription;
2242
2212
  (function (ProductStatusDescription) {
2243
2213
  ProductStatusDescription["DRAFT"] = "Draft";
@@ -2300,22 +2270,22 @@ var StartOrEndDrawing;
2300
2270
  StartOrEndDrawing["end"] = "end";
2301
2271
  })(StartOrEndDrawing || (StartOrEndDrawing = {}));
2302
2272
 
2303
- /* *
2304
- * Licensed under the Apache License, Version 2.0 (the "License");
2305
- * you may not use this file except in compliance with the License.
2306
- * You may obtain a copy of the License at
2307
- *
2308
- * http://www.apache.org/licenses/LICENSE-2.0
2309
- *
2310
- * Unless required by applicable law or agreed to in writing, software
2311
- * distributed under the License is distributed on an "AS IS" BASIS,
2312
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2313
- * See the License for the specific language governing permissions and
2314
- * limitations under the License.
2315
- *
2316
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2317
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
2318
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
2273
+ /* *
2274
+ * Licensed under the Apache License, Version 2.0 (the "License");
2275
+ * you may not use this file except in compliance with the License.
2276
+ * You may obtain a copy of the License at
2277
+ *
2278
+ * http://www.apache.org/licenses/LICENSE-2.0
2279
+ *
2280
+ * Unless required by applicable law or agreed to in writing, software
2281
+ * distributed under the License is distributed on an "AS IS" BASIS,
2282
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2283
+ * See the License for the specific language governing permissions and
2284
+ * limitations under the License.
2285
+ *
2286
+ * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2287
+ * Copyright 2021 - Finnish Meteorological Institute (FMI)
2288
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
2319
2289
  * */
2320
2290
  const styles$2 = {
2321
2291
  label: {
@@ -2507,22 +2477,22 @@ const ProductFormFieldLayout = _a => {
2507
2477
  }));
2508
2478
  };
2509
2479
 
2510
- /* *
2511
- * Licensed under the Apache License, Version 2.0 (the "License");
2512
- * you may not use this file except in compliance with the License.
2513
- * You may obtain a copy of the License at
2514
- *
2515
- * http://www.apache.org/licenses/LICENSE-2.0
2516
- *
2517
- * Unless required by applicable law or agreed to in writing, software
2518
- * distributed under the License is distributed on an "AS IS" BASIS,
2519
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2520
- * See the License for the specific language governing permissions and
2521
- * limitations under the License.
2522
- *
2523
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2524
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
2525
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
2480
+ /* *
2481
+ * Licensed under the Apache License, Version 2.0 (the "License");
2482
+ * you may not use this file except in compliance with the License.
2483
+ * You may obtain a copy of the License at
2484
+ *
2485
+ * http://www.apache.org/licenses/LICENSE-2.0
2486
+ *
2487
+ * Unless required by applicable law or agreed to in writing, software
2488
+ * distributed under the License is distributed on an "AS IS" BASIS,
2489
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2490
+ * See the License for the specific language governing permissions and
2491
+ * limitations under the License.
2492
+ *
2493
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2494
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
2495
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
2526
2496
  * */
2527
2497
  const useShortTestHelpers = () => {
2528
2498
  const {
@@ -2615,6 +2585,120 @@ const Change = ({
2615
2585
  }));
2616
2586
  };
2617
2587
 
2588
+ var wellKnownSymbol$c = wellKnownSymbol$j;
2589
+
2590
+ var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
2591
+ var test = {};
2592
+
2593
+ test[TO_STRING_TAG$1] = 'z';
2594
+
2595
+ var toStringTagSupport = String(test) === '[object z]';
2596
+
2597
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
2598
+ var isCallable$a = isCallable$o;
2599
+ var classofRaw$1 = classofRaw$2;
2600
+ var wellKnownSymbol$b = wellKnownSymbol$j;
2601
+
2602
+ var TO_STRING_TAG = wellKnownSymbol$b('toStringTag');
2603
+ var $Object = Object;
2604
+
2605
+ // ES3 wrong here
2606
+ var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments';
2607
+
2608
+ // fallback for IE11 Script Access Denied error
2609
+ var tryGet = function (it, key) {
2610
+ try {
2611
+ return it[key];
2612
+ } catch (error) { /* empty */ }
2613
+ };
2614
+
2615
+ // getting tag from ES6+ `Object.prototype.toString`
2616
+ var classof$8 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
2617
+ var O, tag, result;
2618
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
2619
+ // @@toStringTag case
2620
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
2621
+ // builtinTag case
2622
+ : CORRECT_ARGUMENTS ? classofRaw$1(O)
2623
+ // ES3 arguments fallback
2624
+ : (result = classofRaw$1(O)) === 'Object' && isCallable$a(O.callee) ? 'Arguments' : result;
2625
+ };
2626
+
2627
+ var classof$7 = classof$8;
2628
+
2629
+ var $String = String;
2630
+
2631
+ var toString$9 = function (argument) {
2632
+ if (classof$7(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
2633
+ return $String(argument);
2634
+ };
2635
+
2636
+ var makeBuiltIn = makeBuiltInExports;
2637
+ var defineProperty$1 = objectDefineProperty;
2638
+
2639
+ var defineBuiltInAccessor$3 = function (target, name, descriptor) {
2640
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
2641
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
2642
+ return defineProperty$1.f(target, name, descriptor);
2643
+ };
2644
+
2645
+ var $$d = _export;
2646
+ var DESCRIPTORS$5 = descriptors;
2647
+ var global$d = global$o;
2648
+ var uncurryThis$c = functionUncurryThis;
2649
+ var hasOwn$3 = hasOwnProperty_1;
2650
+ var isCallable$9 = isCallable$o;
2651
+ var isPrototypeOf$4 = objectIsPrototypeOf;
2652
+ var toString$8 = toString$9;
2653
+ var defineBuiltInAccessor$2 = defineBuiltInAccessor$3;
2654
+ var copyConstructorProperties = copyConstructorProperties$2;
2655
+
2656
+ var NativeSymbol = global$d.Symbol;
2657
+ var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;
2658
+
2659
+ if (DESCRIPTORS$5 && isCallable$9(NativeSymbol) && (!('description' in SymbolPrototype) ||
2660
+ // Safari 12 bug
2661
+ NativeSymbol().description !== undefined
2662
+ )) {
2663
+ var EmptyStringDescriptionStore = {};
2664
+ // wrap Symbol constructor for correct work with undefined description
2665
+ var SymbolWrapper = function Symbol() {
2666
+ var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString$8(arguments[0]);
2667
+ var result = isPrototypeOf$4(SymbolPrototype, this)
2668
+ ? new NativeSymbol(description)
2669
+ // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
2670
+ : description === undefined ? NativeSymbol() : NativeSymbol(description);
2671
+ if (description === '') EmptyStringDescriptionStore[result] = true;
2672
+ return result;
2673
+ };
2674
+
2675
+ copyConstructorProperties(SymbolWrapper, NativeSymbol);
2676
+ SymbolWrapper.prototype = SymbolPrototype;
2677
+ SymbolPrototype.constructor = SymbolWrapper;
2678
+
2679
+ var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)';
2680
+ var thisSymbolValue = uncurryThis$c(SymbolPrototype.valueOf);
2681
+ var symbolDescriptiveString = uncurryThis$c(SymbolPrototype.toString);
2682
+ var regexp = /^Symbol\((.*)\)[^)]+$/;
2683
+ var replace$4 = uncurryThis$c(''.replace);
2684
+ var stringSlice$5 = uncurryThis$c(''.slice);
2685
+
2686
+ defineBuiltInAccessor$2(SymbolPrototype, 'description', {
2687
+ configurable: true,
2688
+ get: function description() {
2689
+ var symbol = thisSymbolValue(this);
2690
+ if (hasOwn$3(EmptyStringDescriptionStore, symbol)) return '';
2691
+ var string = symbolDescriptiveString(symbol);
2692
+ var desc = NATIVE_SYMBOL ? stringSlice$5(string, 7, -1) : replace$4(string, regexp, '$1');
2693
+ return desc === '' ? undefined : desc;
2694
+ }
2695
+ });
2696
+
2697
+ $$d({ global: true, constructor: true, forced: true }, {
2698
+ Symbol: SymbolWrapper
2699
+ });
2700
+ }
2701
+
2618
2702
  var $$c = _export;
2619
2703
  var $includes = arrayIncludes.includes;
2620
2704
  var fails$c = fails$o;
@@ -2693,10 +2777,10 @@ var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
2693
2777
  });
2694
2778
  };
2695
2779
 
2696
- var global$c = global$n;
2697
- var classof$8 = classofRaw$2;
2780
+ var global$c = global$o;
2781
+ var classof$6 = classofRaw$2;
2698
2782
 
2699
- var engineIsNode = classof$8(global$c.process) === 'process';
2783
+ var engineIsNode = classof$6(global$c.process) === 'process';
2700
2784
 
2701
2785
  var $$b = _export;
2702
2786
  var $reduce = arrayReduce.left;
@@ -2718,54 +2802,6 @@ $$b({ target: 'Array', proto: true, forced: FORCED$2 }, {
2718
2802
  }
2719
2803
  });
2720
2804
 
2721
- var wellKnownSymbol$c = wellKnownSymbol$j;
2722
-
2723
- var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
2724
- var test = {};
2725
-
2726
- test[TO_STRING_TAG$1] = 'z';
2727
-
2728
- var toStringTagSupport = String(test) === '[object z]';
2729
-
2730
- var TO_STRING_TAG_SUPPORT = toStringTagSupport;
2731
- var isCallable$9 = isCallable$n;
2732
- var classofRaw$1 = classofRaw$2;
2733
- var wellKnownSymbol$b = wellKnownSymbol$j;
2734
-
2735
- var TO_STRING_TAG = wellKnownSymbol$b('toStringTag');
2736
- var $Object = Object;
2737
-
2738
- // ES3 wrong here
2739
- var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments';
2740
-
2741
- // fallback for IE11 Script Access Denied error
2742
- var tryGet = function (it, key) {
2743
- try {
2744
- return it[key];
2745
- } catch (error) { /* empty */ }
2746
- };
2747
-
2748
- // getting tag from ES6+ `Object.prototype.toString`
2749
- var classof$7 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
2750
- var O, tag, result;
2751
- return it === undefined ? 'Undefined' : it === null ? 'Null'
2752
- // @@toStringTag case
2753
- : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
2754
- // builtinTag case
2755
- : CORRECT_ARGUMENTS ? classofRaw$1(O)
2756
- // ES3 arguments fallback
2757
- : (result = classofRaw$1(O)) === 'Object' && isCallable$9(O.callee) ? 'Arguments' : result;
2758
- };
2759
-
2760
- var classof$6 = classof$7;
2761
-
2762
- var $String = String;
2763
-
2764
- var toString$8 = function (argument) {
2765
- if (classof$6(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
2766
- return $String(argument);
2767
- };
2768
-
2769
2805
  var anObject$9 = anObject$e;
2770
2806
 
2771
2807
  // `RegExp.prototype.flags` getter implementation
@@ -2800,7 +2836,7 @@ var regexpGetFlags = function (R) {
2800
2836
  var PROPER_FUNCTION_NAME = functionName.PROPER;
2801
2837
  var defineBuiltIn$4 = defineBuiltIn$8;
2802
2838
  var anObject$8 = anObject$e;
2803
- var $toString = toString$8;
2839
+ var $toString = toString$9;
2804
2840
  var fails$a = fails$o;
2805
2841
  var getRegExpFlags$1 = regexpGetFlags;
2806
2842
 
@@ -2866,7 +2902,7 @@ var $$a = _export;
2866
2902
  var uncurryThis$b = functionUncurryThis;
2867
2903
  var notARegExp = notARegexp;
2868
2904
  var requireObjectCoercible$3 = requireObjectCoercible$7;
2869
- var toString$7 = toString$8;
2905
+ var toString$7 = toString$9;
2870
2906
  var correctIsRegExpLogic = correctIsRegexpLogic;
2871
2907
 
2872
2908
  var stringIndexOf$2 = uncurryThis$b(''.indexOf);
@@ -2912,6 +2948,14 @@ const featurePropsFIR = {
2912
2948
  'fill-opacity': 0.0
2913
2949
  };
2914
2950
 
2951
+ const getDefaultPhenomena = (productConfig, currentFir) => {
2952
+ const defaultActiveFIR = productConfig.active_firs[0]; // first FIR in active_firs is the default
2953
+ const currentFirArea = productConfig.fir_areas[defaultActiveFIR];
2954
+ const firPhenomena = currentFirArea.phenomenon || [];
2955
+ return {
2956
+ phenomena: firPhenomena
2957
+ };
2958
+ };
2915
2959
  const getHoursBeforeValidity = (phenomenon, fir, config) => {
2916
2960
  if (!fir) {
2917
2961
  return 4;
@@ -3106,14 +3150,27 @@ const isLevelLower = (ownValue, ownUnit, otherValue, otherUnit) => {
3106
3150
  const otherValueFeet = getLevelInFeet(otherValue, otherUnit);
3107
3151
  return ownValueFeet < otherValueFeet;
3108
3152
  };
3109
- const getDialogtitle = (product, productType) => {
3153
+ const getPhenomenon = (selectedFIR, phenomenon, productConfig) => {
3154
+ var _a;
3155
+ const FIR = getFirArea(selectedFIR, productConfig);
3156
+ const firArea = productConfig.fir_areas[FIR];
3157
+ if (!firArea) {
3158
+ return undefined;
3159
+ }
3160
+ const firPhenomenon = (_a = firArea.phenomenon) === null || _a === void 0 ? void 0 : _a.find(p => p.code === phenomenon);
3161
+ if (!firPhenomenon) {
3162
+ return undefined;
3163
+ }
3164
+ return firPhenomenon.description;
3165
+ };
3166
+ const getDialogtitle = (product, productType, productConfig) => {
3110
3167
  const productName = productType.toUpperCase();
3111
3168
  if (product === null) {
3112
3169
  return `New ${productName}`;
3113
3170
  }
3114
3171
  if (!isInstanceOfCancelSigmetOrAirmet(product)) {
3115
- const phenomenon = productType === 'sigmet' ? SigmetPhenomena[product.phenomenon] : AirmetPhenomena[product.phenomenon];
3116
- return `${productName} ${phenomenon} - ${product.status === 'DRAFT' ? translateKeyOutsideComponents('saved-as-draft') : ProductStatusDescription[product.status]}`;
3172
+ const phenomenon = getPhenomenon(product.firName, product.phenomenon, productConfig);
3173
+ return `${productName} ${phenomenon || ''} - ${product.status === 'DRAFT' ? translateKeyOutsideComponents('saved-as-draft') : ProductStatusDescription[product.status]}`;
3117
3174
  }
3118
3175
  if (isInstanceOfCancelSigmet(product)) {
3119
3176
  return `${productName} ${translateKeyOutsideComponents('cancels')} ${product.cancelsSigmetSequenceId}`;
@@ -3132,16 +3189,19 @@ const buttonStyle = {
3132
3189
  const getProductFormLifecycleButtons = ({
3133
3190
  canBe,
3134
3191
  onButtonPress,
3192
+ productType,
3135
3193
  areActionsDisabled: _areActionsDisabled = false
3136
3194
  }) => {
3137
3195
  const hasDiscardButton = canBe.includes('DISCARDED');
3138
- const onDiscard = () => onButtonPress('DISCARDED');
3196
+ const onDiscard = () => onButtonPress(ProductAction.DISCARD);
3139
3197
  const hasSaveButton = canBe.includes('DRAFTED');
3140
- const onSave = () => onButtonPress('DRAFT');
3198
+ const onSave = () => onButtonPress(ProductAction.SAVE);
3199
+ const hasRenewButton = canBe.includes('RENEWED');
3200
+ const onRenew = () => onButtonPress(ProductAction.RENEW);
3141
3201
  const hasCancelButton = canBe.includes('CANCELLED');
3142
- const onCancel = () => onButtonPress('CANCELLED');
3202
+ const onCancel = () => onButtonPress(ProductAction.CANCEL);
3143
3203
  const hasPublishButton = canBe.includes('PUBLISHED');
3144
- const onPublish = () => onButtonPress('PUBLISHED');
3204
+ const onPublish = () => onButtonPress(ProductAction.PUBLISH);
3145
3205
  const mobileMenuItems = [...(hasDiscardButton ? [{
3146
3206
  text: translateKeyOutsideComponents('discard'),
3147
3207
  action: onDiscard
@@ -3149,8 +3209,14 @@ const getProductFormLifecycleButtons = ({
3149
3209
  text: translateKeyOutsideComponents('save'),
3150
3210
  action: onSave,
3151
3211
  isDisabled: _areActionsDisabled
3212
+ }] : []), ...(hasRenewButton ? [{
3213
+ text: translateKeyOutsideComponents('renew', {
3214
+ product: productType
3215
+ }),
3216
+ action: onRenew,
3217
+ isDisabled: _areActionsDisabled
3152
3218
  }] : []), ...(hasCancelButton ? [{
3153
- text: translateKeyOutsideComponents('cancel'),
3219
+ text: `${translateKeyOutsideComponents('cancel')} ${productType}`,
3154
3220
  action: onCancel
3155
3221
  }] : []), ...(hasPublishButton ? [{
3156
3222
  text: translateKeyOutsideComponents('publish'),
@@ -3172,7 +3238,16 @@ const getProductFormLifecycleButtons = ({
3172
3238
  lg: 'block'
3173
3239
  }
3174
3240
  }, {
3175
- children: [hasDiscardButton && jsx(Button, Object.assign({
3241
+ children: [hasRenewButton && jsx(Button, Object.assign({
3242
+ variant: "flat",
3243
+ onClick: onRenew,
3244
+ sx: buttonStyle,
3245
+ "data-testid": "productform-dialog-renew"
3246
+ }, {
3247
+ children: translateKeyOutsideComponents('renew', {
3248
+ product: productType
3249
+ })
3250
+ })), hasDiscardButton && jsx(Button, Object.assign({
3176
3251
  variant: "flat",
3177
3252
  onClick: onDiscard,
3178
3253
  sx: buttonStyle,
@@ -3193,7 +3268,7 @@ const getProductFormLifecycleButtons = ({
3193
3268
  sx: buttonStyle,
3194
3269
  "data-testid": "productform-dialog-cancel"
3195
3270
  }, {
3196
- children: translateKeyOutsideComponents('cancel')
3271
+ children: `${translateKeyOutsideComponents('cancel')} ${productType}`
3197
3272
  })), hasPublishButton && jsx(Button, Object.assign({
3198
3273
  variant: "primary",
3199
3274
  onClick: onPublish,
@@ -3270,28 +3345,28 @@ const createAirmetPostParameter = (airmetToPost, newStatus, previousUuid) => {
3270
3345
  };
3271
3346
  const getConfirmationDialogTitle = (action, productType) => {
3272
3347
  const product = productType.toUpperCase();
3273
- if (action === 'CLOSED') {
3348
+ if (action === ProductAction.CLOSE) {
3274
3349
  return `${translateKeyOutsideComponents('close')} ${product}`;
3275
3350
  }
3276
- if (action === 'DISCARDED') {
3351
+ if (action === ProductAction.DISCARD) {
3277
3352
  return `${translateKeyOutsideComponents('discard-non-capitalized')} ${product}`;
3278
3353
  }
3279
- if (action === 'PUBLISHED') {
3354
+ if (action === ProductAction.PUBLISH) {
3280
3355
  return translateKeyOutsideComponents('publish');
3281
3356
  }
3282
3357
  return `${translateKeyOutsideComponents('cancel')} ${product}`;
3283
3358
  };
3284
3359
  const getConfirmationDialogContent = (action, productType) => {
3285
3360
  const product = productType.toUpperCase();
3286
- if (action === 'DISCARDED') {
3361
+ if (action === ProductAction.DISCARD) {
3287
3362
  return translateKeyOutsideComponents('are-you-sure-you-want-to-discard', {
3288
3363
  product
3289
3364
  });
3290
3365
  }
3291
- if (action === 'CLOSED') {
3366
+ if (action === ProductAction.CLOSE) {
3292
3367
  return translateKeyOutsideComponents('save-changes-made');
3293
3368
  }
3294
- if (action === 'PUBLISHED') {
3369
+ if (action === ProductAction.PUBLISH) {
3295
3370
  return translateKeyOutsideComponents('publish-this-product', {
3296
3371
  product
3297
3372
  });
@@ -3303,21 +3378,23 @@ const getConfirmationDialogContent = (action, productType) => {
3303
3378
  const getConfirmationDialogButtonLabel = (action, productType) => {
3304
3379
  const product = productType.toUpperCase();
3305
3380
  switch (action) {
3306
- case 'DISCARDED':
3381
+ case ProductAction.DISCARD:
3307
3382
  return `${translateKeyOutsideComponents('discard-product', {
3308
3383
  product
3309
3384
  })}`;
3310
- case 'PUBLISHED':
3385
+ case ProductAction.PUBLISH:
3311
3386
  return translateKeyOutsideComponents('publish');
3312
- case 'CANCELLED':
3313
- return translateKeyOutsideComponents('cancel');
3387
+ case ProductAction.CANCEL:
3388
+ return translateKeyOutsideComponents('yes-cancel', {
3389
+ product
3390
+ });
3314
3391
  default:
3315
3392
  return translateKeyOutsideComponents('save-and-close');
3316
3393
  }
3317
3394
  };
3318
3395
  const getConfirmationDialogCancelLabel = action => {
3319
3396
  switch (action) {
3320
- case 'CLOSED':
3397
+ case ProductAction.CLOSE:
3321
3398
  return translateKeyOutsideComponents('discard-and-close');
3322
3399
  default:
3323
3400
  return undefined;
@@ -3354,18 +3431,27 @@ const getAllowedUnits = (selectedFIR, productConfig, config_type, unitType) => {
3354
3431
  // If no FIR selected or FIR not in options - return all units as defined in the type
3355
3432
  return unitType;
3356
3433
  };
3357
- /**
3358
- * Function to translate the geojson data to a GeoJSON.FeatureCollection
3434
+ /**
3435
+ * Function to translate the geojson data to a GeoJSON.FeatureCollection
3359
3436
  */
3360
3437
  const getFir = (productConfig, firName) => {
3438
+ var _a;
3361
3439
  const currentFIRName = firName || productConfig.active_firs[0];
3362
- return productConfig.fir_areas[currentFIRName].fir_location;
3440
+ const firLocation = (_a = productConfig.fir_areas[currentFIRName]) === null || _a === void 0 ? void 0 : _a.fir_location;
3441
+ // When switching FIRs, the selectionType is not set, so we need to add it here to use 'Entire FIR' button
3442
+ const updatedFirLocationWithSelectionType = addSelectionTypeToGeoJSON(firLocation, firSelectionType);
3443
+ return updatedFirLocationWithSelectionType;
3363
3444
  };
3364
- /**
3365
- * Function to check if the given geojson object has 'fir' selectionType property
3445
+ /**
3446
+ * Function to check if the given geojson object has 'fir' selectionType property
3366
3447
  */
3367
3448
  const isFir = geojson => {
3368
- return geojson && geojson.features && geojson.features.length > 0 && geojson.features[0].properties['selectionType'] === 'fir';
3449
+ var _a, _b;
3450
+ if (!geojson || !geojson.features || geojson.features.length === 0) {
3451
+ return false;
3452
+ }
3453
+ const selectionType = (_b = (_a = geojson.features[0]) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b['selectionType'];
3454
+ return geojson && geojson.features && geojson.features.length > 0 && selectionType === firSelectionType;
3369
3455
  };
3370
3456
  const getFieldLabel = (title, isDisabled, action = translateKeyOutsideComponents('select')) => isDisabled ? title : `${action} ${title.toLowerCase()}`;
3371
3457
  const getBaseLayers = productConfig => {
@@ -3508,7 +3594,7 @@ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u200
3508
3594
 
3509
3595
  var uncurryThis$a = functionUncurryThis;
3510
3596
  var requireObjectCoercible$2 = requireObjectCoercible$7;
3511
- var toString$6 = toString$8;
3597
+ var toString$6 = toString$9;
3512
3598
  var whitespaces$1 = whitespaces$2;
3513
3599
 
3514
3600
  var replace$3 = uncurryThis$a(''.replace);
@@ -3537,10 +3623,10 @@ var stringTrim = {
3537
3623
  trim: createMethod$1(3)
3538
3624
  };
3539
3625
 
3540
- var global$b = global$n;
3626
+ var global$b = global$o;
3541
3627
  var fails$9 = fails$o;
3542
3628
  var uncurryThis$9 = functionUncurryThis;
3543
- var toString$5 = toString$8;
3629
+ var toString$5 = toString$9;
3544
3630
  var trim = stringTrim.trim;
3545
3631
  var whitespaces = whitespaces$2;
3546
3632
 
@@ -4177,10 +4263,10 @@ const ObservationForecastTime = ({
4177
4263
  };
4178
4264
 
4179
4265
  const Phenomenon = ({
4180
- productType,
4181
4266
  isDisabled,
4182
4267
  isReadOnly,
4183
- onChange: _onChange = () => {}
4268
+ onChange: _onChange = () => {},
4269
+ phenomenaList
4184
4270
  }) => {
4185
4271
  const {
4186
4272
  t
@@ -4193,10 +4279,20 @@ const Phenomenon = ({
4193
4279
  const {
4194
4280
  isShortTest
4195
4281
  } = useShortTestHelpers();
4196
- const isSigmet = productType === 'sigmet';
4197
- const phenomenaList = isSigmet ? SigmetPhenomena : AirmetPhenomena;
4198
4282
  const label = getFieldLabel(t('phenomenon'), isReadOnly);
4199
4283
  const fieldsDisabled = isDisabled || isShortTest();
4284
+ const handleSinglePhenomenaSelection = () => {
4285
+ var _a;
4286
+ const defaultPhenomenon = getValues('phenomenon');
4287
+ const isValidPhenomenon = phenomenaList.some(p => p.code === defaultPhenomenon);
4288
+ // Only auto-select if there is exactly one phenomenon available
4289
+ if (!isValidPhenomenon && phenomenaList.length === 1) {
4290
+ setValue('phenomenon', ((_a = phenomenaList[0]) === null || _a === void 0 ? void 0 : _a.code) || '');
4291
+ }
4292
+ };
4293
+ if (phenomenaList.length === 1) {
4294
+ handleSinglePhenomenaSelection();
4295
+ }
4200
4296
  return jsx(ProductFormFieldLayout, Object.assign({
4201
4297
  title: t('phenomenon-title')
4202
4298
  }, {
@@ -4224,11 +4320,11 @@ const Phenomenon = ({
4224
4320
  _onChange();
4225
4321
  }
4226
4322
  }, {
4227
- children: Object.keys(phenomenaList).map(key => jsx(MenuItem, Object.assign({
4228
- value: key
4323
+ children: phenomenaList.map(phenomenon => jsx(MenuItem, Object.assign({
4324
+ value: phenomenon.code
4229
4325
  }, {
4230
- children: productType === 'sigmet' ? phenomenaList[key] : phenomenaList[key]
4231
- }), key))
4326
+ children: phenomenon.description
4327
+ }), phenomenon.code))
4232
4328
  }))
4233
4329
  }));
4234
4330
  };
@@ -4553,13 +4649,15 @@ const getFirLocationDefaultValues = (productConfig, currentFir) => {
4553
4649
  const locationIndicatorATSU = currentFirArea.location_indicator_atsu;
4554
4650
  const locationIndicatorMWO = productConfig.location_indicator_mwo;
4555
4651
  const firName = currentFirArea.fir_name;
4652
+ const firPhenomena = currentFirArea.phenomenon || [];
4556
4653
  const firGeometry = getFir(productConfig, defaultActiveFIR);
4557
4654
  return {
4558
4655
  locationIndicatorATSR: currentLocationIndicatorATSR,
4559
4656
  locationIndicatorATSU,
4560
4657
  locationIndicatorMWO,
4561
4658
  firName,
4562
- firGeometry
4659
+ firGeometry,
4660
+ phenomena: firPhenomena
4563
4661
  };
4564
4662
  };
4565
4663
  const SelectFIR = ({
@@ -4588,19 +4686,29 @@ const SelectFIR = ({
4588
4686
  firGeometry
4589
4687
  } = getFirLocationDefaultValues(productConfig);
4590
4688
  const onChangeLocationATSR = changeEvent => {
4689
+ var _a;
4591
4690
  const {
4592
4691
  value
4593
4692
  } = changeEvent.target;
4594
4693
  const valuesFromConfig = getFirLocationDefaultValues(productConfig, value);
4595
- // updates values from config
4694
+ // Updates values from config
4596
4695
  setValue('locationIndicatorATSU', valuesFromConfig.locationIndicatorATSU);
4597
4696
  setValue('firName', valuesFromConfig.firName);
4598
4697
  setValue('locationIndicatorMWO', valuesFromConfig.locationIndicatorMWO);
4599
4698
  setValue('firGeometry', valuesFromConfig.firGeometry);
4600
- // trigger validation for generic fields that depend on FIR config
4601
- const fieldnames = ['validDateStart', 'validDateEnd', 'movementSpeed', 'level.value', 'lowerLevel.value'];
4699
+ const currentPhenomenon = getValues('phenomenon');
4700
+ const isValidPhenomenon = valuesFromConfig.phenomena.some(p => p.code === currentPhenomenon);
4701
+ if (!isValidPhenomenon) {
4702
+ if (valuesFromConfig.phenomena.length === 1) {
4703
+ setValue('phenomenon', ((_a = valuesFromConfig.phenomena[0]) === null || _a === void 0 ? void 0 : _a.code) || '');
4704
+ } else {
4705
+ setValue('phenomenon', '');
4706
+ }
4707
+ }
4708
+ // Trigger validation for fields dependent on FIR config
4709
+ const fieldnames = ['phenomenon', 'validDateStart', 'validDateEnd', 'movementSpeed', 'level.value', 'lowerLevel.value'];
4602
4710
  triggerValidations(fieldnames, getValues, trigger);
4603
- _onChange(changeEvent);
4711
+ _onChange(changeEvent, valuesFromConfig.phenomena);
4604
4712
  };
4605
4713
  return jsxs(ProductFormFieldLayout, Object.assign({
4606
4714
  title: t('select-fir-title')
@@ -5617,6 +5725,9 @@ const CloudLevels = ({
5617
5725
  const noTAC = translateKeyOutsideComponents('tac-missing-data');
5618
5726
  const isLevelFieldsComplete = product => {
5619
5727
  var _a, _b, _c, _d, _e, _f;
5728
+ const isAirmet = product => {
5729
+ return product.cloudLevelInfoMode !== undefined;
5730
+ };
5620
5731
  switch (product.phenomenon) {
5621
5732
  // For certain AIRMETs no levels are provided
5622
5733
  case 'SFC_VIS':
@@ -5626,16 +5737,19 @@ const isLevelFieldsComplete = product => {
5626
5737
  case 'OVC_CLD':
5627
5738
  case 'BKN_CLD':
5628
5739
  {
5629
- if (!product.cloudLevelInfoMode) {
5630
- return false;
5631
- }
5632
- const cloudLevelMode = product.cloudLevelInfoMode;
5633
- const levelNeeded = cloudLevelMode === 'BETW_SFC_ABV' || cloudLevelMode === 'BETW_SFC';
5634
- const levelAndLowerLevelNeeded = cloudLevelMode === 'BETW' || cloudLevelMode === 'BETW_ABV';
5635
- if (levelAndLowerLevelNeeded && (!((_a = product.cloudLevel) === null || _a === void 0 ? void 0 : _a.value) || !((_b = product.cloudLowerLevel) === null || _b === void 0 ? void 0 : _b.value)) || levelNeeded && !((_c = product.cloudLevel) === null || _c === void 0 ? void 0 : _c.value)) {
5636
- return false;
5740
+ if (isAirmet(product)) {
5741
+ const cloudLevelMode = product.cloudLevelInfoMode;
5742
+ if (!cloudLevelMode) {
5743
+ return false;
5744
+ }
5745
+ const levelNeeded = cloudLevelMode === 'BETW_SFC_ABV' || cloudLevelMode === 'BETW_SFC';
5746
+ const levelAndLowerLevelNeeded = cloudLevelMode === 'BETW' || cloudLevelMode === 'BETW_ABV';
5747
+ if (levelAndLowerLevelNeeded && (!((_a = product.cloudLevel) === null || _a === void 0 ? void 0 : _a.value) || !((_b = product.cloudLowerLevel) === null || _b === void 0 ? void 0 : _b.value)) || levelNeeded && !((_c = product.cloudLevel) === null || _c === void 0 ? void 0 : _c.value)) {
5748
+ return false;
5749
+ }
5750
+ return true;
5637
5751
  }
5638
- return true;
5752
+ return false;
5639
5753
  }
5640
5754
  // Other AIRMETs and all SIGMETs
5641
5755
  default:
@@ -5653,9 +5767,9 @@ const isLevelFieldsComplete = product => {
5653
5767
  }
5654
5768
  }
5655
5769
  };
5656
- /* Changes in intensity should always be included in sigmet except for
5657
- * volcanic ash cloud and radioactive cloud where it should be omitted
5658
- * if specified in the config
5770
+ /* Changes in intensity should always be included in sigmet except for
5771
+ * volcanic ash cloud and radioactive cloud where it should be omitted
5772
+ * if specified in the config
5659
5773
  */
5660
5774
  const isChangeComplete = (product, omitChange) => {
5661
5775
  const omitChangeForVaAndRdoact = omitChange && product.phenomenon === 'VA_CLD' || omitChange && product.phenomenon === 'RDOACT_CLD';
@@ -5664,7 +5778,7 @@ const isChangeComplete = (product, omitChange) => {
5664
5778
  };
5665
5779
  const isSurfaceVisComplete = product => {
5666
5780
  // For Surface Visibility the cause is required
5667
- if (product.phenomenon === 'SFC_VIS' && !product.visibilityCause) {
5781
+ if (product.phenomenon === 'SFC_VIS' && 'visibilityCause' in product && !product.visibilityCause) {
5668
5782
  return false;
5669
5783
  }
5670
5784
  return true;
@@ -6193,6 +6307,72 @@ var fir_areas$1 = {
6193
6307
  movement_rounding_kt: 5,
6194
6308
  movement_rounding_kmh: 10,
6195
6309
  max_polygon_points: 7,
6310
+ phenomenon: [
6311
+ {
6312
+ code: "EMBD_TS",
6313
+ description: "Embedded thunderstorm(s)"
6314
+ },
6315
+ {
6316
+ code: "EMBD_TSGR",
6317
+ description: "Embedded thunderstorm(s) with hail"
6318
+ },
6319
+ {
6320
+ code: "FRQ_TS",
6321
+ description: "Frequent thunderstorm(s)"
6322
+ },
6323
+ {
6324
+ code: "FRQ_TSGR",
6325
+ description: "Frequent thunderstorm(s) with hail"
6326
+ },
6327
+ {
6328
+ code: "HVY_DS",
6329
+ description: "Heavy duststorm"
6330
+ },
6331
+ {
6332
+ code: "HVY_SS",
6333
+ description: "Heavy sandstorm"
6334
+ },
6335
+ {
6336
+ code: "OBSC_TS",
6337
+ description: "Obscured thunderstorm(s)"
6338
+ },
6339
+ {
6340
+ code: "OBSC_TSGR",
6341
+ description: "Obscured thunderstorm(s) with hail"
6342
+ },
6343
+ {
6344
+ code: "RDOACT_CLD",
6345
+ description: "Radioactive cloud"
6346
+ },
6347
+ {
6348
+ code: "SEV_ICE",
6349
+ description: "Severe icing"
6350
+ },
6351
+ {
6352
+ code: "SEV_ICE_FRZ_RN",
6353
+ description: "Severe icing due to freezing rain"
6354
+ },
6355
+ {
6356
+ code: "SEV_MTW",
6357
+ description: "Severe mountain wave"
6358
+ },
6359
+ {
6360
+ code: "SEV_TURB",
6361
+ description: "Severe turbulence"
6362
+ },
6363
+ {
6364
+ code: "SQL_TS",
6365
+ description: "Squall line"
6366
+ },
6367
+ {
6368
+ code: "SQL_TSGR",
6369
+ description: "Squall line thunderstorm(s) with hail"
6370
+ },
6371
+ {
6372
+ code: "VA_CLD",
6373
+ description: "Volcanic ash cloud"
6374
+ }
6375
+ ],
6196
6376
  units: [
6197
6377
  {
6198
6378
  unit_type: "level_unit",
@@ -7448,6 +7628,72 @@ var fir_areas$1 = {
7448
7628
  "EGTT",
7449
7629
  "EGPX"
7450
7630
  ],
7631
+ phenomenon: [
7632
+ {
7633
+ code: "EMBD_TS",
7634
+ description: "Embedded thunderstorm(s)"
7635
+ },
7636
+ {
7637
+ code: "EMBD_TSGR",
7638
+ description: "Embedded thunderstorm(s) with hail"
7639
+ },
7640
+ {
7641
+ code: "FRQ_TS",
7642
+ description: "Frequent thunderstorm(s)"
7643
+ },
7644
+ {
7645
+ code: "FRQ_TSGR",
7646
+ description: "Frequent thunderstorm(s) with hail"
7647
+ },
7648
+ {
7649
+ code: "HVY_DS",
7650
+ description: "Heavy duststorm"
7651
+ },
7652
+ {
7653
+ code: "HVY_SS",
7654
+ description: "Heavy sandstorm"
7655
+ },
7656
+ {
7657
+ code: "OBSC_TS",
7658
+ description: "Obscured thunderstorm(s)"
7659
+ },
7660
+ {
7661
+ code: "OBSC_TSGR",
7662
+ description: "Obscured thunderstorm(s) with hail"
7663
+ },
7664
+ {
7665
+ code: "RDOACT_CLD",
7666
+ description: "Radioactive cloud"
7667
+ },
7668
+ {
7669
+ code: "SEV_ICE",
7670
+ description: "Severe icing"
7671
+ },
7672
+ {
7673
+ code: "SEV_ICE_FRZ_RN",
7674
+ description: "Severe icing due to freezing rain"
7675
+ },
7676
+ {
7677
+ code: "SEV_MTW",
7678
+ description: "Severe mountain wave"
7679
+ },
7680
+ {
7681
+ code: "SEV_TURB",
7682
+ description: "Severe turbulence"
7683
+ },
7684
+ {
7685
+ code: "SQL_TS",
7686
+ description: "Squall line"
7687
+ },
7688
+ {
7689
+ code: "SQL_TSGR",
7690
+ description: "Squall line thunderstorm(s) with hail"
7691
+ },
7692
+ {
7693
+ code: "VA_CLD",
7694
+ description: "Volcanic ash cloud"
7695
+ }
7696
+ ],
7451
7697
  units: [
7452
7698
  {
7453
7699
  unit_type: "level_unit",
@@ -7723,6 +7969,80 @@ var fir_areas = {
7723
7969
  movement_rounding_kt: 5,
7724
7970
  movement_rounding_kmh: 10,
7725
7971
  max_polygon_points: 7,
7972
+ phenomenon: [
7973
+ {
7974
+ code: "SFC_VIS",
7975
+ description: "Surface visibility"
7976
+ },
7977
+ {
7978
+ code: "SFC_WIND",
7979
+ description: "Surface wind"
7980
+ },
7981
+ {
7982
+ code: "OVC_CLD",
7983
+ description: "Overcast cloud"
7984
+ },
7985
+ {
7986
+ code: "BKN_CLD",
7987
+ description: "Broken cloud"
7988
+ },
7989
+ {
7990
+ code: "ISOL_CB",
7991
+ description: "Isolated cumulonimbus cloud"
7992
+ },
7993
+ {
7994
+ code: "OCNL_CB",
7995
+ description: "Occasional cumulonimbus cloud"
7996
+ },
7997
+ {
7998
+ code: "FRQ_CB",
7999
+ description: "Frequent cumulonimbus cloud"
8000
+ },
8001
+ {
8002
+ code: "ISOL_TS",
8003
+ description: "Isolated thunderstorm(s)"
8004
+ },
8005
+ {
8006
+ code: "OCNL_TS",
8007
+ description: "Occasional thunderstorm(s)"
8008
+ },
8009
+ {
8010
+ code: "ISOL_TSGR",
8011
+ description: "Isolated thunderstorm(s) with hail"
8012
+ },
8013
+ {
8014
+ code: "OCNL_TSGR",
8015
+ description: "Occasional thunderstorm(s) with hail"
8016
+ },
8017
+ {
8018
+ code: "ISOL_TCU",
8019
+ description: "Isolated towering cumulus cloud"
8020
+ },
8021
+ {
8022
+ code: "OCNL_TCU",
8023
+ description: "Occasional towering cumulus cloud"
8024
+ },
8025
+ {
8026
+ code: "FRQ_TCU",
8027
+ description: "Frequent towering cumulus cloud"
8028
+ },
8029
+ {
8030
+ code: "MOD_ICE",
8031
+ description: "Moderate icing"
8032
+ },
8033
+ {
8034
+ code: "MOD_MTW",
8035
+ description: "Moderate mountain wave"
8036
+ },
8037
+ {
8038
+ code: "MOD_TURB",
8039
+ description: "Moderate turbulence"
8040
+ },
8041
+ {
8042
+ code: "MT_OBSC",
8043
+ description: "Mountains obscured"
8044
+ }
8045
+ ],
7726
8046
  units: [
7727
8047
  {
7728
8048
  unit_type: "level_unit",
@@ -8977,6 +9297,80 @@ var fir_areas = {
8977
9297
  movement_rounding_kt: 5,
8978
9298
  movement_rounding_kmh: 10,
8979
9299
  max_polygon_points: 20,
9300
+ phenomenon: [
9301
+ {
9302
+ code: "SFC_VIS",
9303
+ description: "Surface visibility"
9304
+ },
9305
+ {
9306
+ code: "SFC_WIND",
9307
+ description: "Surface wind"
9308
+ },
9309
+ {
9310
+ code: "OVC_CLD",
9311
+ description: "Overcast cloud"
9312
+ },
9313
+ {
9314
+ code: "BKN_CLD",
9315
+ description: "Broken cloud"
9316
+ },
9317
+ {
9318
+ code: "ISOL_CB",
9319
+ description: "Isolated cumulonimbus cloud"
9320
+ },
9321
+ {
9322
+ code: "OCNL_CB",
9323
+ description: "Occasional cumulonimbus cloud"
9324
+ },
9325
+ {
9326
+ code: "FRQ_CB",
9327
+ description: "Frequent cumulonimbus cloud"
9328
+ },
9329
+ {
9330
+ code: "ISOL_TS",
9331
+ description: "Isolated thunderstorm(s)"
9332
+ },
9333
+ {
9334
+ code: "OCNL_TS",
9335
+ description: "Occasional thunderstorm(s)"
9336
+ },
9337
+ {
9338
+ code: "ISOL_TSGR",
9339
+ description: "Isolated thunderstorm(s) with hail"
9340
+ },
9341
+ {
9342
+ code: "OCNL_TSGR",
9343
+ description: "Occasional thunderstorm(s) with hail"
9344
+ },
9345
+ {
9346
+ code: "ISOL_TCU",
9347
+ description: "Isolated towering cumulus cloud"
9348
+ },
9349
+ {
9350
+ code: "OCNL_TCU",
9351
+ description: "Occasional towering cumulus cloud"
9352
+ },
9353
+ {
9354
+ code: "FRQ_TCU",
9355
+ description: "Frequent towering cumulus cloud"
9356
+ },
9357
+ {
9358
+ code: "MOD_ICE",
9359
+ description: "Moderate icing"
9360
+ },
9361
+ {
9362
+ code: "MOD_MTW",
9363
+ description: "Moderate mountain wave"
9364
+ },
9365
+ {
9366
+ code: "MOD_TURB",
9367
+ description: "Moderate turbulence"
9368
+ },
9369
+ {
9370
+ code: "MT_OBSC",
9371
+ description: "Mountains obscured"
9372
+ }
9373
+ ],
8980
9374
  units: [
8981
9375
  {
8982
9376
  unit_type: "level_unit",
@@ -9151,7 +9545,7 @@ $$8({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
9151
9545
  }
9152
9546
  });
9153
9547
 
9154
- var isCallable$8 = isCallable$n;
9548
+ var isCallable$8 = isCallable$o;
9155
9549
  var isObject$2 = isObject$c;
9156
9550
  var setPrototypeOf$1 = objectSetPrototypeOf;
9157
9551
 
@@ -9171,7 +9565,7 @@ var inheritIfRequired$1 = function ($this, dummy, Wrapper) {
9171
9565
  };
9172
9566
 
9173
9567
  var fails$7 = fails$o;
9174
- var global$a = global$n;
9568
+ var global$a = global$o;
9175
9569
 
9176
9570
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
9177
9571
  var $RegExp$2 = global$a.RegExp;
@@ -9201,27 +9595,18 @@ var regexpStickyHelpers = {
9201
9595
  UNSUPPORTED_Y: UNSUPPORTED_Y$2
9202
9596
  };
9203
9597
 
9204
- var defineProperty$1 = objectDefineProperty.f;
9598
+ var defineProperty = objectDefineProperty.f;
9205
9599
 
9206
9600
  var proxyAccessor$1 = function (Target, Source, key) {
9207
- key in Target || defineProperty$1(Target, key, {
9601
+ key in Target || defineProperty(Target, key, {
9208
9602
  configurable: true,
9209
9603
  get: function () { return Source[key]; },
9210
9604
  set: function (it) { Source[key] = it; }
9211
9605
  });
9212
9606
  };
9213
9607
 
9214
- var makeBuiltIn = makeBuiltInExports;
9215
- var defineProperty = objectDefineProperty;
9216
-
9217
- var defineBuiltInAccessor$2 = function (target, name, descriptor) {
9218
- if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
9219
- if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
9220
- return defineProperty.f(target, name, descriptor);
9221
- };
9222
-
9223
9608
  var getBuiltIn$3 = getBuiltIn$7;
9224
- var defineBuiltInAccessor$1 = defineBuiltInAccessor$2;
9609
+ var defineBuiltInAccessor$1 = defineBuiltInAccessor$3;
9225
9610
  var wellKnownSymbol$8 = wellKnownSymbol$j;
9226
9611
  var DESCRIPTORS$3 = descriptors;
9227
9612
 
@@ -9239,7 +9624,7 @@ var setSpecies$2 = function (CONSTRUCTOR_NAME) {
9239
9624
  };
9240
9625
 
9241
9626
  var fails$6 = fails$o;
9242
- var global$9 = global$n;
9627
+ var global$9 = global$o;
9243
9628
 
9244
9629
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
9245
9630
  var $RegExp$1 = global$9.RegExp;
@@ -9250,7 +9635,7 @@ var regexpUnsupportedDotAll = fails$6(function () {
9250
9635
  });
9251
9636
 
9252
9637
  var fails$5 = fails$o;
9253
- var global$8 = global$n;
9638
+ var global$8 = global$o;
9254
9639
 
9255
9640
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
9256
9641
  var $RegExp = global$8.RegExp;
@@ -9262,7 +9647,7 @@ var regexpUnsupportedNcg = fails$5(function () {
9262
9647
  });
9263
9648
 
9264
9649
  var DESCRIPTORS$2 = descriptors;
9265
- var global$7 = global$n;
9650
+ var global$7 = global$o;
9266
9651
  var uncurryThis$8 = functionUncurryThis;
9267
9652
  var isForced$1 = isForced_1;
9268
9653
  var inheritIfRequired = inheritIfRequired$1;
@@ -9271,7 +9656,7 @@ var create$1 = objectCreate;
9271
9656
  var getOwnPropertyNames = objectGetOwnPropertyNames.f;
9272
9657
  var isPrototypeOf$2 = objectIsPrototypeOf;
9273
9658
  var isRegExp = isRegexp;
9274
- var toString$4 = toString$8;
9659
+ var toString$4 = toString$9;
9275
9660
  var getRegExpFlags = regexpGetFlags;
9276
9661
  var stickyHelpers$1 = regexpStickyHelpers;
9277
9662
  var proxyAccessor = proxyAccessor$1;
@@ -9456,7 +9841,7 @@ setSpecies$1('RegExp');
9456
9841
  var DESCRIPTORS$1 = descriptors;
9457
9842
  var UNSUPPORTED_DOT_ALL$1 = regexpUnsupportedDotAll;
9458
9843
  var classof$3 = classofRaw$2;
9459
- var defineBuiltInAccessor = defineBuiltInAccessor$2;
9844
+ var defineBuiltInAccessor = defineBuiltInAccessor$3;
9460
9845
  var getInternalState$1 = internalState.get;
9461
9846
 
9462
9847
  var RegExpPrototype$1 = RegExp.prototype;
@@ -9483,7 +9868,7 @@ if (DESCRIPTORS$1 && UNSUPPORTED_DOT_ALL$1) {
9483
9868
  /* eslint-disable regexp/no-useless-quantifier -- testing */
9484
9869
  var call$b = functionCall;
9485
9870
  var uncurryThis$7 = functionUncurryThis;
9486
- var toString$3 = toString$8;
9871
+ var toString$3 = toString$9;
9487
9872
  var regexpFlags = regexpFlags$1;
9488
9873
  var stickyHelpers = regexpStickyHelpers;
9489
9874
  var shared = shared$4;
@@ -9609,9 +9994,9 @@ $$7({ target: 'RegExp', proto: true, forced: /./.exec !== exec$1 }, {
9609
9994
 
9610
9995
  var $$6 = _export;
9611
9996
  var call$a = functionCall;
9612
- var isCallable$7 = isCallable$n;
9997
+ var isCallable$7 = isCallable$o;
9613
9998
  var anObject$7 = anObject$e;
9614
- var toString$2 = toString$8;
9999
+ var toString$2 = toString$9;
9615
10000
 
9616
10001
  var DELEGATES_TO_EXEC = function () {
9617
10002
  var execCalled = false;
@@ -9729,7 +10114,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
9729
10114
 
9730
10115
  var uncurryThis$6 = functionUncurryThis;
9731
10116
  var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
9732
- var toString$1 = toString$8;
10117
+ var toString$1 = toString$9;
9733
10118
  var requireObjectCoercible$1 = requireObjectCoercible$7;
9734
10119
 
9735
10120
  var charAt$2 = uncurryThis$6(''.charAt);
@@ -9820,7 +10205,7 @@ var getSubstitution$1 = function (matched, str, position, captures, namedCapture
9820
10205
 
9821
10206
  var call$7 = functionCall;
9822
10207
  var anObject$6 = anObject$e;
9823
- var isCallable$6 = isCallable$n;
10208
+ var isCallable$6 = isCallable$o;
9824
10209
  var classof$2 = classofRaw$2;
9825
10210
  var regexpExec = regexpExec$2;
9826
10211
 
@@ -9845,11 +10230,11 @@ var uncurryThis$4 = functionUncurryThis;
9845
10230
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
9846
10231
  var fails$2 = fails$o;
9847
10232
  var anObject$5 = anObject$e;
9848
- var isCallable$5 = isCallable$n;
10233
+ var isCallable$5 = isCallable$o;
9849
10234
  var isNullOrUndefined$2 = isNullOrUndefined$5;
9850
10235
  var toIntegerOrInfinity = toIntegerOrInfinity$4;
9851
10236
  var toLength = toLength$2;
9852
- var toString = toString$8;
10237
+ var toString = toString$9;
9853
10238
  var requireObjectCoercible = requireObjectCoercible$7;
9854
10239
  var advanceStringIndex = advanceStringIndex$1;
9855
10240
  var getMethod$2 = getMethod$4;
@@ -9981,9 +10366,9 @@ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNa
9981
10366
  ];
9982
10367
  }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
9983
10368
 
9984
- const schema13={type:'object',title:'sigmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}},omit_change_va_and_rdoact_cloud:{type:'boolean'}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15$1={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0$1=new RegExp('','u');const keyword0={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset'],additionalProperties:false};const func2$1=Object.prototype.hasOwnProperty;function validate14(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset'||key0==='omit_change_va_and_rdoact_cloud')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0$1.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}if(data6.tc_max_hours_of_validity===undefined){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_max_hours_of_validity'},message:"must have required property '"+'tc_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}if(data6.tc_hours_before_validity===undefined){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_hours_before_validity'},message:"must have required property '"+'tc_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}if(data6.va_max_hours_of_validity===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_max_hours_of_validity'},message:"must have required property '"+'va_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data6.va_hours_before_validity===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_hours_before_validity'},message:"must have required property '"+'va_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data6.adjacent_firs===undefined){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'adjacent_firs'},message:"must have required property '"+'adjacent_firs'+"'"};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(data6.area_preset===undefined){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'area_preset'},message:"must have required property '"+'area_preset'+"'"};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}for(const key2 in data6){if(!func2$1.call(keyword0.properties,key2)){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(data8.features===undefined){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}if(!(data9==='FeatureCollection')){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}if(data11.geometry===undefined){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}if(!(data12==='Feature')){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}}else {const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}if(data16.coordinates===undefined){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}if(!(data17==='Point')){const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}}}else {const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}else {const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}}}else {const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}if(data16.coordinates===undefined){const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}if(!(data21==='LineString')){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}}}else {const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}}}else {const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}}else {const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}}}else {const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}if(data16.coordinates===undefined){const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}if(!(data27==='Polygon')){const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}}}else {const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}}}else {const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}}else {const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}}}else {const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}if(data16.coordinates===undefined){const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}if(!(data34==='MultiPoint')){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}}}else {const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}}}else {const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}}else {const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}}}else {const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}if(data16.coordinates===undefined){const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}if(!(data40==='MultiLineString')){const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}}}else {const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}}}else {const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}}else {const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}}}else {const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}if(data16.coordinates===undefined){const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}if(!(data47==='MultiPolygon')){const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}}}else {const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}}}else {const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}}else {const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}}}else {const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(data16.geometries===undefined){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}if(!(data55==='GeometryCollection')){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}if(data57.coordinates===undefined){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}if(!(data58==='Point')){const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}}}else {const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}}else {const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}}}else {const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}if(data57.coordinates===undefined){const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}if(!(data63==='LineString')){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}}}else {const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}}}else {const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}}else {const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}}}else {const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}if(data57.coordinates===undefined){const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}if(!(data69==='Polygon')){const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}}}else {const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}}}else {const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}}else {const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}}}else {const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}if(data57.coordinates===undefined){const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}if(!(data76==='MultiPoint')){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}}}else {const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}}}else {const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}}else {const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}}}else {const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}if(data57.coordinates===undefined){const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}if(!(data82==='MultiLineString')){const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}}}else {const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}}}else {const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}}else {const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}}}else {const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}if(data57.coordinates===undefined){const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}if(!(data89==='MultiPolygon')){const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}}}else {const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}}else {const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}}else {const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}}else {const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}}else {const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}}else {const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}}else {const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.units!==undefined){let data121=data6.units;if(Array.isArray(data121)){if(data121.length<1){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.unit_type===undefined){const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data122.allowed_units===undefined){const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}for(const key7 in data122){if(!(key7==='unit_type'||key7==='allowed_units')){const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data122.unit_type!==undefined){if(typeof data122.unit_type!=='string'){const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}if(data122.allowed_units!==undefined){let data124=data122.allowed_units;if(Array.isArray(data124)){if(data124.length<1){const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}const len48=data124.length;for(let i48=0;i48<len48;i48++){if(typeof data124[i48]!=='string'){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}}else {const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.tc_max_hours_of_validity!==undefined){let data126=data6.tc_max_hours_of_validity;if(!(typeof data126=='number'&&isFinite(data126))){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}if(data6.tc_hours_before_validity!==undefined){let data127=data6.tc_hours_before_validity;if(!(typeof data127=='number'&&isFinite(data127))){const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.va_max_hours_of_validity!==undefined){let data128=data6.va_max_hours_of_validity;if(!(typeof data128=='number'&&isFinite(data128))){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}if(data6.va_hours_before_validity!==undefined){let data129=data6.va_hours_before_validity;if(!(typeof data129=='number'&&isFinite(data129))){const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.adjacent_firs!==undefined){let data130=data6.adjacent_firs;if(Array.isArray(data130)){if(data130.length<1){const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}const len49=data130.length;for(let i49=0;i49<len49;i49++){if(typeof data130[i49]!=='string'){const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}}else {const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}if(data6.area_preset!==undefined){if(typeof data6.area_preset!=='string'){const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/area_preset',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/area_preset/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}}else {const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}var valid4=_errs17===errors;if(!valid4){const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}}}else {const err258={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data.mapPreset!==undefined){let data133=data.mapPreset;if(data133&&typeof data133=='object'&&!Array.isArray(data133)){if(data133.layers!==undefined){let data134=data133.layers;if(Array.isArray(data134)){const len50=data134.length;for(let i50=0;i50<len50;i50++){let data135=data134[i50];if(data135&&typeof data135=='object'&&!Array.isArray(data135)){if(data135.id===undefined){const err259={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}if(data135.name===undefined){const err260={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}if(data135.layerType===undefined){const err261={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}if(data135.id!==undefined){if(typeof data135.id!=='string'){const err262={instancePath:instancePath+'/mapPreset/layers/'+i50+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}}if(data135.name!==undefined){if(typeof data135.name!=='string'){const err263={instancePath:instancePath+'/mapPreset/layers/'+i50+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}if(data135.layerType!==undefined){let data138=data135.layerType;if(typeof data138!=='string'){const err264={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}if(!(data138==='overLayer'||data138==='baseLayer'||data138==='mapLayer')){const err265={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema13.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}}}else {const err266={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}}}else {const err267={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}}if(data133.proj!==undefined){let data139=data133.proj;if(data139&&typeof data139=='object'&&!Array.isArray(data139)){if(data139.bbox===undefined){const err268={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}if(data139.srs===undefined){const err269={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}for(const key8 in data139){if(!(key8==='bbox'||key8==='srs')){const err270={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key8},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}}if(data139.bbox!==undefined){let data140=data139.bbox;if(data140&&typeof data140=='object'&&!Array.isArray(data140)){if(data140.left===undefined){const err271={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}if(data140.right===undefined){const err272={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}if(data140.top===undefined){const err273={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}if(data140.bottom===undefined){const err274={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}for(const key9 in data140){if(!(key9==='left'||key9==='right'||key9==='top'||key9==='bottom')){const err275={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key9},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}}if(data140.left!==undefined){let data141=data140.left;if(!(typeof data141=='number'&&isFinite(data141))){const err276={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data140.right!==undefined){let data142=data140.right;if(!(typeof data142=='number'&&isFinite(data142))){const err277={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}}if(data140.top!==undefined){let data143=data140.top;if(!(typeof data143=='number'&&isFinite(data143))){const err278={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}}if(data140.bottom!==undefined){let data144=data140.bottom;if(!(typeof data144=='number'&&isFinite(data144))){const err279={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}}}else {const err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}}if(data139.srs!==undefined){if(typeof data139.srs!=='string'){const err281={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}}else {const err282={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}}else {const err283={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data.omit_change_va_and_rdoact_cloud!==undefined){if(typeof data.omit_change_va_and_rdoact_cloud!=='boolean'){const err284={instancePath:instancePath+'/omit_change_va_and_rdoact_cloud',schemaPath:'#/properties/omit_change_va_and_rdoact_cloud/type',keyword:'type',params:{type:'boolean'},message:'must be boolean'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}}else {const err285={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}validate14.errors=vErrors;return errors===0;}
10369
+ const schema13={type:'object',title:'sigmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}},omit_change_va_and_rdoact_cloud:{type:'boolean'}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15$1={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0$1=new RegExp('','u');const keyword0={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},phenomenon:{type:'array',items:{type:'object',properties:{code:{type:'string'},description:{type:'string'}},required:['code','description']}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},tc_max_hours_of_validity:{type:'number'},tc_hours_before_validity:{type:'number'},va_max_hours_of_validity:{type:'number'},va_hours_before_validity:{type:'number'},adjacent_firs:{type:'array',items:{type:'string'},minItems:1},area_preset:{type:'string'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units','tc_max_hours_of_validity','tc_hours_before_validity','va_max_hours_of_validity','va_hours_before_validity','adjacent_firs','area_preset'],additionalProperties:false};const func2$1=Object.prototype.hasOwnProperty;function validate14(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset'||key0==='omit_change_va_and_rdoact_cloud')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0$1.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}if(data6.tc_max_hours_of_validity===undefined){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_max_hours_of_validity'},message:"must have required property '"+'tc_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}if(data6.tc_hours_before_validity===undefined){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'tc_hours_before_validity'},message:"must have required property '"+'tc_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}if(data6.va_max_hours_of_validity===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_max_hours_of_validity'},message:"must have required property '"+'va_max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data6.va_hours_before_validity===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'va_hours_before_validity'},message:"must have required property '"+'va_hours_before_validity'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data6.adjacent_firs===undefined){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'adjacent_firs'},message:"must have required property '"+'adjacent_firs'+"'"};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(data6.area_preset===undefined){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'area_preset'},message:"must have required property '"+'area_preset'+"'"};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}for(const key2 in data6){if(!func2$1.call(keyword0.properties,key2)){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(data8.features===undefined){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}if(!(data9==='FeatureCollection')){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}if(data11.geometry===undefined){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}if(!(data12==='Feature')){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}}else {const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}if(data16.coordinates===undefined){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}if(!(data17==='Point')){const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}}}else {const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}else {const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}}}else {const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}if(data16.coordinates===undefined){const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}if(!(data21==='LineString')){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}}}else {const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}}}else {const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}}else {const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}}}else {const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}if(data16.coordinates===undefined){const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}if(!(data27==='Polygon')){const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}}}else {const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}}}else {const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}}else {const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}}}else {const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}if(data16.coordinates===undefined){const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}if(!(data34==='MultiPoint')){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}}}else {const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}}}else {const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}}else {const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}}}else {const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}if(data16.coordinates===undefined){const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}if(!(data40==='MultiLineString')){const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}}}else {const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}}}else {const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}}else {const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}}}else {const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}if(data16.coordinates===undefined){const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}if(!(data47==='MultiPolygon')){const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}}}else {const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}}}else {const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}}else {const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}}}else {const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(data16.geometries===undefined){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}if(!(data55==='GeometryCollection')){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}if(data57.coordinates===undefined){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}if(!(data58==='Point')){const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}}}else {const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}}else {const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}}}else {const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}if(data57.coordinates===undefined){const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}if(!(data63==='LineString')){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}}}else {const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}}}else {const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}}else {const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}}}else {const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}if(data57.coordinates===undefined){const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}if(!(data69==='Polygon')){const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}}}else {const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}}}else {const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}}else {const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}}}else {const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}if(data57.coordinates===undefined){const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}if(!(data76==='MultiPoint')){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}}}else {const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}}}else {const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}}else {const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}}}else {const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}if(data57.coordinates===undefined){const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}if(!(data82==='MultiLineString')){const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}}}else {const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}}}else {const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}}else {const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}}}else {const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}if(data57.coordinates===undefined){const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}if(!(data89==='MultiPolygon')){const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15$1.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}}}else {const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}}else {const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}}else {const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}}else {const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}}else {const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}}else {const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}}else {const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.phenomenon!==undefined){let data121=data6.phenomenon;if(Array.isArray(data121)){const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.code===undefined){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'code'},message:"must have required property '"+'code'+"'"};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}if(data122.description===undefined){const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'description'},message:"must have required property '"+'description'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data122.code!==undefined){if(typeof data122.code!=='string'){const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/code',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/code/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}}if(data122.description!==undefined){if(typeof data122.description!=='string'){const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/description',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/description/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}}else {const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}}else {const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}}if(data6.units!==undefined){let data125=data6.units;if(Array.isArray(data125)){if(data125.length<1){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}const len48=data125.length;for(let i48=0;i48<len48;i48++){let data126=data125[i48];if(data126&&typeof data126=='object'&&!Array.isArray(data126)){if(data126.unit_type===undefined){const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}if(data126.allowed_units===undefined){const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}for(const key7 in data126){if(!(key7==='unit_type'||key7==='allowed_units')){const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data126.unit_type!==undefined){if(typeof data126.unit_type!=='string'){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}if(data126.allowed_units!==undefined){let data128=data126.allowed_units;if(Array.isArray(data128)){if(data128.length<1){const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}const len49=data128.length;for(let i49=0;i49<len49;i49++){if(typeof data128[i49]!=='string'){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}}else {const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}}else {const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}}else {const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.tc_max_hours_of_validity!==undefined){let data130=data6.tc_max_hours_of_validity;if(!(typeof data130=='number'&&isFinite(data130))){const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}if(data6.tc_hours_before_validity!==undefined){let data131=data6.tc_hours_before_validity;if(!(typeof data131=='number'&&isFinite(data131))){const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/tc_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/tc_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.va_max_hours_of_validity!==undefined){let data132=data6.va_max_hours_of_validity;if(!(typeof data132=='number'&&isFinite(data132))){const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}if(data6.va_hours_before_validity!==undefined){let data133=data6.va_hours_before_validity;if(!(typeof data133=='number'&&isFinite(data133))){const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/va_hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/va_hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.adjacent_firs!==undefined){let data134=data6.adjacent_firs;if(Array.isArray(data134)){if(data134.length<1){const err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}const len50=data134.length;for(let i50=0;i50<len50;i50++){if(typeof data134[i50]!=='string'){const err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs/'+i50,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}}else {const err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/adjacent_firs',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/adjacent_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}if(data6.area_preset!==undefined){if(typeof data6.area_preset!=='string'){const err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/area_preset',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/area_preset/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}}else {const err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}var valid4=_errs17===errors;if(!valid4){const err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}}}else {const err264={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data.mapPreset!==undefined){let data137=data.mapPreset;if(data137&&typeof data137=='object'&&!Array.isArray(data137)){if(data137.layers!==undefined){let data138=data137.layers;if(Array.isArray(data138)){const len51=data138.length;for(let i51=0;i51<len51;i51++){let data139=data138[i51];if(data139&&typeof data139=='object'&&!Array.isArray(data139)){if(data139.id===undefined){const err265={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}if(data139.name===undefined){const err266={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}if(data139.layerType===undefined){const err267={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}if(data139.id!==undefined){if(typeof data139.id!=='string'){const err268={instancePath:instancePath+'/mapPreset/layers/'+i51+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}}if(data139.name!==undefined){if(typeof data139.name!=='string'){const err269={instancePath:instancePath+'/mapPreset/layers/'+i51+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}if(data139.layerType!==undefined){let data142=data139.layerType;if(typeof data142!=='string'){const err270={instancePath:instancePath+'/mapPreset/layers/'+i51+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}if(!(data142==='overLayer'||data142==='baseLayer'||data142==='mapLayer')){const err271={instancePath:instancePath+'/mapPreset/layers/'+i51+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema13.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}}}else {const err272={instancePath:instancePath+'/mapPreset/layers/'+i51,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}}}else {const err273={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}}if(data137.proj!==undefined){let data143=data137.proj;if(data143&&typeof data143=='object'&&!Array.isArray(data143)){if(data143.bbox===undefined){const err274={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}if(data143.srs===undefined){const err275={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}for(const key8 in data143){if(!(key8==='bbox'||key8==='srs')){const err276={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key8},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data143.bbox!==undefined){let data144=data143.bbox;if(data144&&typeof data144=='object'&&!Array.isArray(data144)){if(data144.left===undefined){const err277={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}if(data144.right===undefined){const err278={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}if(data144.top===undefined){const err279={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}if(data144.bottom===undefined){const err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}for(const key9 in data144){if(!(key9==='left'||key9==='right'||key9==='top'||key9==='bottom')){const err281={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key9},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}if(data144.left!==undefined){let data145=data144.left;if(!(typeof data145=='number'&&isFinite(data145))){const err282={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data144.right!==undefined){let data146=data144.right;if(!(typeof data146=='number'&&isFinite(data146))){const err283={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data144.top!==undefined){let data147=data144.top;if(!(typeof data147=='number'&&isFinite(data147))){const err284={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}if(data144.bottom!==undefined){let data148=data144.bottom;if(!(typeof data148=='number'&&isFinite(data148))){const err285={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}}}else {const err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}}if(data143.srs!==undefined){if(typeof data143.srs!=='string'){const err287={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}}else {const err288={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}}else {const err289={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}if(data.omit_change_va_and_rdoact_cloud!==undefined){if(typeof data.omit_change_va_and_rdoact_cloud!=='boolean'){const err290={instancePath:instancePath+'/omit_change_va_and_rdoact_cloud',schemaPath:'#/properties/omit_change_va_and_rdoact_cloud/type',keyword:'type',params:{type:'boolean'},message:'must be boolean'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}}}else {const err291={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err291];}else {vErrors.push(err291);}errors++;}validate14.errors=vErrors;return errors===0;}
9985
10370
 
9986
- const schema17={type:'object',title:'airmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0=new RegExp('','u');const keyword1={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units'],additionalProperties:false};const func2=Object.prototype.hasOwnProperty;function validate16(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}for(const key2 in data6){if(!func2.call(keyword1.properties,key2)){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data8.features===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(!(data9==='FeatureCollection')){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}if(data11.geometry===undefined){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(!(data12==='Feature')){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}}}else {const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}if(data16.coordinates===undefined){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}if(!(data17==='Point')){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}}}else {const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}}else {const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}}}else {const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}if(data16.coordinates===undefined){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}if(!(data21==='LineString')){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}}}else {const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}}}else {const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}}}else {const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}}}else {const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}if(data16.coordinates===undefined){const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}if(!(data27==='Polygon')){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}}}else {const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}}}else {const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}}}else {const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}}}else {const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}if(data16.coordinates===undefined){const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}if(!(data34==='MultiPoint')){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}}}else {const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}}}else {const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}}else {const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}}}else {const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}if(data16.coordinates===undefined){const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}if(!(data40==='MultiLineString')){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}}}else {const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}}}else {const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}}}else {const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}}}else {const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}if(data16.coordinates===undefined){const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}if(!(data47==='MultiPolygon')){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}}}else {const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}}}else {const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}}}else {const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}}else {const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}if(data16.geometries===undefined){const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}if(!(data55==='GeometryCollection')){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}if(data57.coordinates===undefined){const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(!(data58==='Point')){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}}else {const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}}}else {const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}}else {const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}if(data57.coordinates===undefined){const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}if(!(data63==='LineString')){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}}}else {const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}}}else {const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}}}else {const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}}}else {const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}if(data57.coordinates===undefined){const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}if(!(data69==='Polygon')){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}}}else {const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}}}else {const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}}}else {const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}}}else {const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}if(data57.coordinates===undefined){const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}if(!(data76==='MultiPoint')){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}}}else {const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}}}else {const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}}else {const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}}}else {const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}if(data57.coordinates===undefined){const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}if(!(data82==='MultiLineString')){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}}}else {const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}}}else {const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}}}else {const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}}}else {const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}if(data57.coordinates===undefined){const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}if(!(data89==='MultiPolygon')){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}}}else {const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}}}else {const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}}}else {const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}}else {const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}}}else {const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}}}else {const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}}else {const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}}else {const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}}else {const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.units!==undefined){let data121=data6.units;if(Array.isArray(data121)){if(data121.length<1){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.unit_type===undefined){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}if(data122.allowed_units===undefined){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}for(const key7 in data122){if(!(key7==='unit_type'||key7==='allowed_units')){const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}if(data122.unit_type!==undefined){if(typeof data122.unit_type!=='string'){const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}if(data122.allowed_units!==undefined){let data124=data122.allowed_units;if(Array.isArray(data124)){if(data124.length<1){const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}const len48=data124.length;for(let i48=0;i48<len48;i48++){if(typeof data124[i48]!=='string'){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}}}else {const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}}}else {const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}}}else {const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data6.cloud_level_min!==undefined){let data126=data6.cloud_level_min;if(data126&&typeof data126=='object'&&!Array.isArray(data126)){for(const key8 in data126){let data127=data126[key8];if(!(typeof data127=='number'&&isFinite(data127))){const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min/'+key8.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}}else {const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}}if(data6.cloud_level_max!==undefined){let data128=data6.cloud_level_max;if(data128&&typeof data128=='object'&&!Array.isArray(data128)){for(const key9 in data128){let data129=data128[key9];if(!(typeof data129=='number'&&isFinite(data129))){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max/'+key9.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}if(data6.cloud_lower_level_min!==undefined){let data130=data6.cloud_lower_level_min;if(data130&&typeof data130=='object'&&!Array.isArray(data130)){for(const key10 in data130){let data131=data130[key10];if(!(typeof data131=='number'&&isFinite(data131))){const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min/'+key10.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.cloud_lower_level_max!==undefined){let data132=data6.cloud_lower_level_max;if(data132&&typeof data132=='object'&&!Array.isArray(data132)){for(const key11 in data132){let data133=data132[key11];if(!(typeof data133=='number'&&isFinite(data133))){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max/'+key11.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}}else {const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.cloud_level_rounding_ft!==undefined){let data134=data6.cloud_level_rounding_ft;if(!(typeof data134=='number'&&isFinite(data134))){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_ft',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_ft/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}if(data6.cloud_level_rounding_m_below!==undefined){let data135=data6.cloud_level_rounding_m_below;if(!(typeof data135=='number'&&isFinite(data135))){const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.cloud_level_rounding_m_above!==undefined){let data136=data6.cloud_level_rounding_m_above;if(!(typeof data136=='number'&&isFinite(data136))){const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}if(data6.wind_direction_rounding!==undefined){let data137=data6.wind_direction_rounding;if(!(typeof data137=='number'&&isFinite(data137))){const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_direction_rounding',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_direction_rounding/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.wind_speed_max!==undefined){let data138=data6.wind_speed_max;if(data138&&typeof data138=='object'&&!Array.isArray(data138)){for(const key12 in data138){let data139=data138[key12];if(!(typeof data139=='number'&&isFinite(data139))){const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max/'+key12.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}}else {const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.wind_speed_min!==undefined){let data140=data6.wind_speed_min;if(data140&&typeof data140=='object'&&!Array.isArray(data140)){for(const key13 in data140){let data141=data140[key13];if(!(typeof data141=='number'&&isFinite(data141))){const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min/'+key13.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}}else {const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.visibility_max!==undefined){let data142=data6.visibility_max;if(!(typeof data142=='number'&&isFinite(data142))){const err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_max/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data6.visibility_min!==undefined){let data143=data6.visibility_min;if(!(typeof data143=='number'&&isFinite(data143))){const err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_min/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}if(data6.visibility_rounding_below!==undefined){let data144=data6.visibility_rounding_below;if(!(typeof data144=='number'&&isFinite(data144))){const err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}if(data6.visibility_rounding_above!==undefined){let data145=data6.visibility_rounding_above;if(!(typeof data145=='number'&&isFinite(data145))){const err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}}else {const err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}var valid4=_errs17===errors;if(!valid4){const err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}}}else {const err264={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data.mapPreset!==undefined){let data146=data.mapPreset;if(data146&&typeof data146=='object'&&!Array.isArray(data146)){if(data146.layers!==undefined){let data147=data146.layers;if(Array.isArray(data147)){const len49=data147.length;for(let i49=0;i49<len49;i49++){let data148=data147[i49];if(data148&&typeof data148=='object'&&!Array.isArray(data148)){if(data148.id===undefined){const err265={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}if(data148.name===undefined){const err266={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}if(data148.layerType===undefined){const err267={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}if(data148.id!==undefined){if(typeof data148.id!=='string'){const err268={instancePath:instancePath+'/mapPreset/layers/'+i49+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}}if(data148.name!==undefined){if(typeof data148.name!=='string'){const err269={instancePath:instancePath+'/mapPreset/layers/'+i49+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}if(data148.layerType!==undefined){let data151=data148.layerType;if(typeof data151!=='string'){const err270={instancePath:instancePath+'/mapPreset/layers/'+i49+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}if(!(data151==='overLayer'||data151==='baseLayer'||data151==='mapLayer')){const err271={instancePath:instancePath+'/mapPreset/layers/'+i49+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema17.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}}}else {const err272={instancePath:instancePath+'/mapPreset/layers/'+i49,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}}}else {const err273={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}}if(data146.proj!==undefined){let data152=data146.proj;if(data152&&typeof data152=='object'&&!Array.isArray(data152)){if(data152.bbox===undefined){const err274={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}if(data152.srs===undefined){const err275={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}for(const key14 in data152){if(!(key14==='bbox'||key14==='srs')){const err276={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key14},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}}if(data152.bbox!==undefined){let data153=data152.bbox;if(data153&&typeof data153=='object'&&!Array.isArray(data153)){if(data153.left===undefined){const err277={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}if(data153.right===undefined){const err278={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}if(data153.top===undefined){const err279={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}if(data153.bottom===undefined){const err280={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}for(const key15 in data153){if(!(key15==='left'||key15==='right'||key15==='top'||key15==='bottom')){const err281={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key15},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}}if(data153.left!==undefined){let data154=data153.left;if(!(typeof data154=='number'&&isFinite(data154))){const err282={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data153.right!==undefined){let data155=data153.right;if(!(typeof data155=='number'&&isFinite(data155))){const err283={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}}if(data153.top!==undefined){let data156=data153.top;if(!(typeof data156=='number'&&isFinite(data156))){const err284={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}}if(data153.bottom!==undefined){let data157=data153.bottom;if(!(typeof data157=='number'&&isFinite(data157))){const err285={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}}}else {const err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}}if(data152.srs!==undefined){if(typeof data152.srs!=='string'){const err287={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}}else {const err288={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}}else {const err289={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}}else {const err290={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}validate16.errors=vErrors;return errors===0;}
10371
+ const schema17={type:'object',title:'airmet config schema',properties:{location_indicator_mwo:{type:'string'},active_firs:{type:'array',items:{type:'string'},minItems:1},valid_from_delay_minutes:{type:'number'},default_validity_minutes:{type:'number'},fir_areas:{type:'object',patternProperties:{'':{type:'object',$merge:{source:{$ref:'firArea.schema.json'},with:{properties:{cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units']}}}},required:[],minProperties:1},mapPreset:{type:'object',properties:{layers:{type:'array',items:{type:'object',properties:{id:{type:'string'},name:{type:'string'},layerType:{type:'string',enum:['overLayer','baseLayer','mapLayer']}},additionalProperties:true,required:['id','name','layerType']}},proj:{type:'object',properties:{bbox:{type:'object',properties:{left:{type:'number'},right:{type:'number'},top:{type:'number'},bottom:{type:'number'}},additionalProperties:false,required:['left','right','top','bottom']},srs:{type:'string'}},additionalProperties:false,required:['bbox','srs']}}}},required:['location_indicator_mwo','fir_areas','active_firs','valid_from_delay_minutes','default_validity_minutes'],additionalProperties:false};const schema15={$schema:'http://json-schema.org/draft-07/schema#',$id:'geojson.schema.json',title:'GeoJSON FeatureCollection',type:'object',required:['type','features'],properties:{type:{type:'string',enum:['FeatureCollection']},features:{type:'array',items:{title:'GeoJSON Feature',type:'object',required:['type','geometry'],properties:{type:{type:'string',enum:['Feature']},id:{oneOf:[{type:'number'},{type:'string'}]},properties:{type:'object',properties:{selectionType:{type:'string'}}},geometry:{oneOf:[{type:'null'},{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON GeometryCollection',type:'object',required:['type','geometries'],properties:{type:{type:'string',enum:['GeometryCollection']},geometries:{type:'array',items:{oneOf:[{title:'GeoJSON Point',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Point']},coordinates:{type:'array',minItems:2,items:{type:'number'}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON LineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['LineString']},coordinates:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON Polygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['Polygon']},coordinates:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPoint',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPoint']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'number'}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiLineString',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiLineString']},coordinates:{type:'array',items:{type:'array',minItems:2,items:{type:'array',minItems:2,items:{type:'number'}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}},{title:'GeoJSON MultiPolygon',type:'object',required:['type','coordinates'],properties:{type:{type:'string',enum:['MultiPolygon']},coordinates:{type:'array',items:{type:'array',items:{type:'array',minItems:4,items:{type:'array',minItems:2,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]}},bbox:{type:'array',minItems:4,items:{type:'number'}}}}]},bbox:{type:'array',minItems:4,items:{type:'number'}}}}},bbox:{type:'array',minItems:4,items:{type:'number'}}}};const pattern0=new RegExp('','u');const keyword1={$id:'firArea.schema.json',title:'fir config schema',description:'all properties defined in FIRConfig type',type:'object',properties:{fir_name:{type:'string'},fir_location:{$ref:'geojson.schema.json'},location_indicator_atsr:{type:'string'},location_indicator_atsu:{type:'string'},max_hours_of_validity:{type:'number'},hours_before_validity:{type:'number'},movement_rounding_kt:{type:'number'},movement_rounding_kmh:{type:'number'},level_min:{type:'object',additionalProperties:{type:'number'}},level_max:{type:'object',additionalProperties:{type:'number'}},level_rounding_FL:{type:'number'},level_rounding_FT:{type:'number'},level_rounding_M:{type:'number'},max_polygon_points:{type:'number'},movement_min:{type:'object',additionalProperties:{type:'number'}},movement_max:{type:'object',additionalProperties:{type:'number'}},phenomenon:{type:'array',items:{type:'object',properties:{code:{type:'string'},description:{type:'string'}},required:['code','description']}},units:{type:'array',items:{type:'object',properties:{unit_type:{type:'string'},allowed_units:{type:'array',items:{type:'string'},minItems:1}},required:['unit_type','allowed_units'],additionalProperties:false},minItems:1},cloud_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_min:{type:'object',additionalProperties:{type:'number'}},cloud_lower_level_max:{type:'object',additionalProperties:{type:'number'}},cloud_level_rounding_ft:{type:'number'},cloud_level_rounding_m_below:{type:'number'},cloud_level_rounding_m_above:{type:'number'},wind_direction_rounding:{type:'number'},wind_speed_max:{type:'object',additionalProperties:{type:'number'}},wind_speed_min:{type:'object',additionalProperties:{type:'number'}},visibility_max:{type:'number'},visibility_min:{type:'number'},visibility_rounding_below:{type:'number'},visibility_rounding_above:{type:'number'}},required:['fir_name','fir_location','location_indicator_atsr','location_indicator_atsu','max_hours_of_validity','hours_before_validity','units'],additionalProperties:false};const func2=Object.prototype.hasOwnProperty;function validate16(data,{instancePath='',parentData,parentDataProperty,rootData=data}={}){let vErrors=null;let errors=0;if(data&&typeof data=='object'&&!Array.isArray(data)){if(data.location_indicator_mwo===undefined){const err0={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'location_indicator_mwo'},message:"must have required property '"+'location_indicator_mwo'+"'"};if(vErrors===null){vErrors=[err0];}else {vErrors.push(err0);}errors++;}if(data.fir_areas===undefined){const err1={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'fir_areas'},message:"must have required property '"+'fir_areas'+"'"};if(vErrors===null){vErrors=[err1];}else {vErrors.push(err1);}errors++;}if(data.active_firs===undefined){const err2={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'active_firs'},message:"must have required property '"+'active_firs'+"'"};if(vErrors===null){vErrors=[err2];}else {vErrors.push(err2);}errors++;}if(data.valid_from_delay_minutes===undefined){const err3={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'valid_from_delay_minutes'},message:"must have required property '"+'valid_from_delay_minutes'+"'"};if(vErrors===null){vErrors=[err3];}else {vErrors.push(err3);}errors++;}if(data.default_validity_minutes===undefined){const err4={instancePath,schemaPath:'#/required',keyword:'required',params:{missingProperty:'default_validity_minutes'},message:"must have required property '"+'default_validity_minutes'+"'"};if(vErrors===null){vErrors=[err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(key0==='location_indicator_mwo'||key0==='active_firs'||key0==='valid_from_delay_minutes'||key0==='default_validity_minutes'||key0==='fir_areas'||key0==='mapPreset')){const err5={instancePath,schemaPath:'#/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key0},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err5];}else {vErrors.push(err5);}errors++;}}if(data.location_indicator_mwo!==undefined){if(typeof data.location_indicator_mwo!=='string'){const err6={instancePath:instancePath+'/location_indicator_mwo',schemaPath:'#/properties/location_indicator_mwo/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err6];}else {vErrors.push(err6);}errors++;}}if(data.active_firs!==undefined){let data1=data.active_firs;if(Array.isArray(data1)){if(data1.length<1){const err7={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err7];}else {vErrors.push(err7);}errors++;}const len0=data1.length;for(let i0=0;i0<len0;i0++){if(typeof data1[i0]!=='string'){const err8={instancePath:instancePath+'/active_firs/'+i0,schemaPath:'#/properties/active_firs/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err8];}else {vErrors.push(err8);}errors++;}}}else {const err9={instancePath:instancePath+'/active_firs',schemaPath:'#/properties/active_firs/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err9];}else {vErrors.push(err9);}errors++;}}if(data.valid_from_delay_minutes!==undefined){let data3=data.valid_from_delay_minutes;if(!(typeof data3=='number'&&isFinite(data3))){const err10={instancePath:instancePath+'/valid_from_delay_minutes',schemaPath:'#/properties/valid_from_delay_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err10];}else {vErrors.push(err10);}errors++;}}if(data.default_validity_minutes!==undefined){let data4=data.default_validity_minutes;if(!(typeof data4=='number'&&isFinite(data4))){const err11={instancePath:instancePath+'/default_validity_minutes',schemaPath:'#/properties/default_validity_minutes/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err11];}else {vErrors.push(err11);}errors++;}}if(data.fir_areas!==undefined){let data5=data.fir_areas;if(data5&&typeof data5=='object'&&!Array.isArray(data5)){if(Object.keys(data5).length<1){const err12={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/minProperties',keyword:'minProperties',params:{limit:1},message:'must NOT have fewer than 1 properties'};if(vErrors===null){vErrors=[err12];}else {vErrors.push(err12);}errors++;}for(const key1 in data5){if(pattern0.test(key1)){let data6=data5[key1];if(!(data6&&typeof data6=='object'&&!Array.isArray(data6))){const err13={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err13];}else {vErrors.push(err13);}errors++;}const _errs17=errors;if(data6&&typeof data6=='object'&&!Array.isArray(data6)){if(data6.fir_name===undefined){const err14={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_name'},message:"must have required property '"+'fir_name'+"'"};if(vErrors===null){vErrors=[err14];}else {vErrors.push(err14);}errors++;}if(data6.fir_location===undefined){const err15={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'fir_location'},message:"must have required property '"+'fir_location'+"'"};if(vErrors===null){vErrors=[err15];}else {vErrors.push(err15);}errors++;}if(data6.location_indicator_atsr===undefined){const err16={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsr'},message:"must have required property '"+'location_indicator_atsr'+"'"};if(vErrors===null){vErrors=[err16];}else {vErrors.push(err16);}errors++;}if(data6.location_indicator_atsu===undefined){const err17={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'location_indicator_atsu'},message:"must have required property '"+'location_indicator_atsu'+"'"};if(vErrors===null){vErrors=[err17];}else {vErrors.push(err17);}errors++;}if(data6.max_hours_of_validity===undefined){const err18={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'max_hours_of_validity'},message:"must have required property '"+'max_hours_of_validity'+"'"};if(vErrors===null){vErrors=[err18];}else {vErrors.push(err18);}errors++;}if(data6.hours_before_validity===undefined){const err19={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'hours_before_validity'},message:"must have required property '"+'hours_before_validity'+"'"};if(vErrors===null){vErrors=[err19];}else {vErrors.push(err19);}errors++;}if(data6.units===undefined){const err20={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/required',keyword:'required',params:{missingProperty:'units'},message:"must have required property '"+'units'+"'"};if(vErrors===null){vErrors=[err20];}else {vErrors.push(err20);}errors++;}for(const key2 in data6){if(!func2.call(keyword1.properties,key2)){const err21={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key2},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err21];}else {vErrors.push(err21);}errors++;}}if(data6.fir_name!==undefined){if(typeof data6.fir_name!=='string'){const err22={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_name',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/fir_name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err22];}else {vErrors.push(err22);}errors++;}}if(data6.fir_location!==undefined){let data8=data6.fir_location;if(data8&&typeof data8=='object'&&!Array.isArray(data8)){if(data8.type===undefined){const err23={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err23];}else {vErrors.push(err23);}errors++;}if(data8.features===undefined){const err24={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/required',keyword:'required',params:{missingProperty:'features'},message:"must have required property '"+'features'+"'"};if(vErrors===null){vErrors=[err24];}else {vErrors.push(err24);}errors++;}if(data8.type!==undefined){let data9=data8.type;if(typeof data9!=='string'){const err25={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err25];}else {vErrors.push(err25);}errors++;}if(!(data9==='FeatureCollection')){const err26={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/type',schemaPath:'geojson.schema.json/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err26];}else {vErrors.push(err26);}errors++;}}if(data8.features!==undefined){let data10=data8.features;if(Array.isArray(data10)){const len1=data10.length;for(let i1=0;i1<len1;i1++){let data11=data10[i1];if(data11&&typeof data11=='object'&&!Array.isArray(data11)){if(data11.type===undefined){const err27={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err27];}else {vErrors.push(err27);}errors++;}if(data11.geometry===undefined){const err28={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/required',keyword:'required',params:{missingProperty:'geometry'},message:"must have required property '"+'geometry'+"'"};if(vErrors===null){vErrors=[err28];}else {vErrors.push(err28);}errors++;}if(data11.type!==undefined){let data12=data11.type;if(typeof data12!=='string'){const err29={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err29];}else {vErrors.push(err29);}errors++;}if(!(data12==='Feature')){const err30={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err30];}else {vErrors.push(err30);}errors++;}}if(data11.id!==undefined){let data13=data11.id;const _errs34=errors;let valid11=false;let passing0=null;const _errs35=errors;if(!(typeof data13=='number'&&isFinite(data13))){const err31={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/0/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err31];}else {vErrors.push(err31);}errors++;}var _valid0=_errs35===errors;if(_valid0){valid11=true;passing0=0;}const _errs37=errors;if(typeof data13!=='string'){const err32={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf/1/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err32];}else {vErrors.push(err32);}errors++;}var _valid0=_errs37===errors;if(_valid0&&valid11){valid11=false;passing0=[passing0,1];}else {if(_valid0){valid11=true;passing0=1;}}if(!valid11){const err33={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/id',schemaPath:'geojson.schema.json/properties/features/items/properties/id/oneOf',keyword:'oneOf',params:{passingSchemas:passing0},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err33];}else {vErrors.push(err33);}errors++;}else {errors=_errs34;if(vErrors!==null){if(_errs34){vErrors.length=_errs34;}else {vErrors=null;}}}}if(data11.properties!==undefined){let data14=data11.properties;if(data14&&typeof data14=='object'&&!Array.isArray(data14)){if(data14.selectionType!==undefined){if(typeof data14.selectionType!=='string'){const err34={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties/selectionType',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/properties/selectionType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err34];}else {vErrors.push(err34);}errors++;}}}else {const err35={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/properties',schemaPath:'geojson.schema.json/properties/features/items/properties/properties/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err35];}else {vErrors.push(err35);}errors++;}}if(data11.geometry!==undefined){let data16=data11.geometry;const _errs44=errors;let valid13=false;let passing1=null;const _errs45=errors;if(data16!==null){const err36={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/0/type',keyword:'type',params:{type:'null'},message:'must be null'};if(vErrors===null){vErrors=[err36];}else {vErrors.push(err36);}errors++;}var _valid1=_errs45===errors;if(_valid1){valid13=true;passing1=0;}const _errs47=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err37={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err37];}else {vErrors.push(err37);}errors++;}if(data16.coordinates===undefined){const err38={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err38];}else {vErrors.push(err38);}errors++;}if(data16.type!==undefined){let data17=data16.type;if(typeof data17!=='string'){const err39={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err39];}else {vErrors.push(err39);}errors++;}if(!(data17==='Point')){const err40={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err40];}else {vErrors.push(err40);}errors++;}}if(data16.coordinates!==undefined){let data18=data16.coordinates;if(Array.isArray(data18)){if(data18.length<2){const err41={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err41];}else {vErrors.push(err41);}errors++;}const len2=data18.length;for(let i2=0;i2<len2;i2++){let data19=data18[i2];if(!(typeof data19=='number'&&isFinite(data19))){const err42={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i2,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err42];}else {vErrors.push(err42);}errors++;}}}else {const err43={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err43];}else {vErrors.push(err43);}errors++;}}if(data16.bbox!==undefined){let data20=data16.bbox;if(Array.isArray(data20)){if(data20.length<4){const err44={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err44];}else {vErrors.push(err44);}errors++;}}else {const err45={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err45];}else {vErrors.push(err45);}errors++;}}}else {const err46={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err46];}else {vErrors.push(err46);}errors++;}var _valid1=_errs47===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,1];}else {if(_valid1){valid13=true;passing1=1;}const _errs57=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err47={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err47];}else {vErrors.push(err47);}errors++;}if(data16.coordinates===undefined){const err48={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err48];}else {vErrors.push(err48);}errors++;}if(data16.type!==undefined){let data21=data16.type;if(typeof data21!=='string'){const err49={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err49];}else {vErrors.push(err49);}errors++;}if(!(data21==='LineString')){const err50={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err50];}else {vErrors.push(err50);}errors++;}}if(data16.coordinates!==undefined){let data22=data16.coordinates;if(Array.isArray(data22)){if(data22.length<2){const err51={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err51];}else {vErrors.push(err51);}errors++;}const len3=data22.length;for(let i3=0;i3<len3;i3++){let data23=data22[i3];if(Array.isArray(data23)){if(data23.length<2){const err52={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err52];}else {vErrors.push(err52);}errors++;}const len4=data23.length;for(let i4=0;i4<len4;i4++){let data24=data23[i4];if(!(typeof data24=='number'&&isFinite(data24))){const err53={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3+'/'+i4,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err53];}else {vErrors.push(err53);}errors++;}}}else {const err54={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i3,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err54];}else {vErrors.push(err54);}errors++;}}}else {const err55={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err55];}else {vErrors.push(err55);}errors++;}}if(data16.bbox!==undefined){let data25=data16.bbox;if(Array.isArray(data25)){if(data25.length<4){const err56={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err56];}else {vErrors.push(err56);}errors++;}const len5=data25.length;for(let i5=0;i5<len5;i5++){let data26=data25[i5];if(!(typeof data26=='number'&&isFinite(data26))){const err57={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i5,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err57];}else {vErrors.push(err57);}errors++;}}}else {const err58={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err58];}else {vErrors.push(err58);}errors++;}}}else {const err59={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err59];}else {vErrors.push(err59);}errors++;}var _valid1=_errs57===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,2];}else {if(_valid1){valid13=true;passing1=2;}const _errs71=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err60={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err60];}else {vErrors.push(err60);}errors++;}if(data16.coordinates===undefined){const err61={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err61];}else {vErrors.push(err61);}errors++;}if(data16.type!==undefined){let data27=data16.type;if(typeof data27!=='string'){const err62={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err62];}else {vErrors.push(err62);}errors++;}if(!(data27==='Polygon')){const err63={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err63];}else {vErrors.push(err63);}errors++;}}if(data16.coordinates!==undefined){let data28=data16.coordinates;if(Array.isArray(data28)){const len6=data28.length;for(let i6=0;i6<len6;i6++){let data29=data28[i6];if(Array.isArray(data29)){if(data29.length<4){const err64={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err64];}else {vErrors.push(err64);}errors++;}const len7=data29.length;for(let i7=0;i7<len7;i7++){let data30=data29[i7];if(Array.isArray(data30)){if(data30.length<2){const err65={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err65];}else {vErrors.push(err65);}errors++;}const len8=data30.length;for(let i8=0;i8<len8;i8++){let data31=data30[i8];if(!(typeof data31=='number'&&isFinite(data31))){const err66={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7+'/'+i8,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err66];}else {vErrors.push(err66);}errors++;}}}else {const err67={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6+'/'+i7,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err67];}else {vErrors.push(err67);}errors++;}}}else {const err68={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i6,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err68];}else {vErrors.push(err68);}errors++;}}}else {const err69={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err69];}else {vErrors.push(err69);}errors++;}}if(data16.bbox!==undefined){let data32=data16.bbox;if(Array.isArray(data32)){if(data32.length<4){const err70={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err70];}else {vErrors.push(err70);}errors++;}const len9=data32.length;for(let i9=0;i9<len9;i9++){let data33=data32[i9];if(!(typeof data33=='number'&&isFinite(data33))){const err71={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i9,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err71];}else {vErrors.push(err71);}errors++;}}}else {const err72={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err72];}else {vErrors.push(err72);}errors++;}}}else {const err73={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err73];}else {vErrors.push(err73);}errors++;}var _valid1=_errs71===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,3];}else {if(_valid1){valid13=true;passing1=3;}const _errs87=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err74={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err74];}else {vErrors.push(err74);}errors++;}if(data16.coordinates===undefined){const err75={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err75];}else {vErrors.push(err75);}errors++;}if(data16.type!==undefined){let data34=data16.type;if(typeof data34!=='string'){const err76={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err76];}else {vErrors.push(err76);}errors++;}if(!(data34==='MultiPoint')){const err77={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err77];}else {vErrors.push(err77);}errors++;}}if(data16.coordinates!==undefined){let data35=data16.coordinates;if(Array.isArray(data35)){const len10=data35.length;for(let i10=0;i10<len10;i10++){let data36=data35[i10];if(Array.isArray(data36)){if(data36.length<2){const err78={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err78];}else {vErrors.push(err78);}errors++;}const len11=data36.length;for(let i11=0;i11<len11;i11++){let data37=data36[i11];if(!(typeof data37=='number'&&isFinite(data37))){const err79={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10+'/'+i11,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err79];}else {vErrors.push(err79);}errors++;}}}else {const err80={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i10,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err80];}else {vErrors.push(err80);}errors++;}}}else {const err81={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err81];}else {vErrors.push(err81);}errors++;}}if(data16.bbox!==undefined){let data38=data16.bbox;if(Array.isArray(data38)){if(data38.length<4){const err82={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err82];}else {vErrors.push(err82);}errors++;}const len12=data38.length;for(let i12=0;i12<len12;i12++){let data39=data38[i12];if(!(typeof data39=='number'&&isFinite(data39))){const err83={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i12,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err83];}else {vErrors.push(err83);}errors++;}}}else {const err84={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err84];}else {vErrors.push(err84);}errors++;}}}else {const err85={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err85];}else {vErrors.push(err85);}errors++;}var _valid1=_errs87===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,4];}else {if(_valid1){valid13=true;passing1=4;}const _errs101=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err86={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err86];}else {vErrors.push(err86);}errors++;}if(data16.coordinates===undefined){const err87={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err87];}else {vErrors.push(err87);}errors++;}if(data16.type!==undefined){let data40=data16.type;if(typeof data40!=='string'){const err88={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err88];}else {vErrors.push(err88);}errors++;}if(!(data40==='MultiLineString')){const err89={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err89];}else {vErrors.push(err89);}errors++;}}if(data16.coordinates!==undefined){let data41=data16.coordinates;if(Array.isArray(data41)){const len13=data41.length;for(let i13=0;i13<len13;i13++){let data42=data41[i13];if(Array.isArray(data42)){if(data42.length<2){const err90={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err90];}else {vErrors.push(err90);}errors++;}const len14=data42.length;for(let i14=0;i14<len14;i14++){let data43=data42[i14];if(Array.isArray(data43)){if(data43.length<2){const err91={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err91];}else {vErrors.push(err91);}errors++;}const len15=data43.length;for(let i15=0;i15<len15;i15++){let data44=data43[i15];if(!(typeof data44=='number'&&isFinite(data44))){const err92={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14+'/'+i15,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err92];}else {vErrors.push(err92);}errors++;}}}else {const err93={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13+'/'+i14,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err93];}else {vErrors.push(err93);}errors++;}}}else {const err94={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i13,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err94];}else {vErrors.push(err94);}errors++;}}}else {const err95={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err95];}else {vErrors.push(err95);}errors++;}}if(data16.bbox!==undefined){let data45=data16.bbox;if(Array.isArray(data45)){if(data45.length<4){const err96={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err96];}else {vErrors.push(err96);}errors++;}const len16=data45.length;for(let i16=0;i16<len16;i16++){let data46=data45[i16];if(!(typeof data46=='number'&&isFinite(data46))){const err97={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i16,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err97];}else {vErrors.push(err97);}errors++;}}}else {const err98={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err98];}else {vErrors.push(err98);}errors++;}}}else {const err99={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err99];}else {vErrors.push(err99);}errors++;}var _valid1=_errs101===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,5];}else {if(_valid1){valid13=true;passing1=5;}const _errs117=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err100={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err100];}else {vErrors.push(err100);}errors++;}if(data16.coordinates===undefined){const err101={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err101];}else {vErrors.push(err101);}errors++;}if(data16.type!==undefined){let data47=data16.type;if(typeof data47!=='string'){const err102={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err102];}else {vErrors.push(err102);}errors++;}if(!(data47==='MultiPolygon')){const err103={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[6].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err103];}else {vErrors.push(err103);}errors++;}}if(data16.coordinates!==undefined){let data48=data16.coordinates;if(Array.isArray(data48)){const len17=data48.length;for(let i17=0;i17<len17;i17++){let data49=data48[i17];if(Array.isArray(data49)){const len18=data49.length;for(let i18=0;i18<len18;i18++){let data50=data49[i18];if(Array.isArray(data50)){if(data50.length<4){const err104={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err104];}else {vErrors.push(err104);}errors++;}const len19=data50.length;for(let i19=0;i19<len19;i19++){let data51=data50[i19];if(Array.isArray(data51)){if(data51.length<2){const err105={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err105];}else {vErrors.push(err105);}errors++;}const len20=data51.length;for(let i20=0;i20<len20;i20++){let data52=data51[i20];if(!(typeof data52=='number'&&isFinite(data52))){const err106={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19+'/'+i20,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err106];}else {vErrors.push(err106);}errors++;}}}else {const err107={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18+'/'+i19,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err107];}else {vErrors.push(err107);}errors++;}}}else {const err108={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17+'/'+i18,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err108];}else {vErrors.push(err108);}errors++;}}}else {const err109={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates/'+i17,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err109];}else {vErrors.push(err109);}errors++;}}}else {const err110={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err110];}else {vErrors.push(err110);}errors++;}}if(data16.bbox!==undefined){let data53=data16.bbox;if(Array.isArray(data53)){if(data53.length<4){const err111={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err111];}else {vErrors.push(err111);}errors++;}const len21=data53.length;for(let i21=0;i21<len21;i21++){let data54=data53[i21];if(!(typeof data54=='number'&&isFinite(data54))){const err112={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i21,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err112];}else {vErrors.push(err112);}errors++;}}}else {const err113={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err113];}else {vErrors.push(err113);}errors++;}}}else {const err114={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/6/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err114];}else {vErrors.push(err114);}errors++;}var _valid1=_errs117===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,6];}else {if(_valid1){valid13=true;passing1=6;}const _errs135=errors;if(data16&&typeof data16=='object'&&!Array.isArray(data16)){if(data16.type===undefined){const err115={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err115];}else {vErrors.push(err115);}errors++;}if(data16.geometries===undefined){const err116={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/required',keyword:'required',params:{missingProperty:'geometries'},message:"must have required property '"+'geometries'+"'"};if(vErrors===null){vErrors=[err116];}else {vErrors.push(err116);}errors++;}if(data16.type!==undefined){let data55=data16.type;if(typeof data55!=='string'){const err117={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err117];}else {vErrors.push(err117);}errors++;}if(!(data55==='GeometryCollection')){const err118={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err118];}else {vErrors.push(err118);}errors++;}}if(data16.geometries!==undefined){let data56=data16.geometries;if(Array.isArray(data56)){const len22=data56.length;for(let i22=0;i22<len22;i22++){let data57=data56[i22];const _errs142=errors;let valid63=false;let passing2=null;const _errs143=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err119={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err119];}else {vErrors.push(err119);}errors++;}if(data57.coordinates===undefined){const err120={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err120];}else {vErrors.push(err120);}errors++;}if(data57.type!==undefined){let data58=data57.type;if(typeof data58!=='string'){const err121={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err121];}else {vErrors.push(err121);}errors++;}if(!(data58==='Point')){const err122={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[0].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err122];}else {vErrors.push(err122);}errors++;}}if(data57.coordinates!==undefined){let data59=data57.coordinates;if(Array.isArray(data59)){if(data59.length<2){const err123={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err123];}else {vErrors.push(err123);}errors++;}const len23=data59.length;for(let i23=0;i23<len23;i23++){let data60=data59[i23];if(!(typeof data60=='number'&&isFinite(data60))){const err124={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i23,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err124];}else {vErrors.push(err124);}errors++;}}}else {const err125={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err125];}else {vErrors.push(err125);}errors++;}}if(data57.bbox!==undefined){let data61=data57.bbox;if(Array.isArray(data61)){if(data61.length<4){const err126={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err126];}else {vErrors.push(err126);}errors++;}const len24=data61.length;for(let i24=0;i24<len24;i24++){let data62=data61[i24];if(!(typeof data62=='number'&&isFinite(data62))){const err127={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i24,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err127];}else {vErrors.push(err127);}errors++;}}}else {const err128={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err128];}else {vErrors.push(err128);}errors++;}}}else {const err129={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/0/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err129];}else {vErrors.push(err129);}errors++;}var _valid2=_errs143===errors;if(_valid2){valid63=true;passing2=0;}const _errs155=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err130={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err130];}else {vErrors.push(err130);}errors++;}if(data57.coordinates===undefined){const err131={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err131];}else {vErrors.push(err131);}errors++;}if(data57.type!==undefined){let data63=data57.type;if(typeof data63!=='string'){const err132={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err132];}else {vErrors.push(err132);}errors++;}if(!(data63==='LineString')){const err133={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[1].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err133];}else {vErrors.push(err133);}errors++;}}if(data57.coordinates!==undefined){let data64=data57.coordinates;if(Array.isArray(data64)){if(data64.length<2){const err134={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err134];}else {vErrors.push(err134);}errors++;}const len25=data64.length;for(let i25=0;i25<len25;i25++){let data65=data64[i25];if(Array.isArray(data65)){if(data65.length<2){const err135={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err135];}else {vErrors.push(err135);}errors++;}const len26=data65.length;for(let i26=0;i26<len26;i26++){let data66=data65[i26];if(!(typeof data66=='number'&&isFinite(data66))){const err136={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25+'/'+i26,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err136];}else {vErrors.push(err136);}errors++;}}}else {const err137={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i25,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err137];}else {vErrors.push(err137);}errors++;}}}else {const err138={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err138];}else {vErrors.push(err138);}errors++;}}if(data57.bbox!==undefined){let data67=data57.bbox;if(Array.isArray(data67)){if(data67.length<4){const err139={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err139];}else {vErrors.push(err139);}errors++;}const len27=data67.length;for(let i27=0;i27<len27;i27++){let data68=data67[i27];if(!(typeof data68=='number'&&isFinite(data68))){const err140={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i27,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err140];}else {vErrors.push(err140);}errors++;}}}else {const err141={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err141];}else {vErrors.push(err141);}errors++;}}}else {const err142={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/1/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err142];}else {vErrors.push(err142);}errors++;}var _valid2=_errs155===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,1];}else {if(_valid2){valid63=true;passing2=1;}const _errs169=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err143={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err143];}else {vErrors.push(err143);}errors++;}if(data57.coordinates===undefined){const err144={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err144];}else {vErrors.push(err144);}errors++;}if(data57.type!==undefined){let data69=data57.type;if(typeof data69!=='string'){const err145={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err145];}else {vErrors.push(err145);}errors++;}if(!(data69==='Polygon')){const err146={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[2].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err146];}else {vErrors.push(err146);}errors++;}}if(data57.coordinates!==undefined){let data70=data57.coordinates;if(Array.isArray(data70)){const len28=data70.length;for(let i28=0;i28<len28;i28++){let data71=data70[i28];if(Array.isArray(data71)){if(data71.length<4){const err147={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err147];}else {vErrors.push(err147);}errors++;}const len29=data71.length;for(let i29=0;i29<len29;i29++){let data72=data71[i29];if(Array.isArray(data72)){if(data72.length<2){const err148={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err148];}else {vErrors.push(err148);}errors++;}const len30=data72.length;for(let i30=0;i30<len30;i30++){let data73=data72[i30];if(!(typeof data73=='number'&&isFinite(data73))){const err149={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29+'/'+i30,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err149];}else {vErrors.push(err149);}errors++;}}}else {const err150={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28+'/'+i29,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err150];}else {vErrors.push(err150);}errors++;}}}else {const err151={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i28,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err151];}else {vErrors.push(err151);}errors++;}}}else {const err152={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err152];}else {vErrors.push(err152);}errors++;}}if(data57.bbox!==undefined){let data74=data57.bbox;if(Array.isArray(data74)){if(data74.length<4){const err153={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err153];}else {vErrors.push(err153);}errors++;}const len31=data74.length;for(let i31=0;i31<len31;i31++){let data75=data74[i31];if(!(typeof data75=='number'&&isFinite(data75))){const err154={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i31,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err154];}else {vErrors.push(err154);}errors++;}}}else {const err155={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err155];}else {vErrors.push(err155);}errors++;}}}else {const err156={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/2/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err156];}else {vErrors.push(err156);}errors++;}var _valid2=_errs169===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,2];}else {if(_valid2){valid63=true;passing2=2;}const _errs185=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err157={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err157];}else {vErrors.push(err157);}errors++;}if(data57.coordinates===undefined){const err158={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err158];}else {vErrors.push(err158);}errors++;}if(data57.type!==undefined){let data76=data57.type;if(typeof data76!=='string'){const err159={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err159];}else {vErrors.push(err159);}errors++;}if(!(data76==='MultiPoint')){const err160={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[3].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err160];}else {vErrors.push(err160);}errors++;}}if(data57.coordinates!==undefined){let data77=data57.coordinates;if(Array.isArray(data77)){const len32=data77.length;for(let i32=0;i32<len32;i32++){let data78=data77[i32];if(Array.isArray(data78)){if(data78.length<2){const err161={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err161];}else {vErrors.push(err161);}errors++;}const len33=data78.length;for(let i33=0;i33<len33;i33++){let data79=data78[i33];if(!(typeof data79=='number'&&isFinite(data79))){const err162={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32+'/'+i33,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err162];}else {vErrors.push(err162);}errors++;}}}else {const err163={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i32,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err163];}else {vErrors.push(err163);}errors++;}}}else {const err164={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err164];}else {vErrors.push(err164);}errors++;}}if(data57.bbox!==undefined){let data80=data57.bbox;if(Array.isArray(data80)){if(data80.length<4){const err165={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err165];}else {vErrors.push(err165);}errors++;}const len34=data80.length;for(let i34=0;i34<len34;i34++){let data81=data80[i34];if(!(typeof data81=='number'&&isFinite(data81))){const err166={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i34,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err166];}else {vErrors.push(err166);}errors++;}}}else {const err167={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err167];}else {vErrors.push(err167);}errors++;}}}else {const err168={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/3/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err168];}else {vErrors.push(err168);}errors++;}var _valid2=_errs185===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,3];}else {if(_valid2){valid63=true;passing2=3;}const _errs199=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err169={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err169];}else {vErrors.push(err169);}errors++;}if(data57.coordinates===undefined){const err170={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err170];}else {vErrors.push(err170);}errors++;}if(data57.type!==undefined){let data82=data57.type;if(typeof data82!=='string'){const err171={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err171];}else {vErrors.push(err171);}errors++;}if(!(data82==='MultiLineString')){const err172={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[4].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err172];}else {vErrors.push(err172);}errors++;}}if(data57.coordinates!==undefined){let data83=data57.coordinates;if(Array.isArray(data83)){const len35=data83.length;for(let i35=0;i35<len35;i35++){let data84=data83[i35];if(Array.isArray(data84)){if(data84.length<2){const err173={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err173];}else {vErrors.push(err173);}errors++;}const len36=data84.length;for(let i36=0;i36<len36;i36++){let data85=data84[i36];if(Array.isArray(data85)){if(data85.length<2){const err174={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err174];}else {vErrors.push(err174);}errors++;}const len37=data85.length;for(let i37=0;i37<len37;i37++){let data86=data85[i37];if(!(typeof data86=='number'&&isFinite(data86))){const err175={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36+'/'+i37,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err175];}else {vErrors.push(err175);}errors++;}}}else {const err176={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35+'/'+i36,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err176];}else {vErrors.push(err176);}errors++;}}}else {const err177={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i35,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err177];}else {vErrors.push(err177);}errors++;}}}else {const err178={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err178];}else {vErrors.push(err178);}errors++;}}if(data57.bbox!==undefined){let data87=data57.bbox;if(Array.isArray(data87)){if(data87.length<4){const err179={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err179];}else {vErrors.push(err179);}errors++;}const len38=data87.length;for(let i38=0;i38<len38;i38++){let data88=data87[i38];if(!(typeof data88=='number'&&isFinite(data88))){const err180={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i38,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err180];}else {vErrors.push(err180);}errors++;}}}else {const err181={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err181];}else {vErrors.push(err181);}errors++;}}}else {const err182={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/4/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err182];}else {vErrors.push(err182);}errors++;}var _valid2=_errs199===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,4];}else {if(_valid2){valid63=true;passing2=4;}const _errs215=errors;if(data57&&typeof data57=='object'&&!Array.isArray(data57)){if(data57.type===undefined){const err183={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'type'},message:"must have required property '"+'type'+"'"};if(vErrors===null){vErrors=[err183];}else {vErrors.push(err183);}errors++;}if(data57.coordinates===undefined){const err184={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/required',keyword:'required',params:{missingProperty:'coordinates'},message:"must have required property '"+'coordinates'+"'"};if(vErrors===null){vErrors=[err184];}else {vErrors.push(err184);}errors++;}if(data57.type!==undefined){let data89=data57.type;if(typeof data89!=='string'){const err185={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err185];}else {vErrors.push(err185);}errors++;}if(!(data89==='MultiPolygon')){const err186={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/type',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/type/enum',keyword:'enum',params:{allowedValues:schema15.properties.features.items.properties.geometry.oneOf[7].properties.geometries.items.oneOf[5].properties.type.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err186];}else {vErrors.push(err186);}errors++;}}if(data57.coordinates!==undefined){let data90=data57.coordinates;if(Array.isArray(data90)){const len39=data90.length;for(let i39=0;i39<len39;i39++){let data91=data90[i39];if(Array.isArray(data91)){const len40=data91.length;for(let i40=0;i40<len40;i40++){let data92=data91[i40];if(Array.isArray(data92)){if(data92.length<4){const err187={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err187];}else {vErrors.push(err187);}errors++;}const len41=data92.length;for(let i41=0;i41<len41;i41++){let data93=data92[i41];if(Array.isArray(data93)){if(data93.length<2){const err188={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/minItems',keyword:'minItems',params:{limit:2},message:'must NOT have fewer than 2 items'};if(vErrors===null){vErrors=[err188];}else {vErrors.push(err188);}errors++;}const len42=data93.length;for(let i42=0;i42<len42;i42++){let data94=data93[i42];if(!(typeof data94=='number'&&isFinite(data94))){const err189={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41+'/'+i42,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err189];}else {vErrors.push(err189);}errors++;}}}else {const err190={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40+'/'+i41,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err190];}else {vErrors.push(err190);}errors++;}}}else {const err191={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39+'/'+i40,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err191];}else {vErrors.push(err191);}errors++;}}}else {const err192={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates/'+i39,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/items/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err192];}else {vErrors.push(err192);}errors++;}}}else {const err193={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/coordinates',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/coordinates/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err193];}else {vErrors.push(err193);}errors++;}}if(data57.bbox!==undefined){let data95=data57.bbox;if(Array.isArray(data95)){if(data95.length<4){const err194={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err194];}else {vErrors.push(err194);}errors++;}const len43=data95.length;for(let i43=0;i43<len43;i43++){let data96=data95[i43];if(!(typeof data96=='number'&&isFinite(data96))){const err195={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox/'+i43,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err195];}else {vErrors.push(err195);}errors++;}}}else {const err196={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err196];}else {vErrors.push(err196);}errors++;}}}else {const err197={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf/5/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err197];}else {vErrors.push(err197);}errors++;}var _valid2=_errs215===errors;if(_valid2&&valid63){valid63=false;passing2=[passing2,5];}else {if(_valid2){valid63=true;passing2=5;}}}}}}if(!valid63){const err198={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries/'+i22,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/items/oneOf',keyword:'oneOf',params:{passingSchemas:passing2},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err198];}else {vErrors.push(err198);}errors++;}else {errors=_errs142;if(vErrors!==null){if(_errs142){vErrors.length=_errs142;}else {vErrors=null;}}}}}else {const err199={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/geometries',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/geometries/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err199];}else {vErrors.push(err199);}errors++;}}if(data16.bbox!==undefined){let data97=data16.bbox;if(Array.isArray(data97)){if(data97.length<4){const err200={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err200];}else {vErrors.push(err200);}errors++;}const len44=data97.length;for(let i44=0;i44<len44;i44++){let data98=data97[i44];if(!(typeof data98=='number'&&isFinite(data98))){const err201={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox/'+i44,schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err201];}else {vErrors.push(err201);}errors++;}}}else {const err202={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err202];}else {vErrors.push(err202);}errors++;}}}else {const err203={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf/7/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err203];}else {vErrors.push(err203);}errors++;}var _valid1=_errs135===errors;if(_valid1&&valid13){valid13=false;passing1=[passing1,7];}else {if(_valid1){valid13=true;passing1=7;}}}}}}}}if(!valid13){const err204={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/geometry',schemaPath:'geojson.schema.json/properties/features/items/properties/geometry/oneOf',keyword:'oneOf',params:{passingSchemas:passing1},message:'must match exactly one schema in oneOf'};if(vErrors===null){vErrors=[err204];}else {vErrors.push(err204);}errors++;}else {errors=_errs44;if(vErrors!==null){if(_errs44){vErrors.length=_errs44;}else {vErrors=null;}}}}if(data11.bbox!==undefined){let data99=data11.bbox;if(Array.isArray(data99)){if(data99.length<4){const err205={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err205];}else {vErrors.push(err205);}errors++;}const len45=data99.length;for(let i45=0;i45<len45;i45++){let data100=data99[i45];if(!(typeof data100=='number'&&isFinite(data100))){const err206={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox/'+i45,schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err206];}else {vErrors.push(err206);}errors++;}}}else {const err207={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1+'/bbox',schemaPath:'geojson.schema.json/properties/features/items/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err207];}else {vErrors.push(err207);}errors++;}}}else {const err208={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features/'+i1,schemaPath:'geojson.schema.json/properties/features/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err208];}else {vErrors.push(err208);}errors++;}}}else {const err209={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/features',schemaPath:'geojson.schema.json/properties/features/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err209];}else {vErrors.push(err209);}errors++;}}if(data8.bbox!==undefined){let data101=data8.bbox;if(Array.isArray(data101)){if(data101.length<4){const err210={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/minItems',keyword:'minItems',params:{limit:4},message:'must NOT have fewer than 4 items'};if(vErrors===null){vErrors=[err210];}else {vErrors.push(err210);}errors++;}const len46=data101.length;for(let i46=0;i46<len46;i46++){let data102=data101[i46];if(!(typeof data102=='number'&&isFinite(data102))){const err211={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox/'+i46,schemaPath:'geojson.schema.json/properties/bbox/items/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err211];}else {vErrors.push(err211);}errors++;}}}else {const err212={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location/bbox',schemaPath:'geojson.schema.json/properties/bbox/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err212];}else {vErrors.push(err212);}errors++;}}}else {const err213={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/fir_location',schemaPath:'geojson.schema.json/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err213];}else {vErrors.push(err213);}errors++;}}if(data6.location_indicator_atsr!==undefined){if(typeof data6.location_indicator_atsr!=='string'){const err214={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsr',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsr/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err214];}else {vErrors.push(err214);}errors++;}}if(data6.location_indicator_atsu!==undefined){if(typeof data6.location_indicator_atsu!=='string'){const err215={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/location_indicator_atsu',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/location_indicator_atsu/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err215];}else {vErrors.push(err215);}errors++;}}if(data6.max_hours_of_validity!==undefined){let data105=data6.max_hours_of_validity;if(!(typeof data105=='number'&&isFinite(data105))){const err216={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_hours_of_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_hours_of_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err216];}else {vErrors.push(err216);}errors++;}}if(data6.hours_before_validity!==undefined){let data106=data6.hours_before_validity;if(!(typeof data106=='number'&&isFinite(data106))){const err217={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/hours_before_validity',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/hours_before_validity/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err217];}else {vErrors.push(err217);}errors++;}}if(data6.movement_rounding_kt!==undefined){let data107=data6.movement_rounding_kt;if(!(typeof data107=='number'&&isFinite(data107))){const err218={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kt',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kt/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err218];}else {vErrors.push(err218);}errors++;}}if(data6.movement_rounding_kmh!==undefined){let data108=data6.movement_rounding_kmh;if(!(typeof data108=='number'&&isFinite(data108))){const err219={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_rounding_kmh',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_rounding_kmh/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err219];}else {vErrors.push(err219);}errors++;}}if(data6.level_min!==undefined){let data109=data6.level_min;if(data109&&typeof data109=='object'&&!Array.isArray(data109)){for(const key3 in data109){let data110=data109[key3];if(!(typeof data110=='number'&&isFinite(data110))){const err220={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min/'+key3.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err220];}else {vErrors.push(err220);}errors++;}}}else {const err221={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err221];}else {vErrors.push(err221);}errors++;}}if(data6.level_max!==undefined){let data111=data6.level_max;if(data111&&typeof data111=='object'&&!Array.isArray(data111)){for(const key4 in data111){let data112=data111[key4];if(!(typeof data112=='number'&&isFinite(data112))){const err222={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max/'+key4.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err222];}else {vErrors.push(err222);}errors++;}}}else {const err223={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err223];}else {vErrors.push(err223);}errors++;}}if(data6.level_rounding_FL!==undefined){let data113=data6.level_rounding_FL;if(!(typeof data113=='number'&&isFinite(data113))){const err224={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FL',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FL/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err224];}else {vErrors.push(err224);}errors++;}}if(data6.level_rounding_FT!==undefined){let data114=data6.level_rounding_FT;if(!(typeof data114=='number'&&isFinite(data114))){const err225={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_FT',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_FT/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err225];}else {vErrors.push(err225);}errors++;}}if(data6.level_rounding_M!==undefined){let data115=data6.level_rounding_M;if(!(typeof data115=='number'&&isFinite(data115))){const err226={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/level_rounding_M',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/level_rounding_M/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err226];}else {vErrors.push(err226);}errors++;}}if(data6.max_polygon_points!==undefined){let data116=data6.max_polygon_points;if(!(typeof data116=='number'&&isFinite(data116))){const err227={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/max_polygon_points',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/max_polygon_points/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err227];}else {vErrors.push(err227);}errors++;}}if(data6.movement_min!==undefined){let data117=data6.movement_min;if(data117&&typeof data117=='object'&&!Array.isArray(data117)){for(const key5 in data117){let data118=data117[key5];if(!(typeof data118=='number'&&isFinite(data118))){const err228={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min/'+key5.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err228];}else {vErrors.push(err228);}errors++;}}}else {const err229={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err229];}else {vErrors.push(err229);}errors++;}}if(data6.movement_max!==undefined){let data119=data6.movement_max;if(data119&&typeof data119=='object'&&!Array.isArray(data119)){for(const key6 in data119){let data120=data119[key6];if(!(typeof data120=='number'&&isFinite(data120))){const err230={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max/'+key6.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err230];}else {vErrors.push(err230);}errors++;}}}else {const err231={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/movement_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/movement_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err231];}else {vErrors.push(err231);}errors++;}}if(data6.phenomenon!==undefined){let data121=data6.phenomenon;if(Array.isArray(data121)){const len47=data121.length;for(let i47=0;i47<len47;i47++){let data122=data121[i47];if(data122&&typeof data122=='object'&&!Array.isArray(data122)){if(data122.code===undefined){const err232={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'code'},message:"must have required property '"+'code'+"'"};if(vErrors===null){vErrors=[err232];}else {vErrors.push(err232);}errors++;}if(data122.description===undefined){const err233={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/required',keyword:'required',params:{missingProperty:'description'},message:"must have required property '"+'description'+"'"};if(vErrors===null){vErrors=[err233];}else {vErrors.push(err233);}errors++;}if(data122.code!==undefined){if(typeof data122.code!=='string'){const err234={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/code',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/code/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err234];}else {vErrors.push(err234);}errors++;}}if(data122.description!==undefined){if(typeof data122.description!=='string'){const err235={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47+'/description',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/properties/description/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err235];}else {vErrors.push(err235);}errors++;}}}else {const err236={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon/'+i47,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err236];}else {vErrors.push(err236);}errors++;}}}else {const err237={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/phenomenon',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/phenomenon/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err237];}else {vErrors.push(err237);}errors++;}}if(data6.units!==undefined){let data125=data6.units;if(Array.isArray(data125)){if(data125.length<1){const err238={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err238];}else {vErrors.push(err238);}errors++;}const len48=data125.length;for(let i48=0;i48<len48;i48++){let data126=data125[i48];if(data126&&typeof data126=='object'&&!Array.isArray(data126)){if(data126.unit_type===undefined){const err239={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'unit_type'},message:"must have required property '"+'unit_type'+"'"};if(vErrors===null){vErrors=[err239];}else {vErrors.push(err239);}errors++;}if(data126.allowed_units===undefined){const err240={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/required',keyword:'required',params:{missingProperty:'allowed_units'},message:"must have required property '"+'allowed_units'+"'"};if(vErrors===null){vErrors=[err240];}else {vErrors.push(err240);}errors++;}for(const key7 in data126){if(!(key7==='unit_type'||key7==='allowed_units')){const err241={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key7},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err241];}else {vErrors.push(err241);}errors++;}}if(data126.unit_type!==undefined){if(typeof data126.unit_type!=='string'){const err242={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/unit_type',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/unit_type/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err242];}else {vErrors.push(err242);}errors++;}}if(data126.allowed_units!==undefined){let data128=data126.allowed_units;if(Array.isArray(data128)){if(data128.length<1){const err243={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/minItems',keyword:'minItems',params:{limit:1},message:'must NOT have fewer than 1 items'};if(vErrors===null){vErrors=[err243];}else {vErrors.push(err243);}errors++;}const len49=data128.length;for(let i49=0;i49<len49;i49++){if(typeof data128[i49]!=='string'){const err244={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units/'+i49,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/items/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err244];}else {vErrors.push(err244);}errors++;}}}else {const err245={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48+'/allowed_units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/properties/allowed_units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err245];}else {vErrors.push(err245);}errors++;}}}else {const err246={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units/'+i48,schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err246];}else {vErrors.push(err246);}errors++;}}}else {const err247={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/units',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/units/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err247];}else {vErrors.push(err247);}errors++;}}if(data6.cloud_level_min!==undefined){let data130=data6.cloud_level_min;if(data130&&typeof data130=='object'&&!Array.isArray(data130)){for(const key8 in data130){let data131=data130[key8];if(!(typeof data131=='number'&&isFinite(data131))){const err248={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min/'+key8.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err248];}else {vErrors.push(err248);}errors++;}}}else {const err249={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err249];}else {vErrors.push(err249);}errors++;}}if(data6.cloud_level_max!==undefined){let data132=data6.cloud_level_max;if(data132&&typeof data132=='object'&&!Array.isArray(data132)){for(const key9 in data132){let data133=data132[key9];if(!(typeof data133=='number'&&isFinite(data133))){const err250={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max/'+key9.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err250];}else {vErrors.push(err250);}errors++;}}}else {const err251={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err251];}else {vErrors.push(err251);}errors++;}}if(data6.cloud_lower_level_min!==undefined){let data134=data6.cloud_lower_level_min;if(data134&&typeof data134=='object'&&!Array.isArray(data134)){for(const key10 in data134){let data135=data134[key10];if(!(typeof data135=='number'&&isFinite(data135))){const err252={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min/'+key10.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err252];}else {vErrors.push(err252);}errors++;}}}else {const err253={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err253];}else {vErrors.push(err253);}errors++;}}if(data6.cloud_lower_level_max!==undefined){let data136=data6.cloud_lower_level_max;if(data136&&typeof data136=='object'&&!Array.isArray(data136)){for(const key11 in data136){let data137=data136[key11];if(!(typeof data137=='number'&&isFinite(data137))){const err254={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max/'+key11.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err254];}else {vErrors.push(err254);}errors++;}}}else {const err255={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_lower_level_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_lower_level_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err255];}else {vErrors.push(err255);}errors++;}}if(data6.cloud_level_rounding_ft!==undefined){let data138=data6.cloud_level_rounding_ft;if(!(typeof data138=='number'&&isFinite(data138))){const err256={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_ft',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_ft/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err256];}else {vErrors.push(err256);}errors++;}}if(data6.cloud_level_rounding_m_below!==undefined){let data139=data6.cloud_level_rounding_m_below;if(!(typeof data139=='number'&&isFinite(data139))){const err257={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err257];}else {vErrors.push(err257);}errors++;}}if(data6.cloud_level_rounding_m_above!==undefined){let data140=data6.cloud_level_rounding_m_above;if(!(typeof data140=='number'&&isFinite(data140))){const err258={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/cloud_level_rounding_m_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/cloud_level_rounding_m_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err258];}else {vErrors.push(err258);}errors++;}}if(data6.wind_direction_rounding!==undefined){let data141=data6.wind_direction_rounding;if(!(typeof data141=='number'&&isFinite(data141))){const err259={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_direction_rounding',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_direction_rounding/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err259];}else {vErrors.push(err259);}errors++;}}if(data6.wind_speed_max!==undefined){let data142=data6.wind_speed_max;if(data142&&typeof data142=='object'&&!Array.isArray(data142)){for(const key12 in data142){let data143=data142[key12];if(!(typeof data143=='number'&&isFinite(data143))){const err260={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max/'+key12.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err260];}else {vErrors.push(err260);}errors++;}}}else {const err261={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_max/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err261];}else {vErrors.push(err261);}errors++;}}if(data6.wind_speed_min!==undefined){let data144=data6.wind_speed_min;if(data144&&typeof data144=='object'&&!Array.isArray(data144)){for(const key13 in data144){let data145=data144[key13];if(!(typeof data145=='number'&&isFinite(data145))){const err262={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min/'+key13.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/additionalProperties/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err262];}else {vErrors.push(err262);}errors++;}}}else {const err263={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/wind_speed_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/wind_speed_min/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err263];}else {vErrors.push(err263);}errors++;}}if(data6.visibility_max!==undefined){let data146=data6.visibility_max;if(!(typeof data146=='number'&&isFinite(data146))){const err264={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_max',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_max/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err264];}else {vErrors.push(err264);}errors++;}}if(data6.visibility_min!==undefined){let data147=data6.visibility_min;if(!(typeof data147=='number'&&isFinite(data147))){const err265={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_min',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_min/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err265];}else {vErrors.push(err265);}errors++;}}if(data6.visibility_rounding_below!==undefined){let data148=data6.visibility_rounding_below;if(!(typeof data148=='number'&&isFinite(data148))){const err266={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_below',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_below/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err266];}else {vErrors.push(err266);}errors++;}}if(data6.visibility_rounding_above!==undefined){let data149=data6.visibility_rounding_above;if(!(typeof data149=='number'&&isFinite(data149))){const err267={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1')+'/visibility_rounding_above',schemaPath:'#/properties/fir_areas/patternProperties//$merge/properties/visibility_rounding_above/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err267];}else {vErrors.push(err267);}errors++;}}}else {const err268={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err268];}else {vErrors.push(err268);}errors++;}var valid4=_errs17===errors;if(!valid4){const err269={instancePath:instancePath+'/fir_areas/'+key1.replace(/~/g,'~0').replace(/\//g,'~1'),schemaPath:'#/properties/fir_areas/patternProperties//$merge',keyword:'$merge',params:{},message:'must pass "$merge" keyword validation'};if(vErrors===null){vErrors=[err269];}else {vErrors.push(err269);}errors++;}}}}else {const err270={instancePath:instancePath+'/fir_areas',schemaPath:'#/properties/fir_areas/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err270];}else {vErrors.push(err270);}errors++;}}if(data.mapPreset!==undefined){let data150=data.mapPreset;if(data150&&typeof data150=='object'&&!Array.isArray(data150)){if(data150.layers!==undefined){let data151=data150.layers;if(Array.isArray(data151)){const len50=data151.length;for(let i50=0;i50<len50;i50++){let data152=data151[i50];if(data152&&typeof data152=='object'&&!Array.isArray(data152)){if(data152.id===undefined){const err271={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'id'},message:"must have required property '"+'id'+"'"};if(vErrors===null){vErrors=[err271];}else {vErrors.push(err271);}errors++;}if(data152.name===undefined){const err272={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'name'},message:"must have required property '"+'name'+"'"};if(vErrors===null){vErrors=[err272];}else {vErrors.push(err272);}errors++;}if(data152.layerType===undefined){const err273={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/required',keyword:'required',params:{missingProperty:'layerType'},message:"must have required property '"+'layerType'+"'"};if(vErrors===null){vErrors=[err273];}else {vErrors.push(err273);}errors++;}if(data152.id!==undefined){if(typeof data152.id!=='string'){const err274={instancePath:instancePath+'/mapPreset/layers/'+i50+'/id',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/id/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err274];}else {vErrors.push(err274);}errors++;}}if(data152.name!==undefined){if(typeof data152.name!=='string'){const err275={instancePath:instancePath+'/mapPreset/layers/'+i50+'/name',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/name/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err275];}else {vErrors.push(err275);}errors++;}}if(data152.layerType!==undefined){let data155=data152.layerType;if(typeof data155!=='string'){const err276={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err276];}else {vErrors.push(err276);}errors++;}if(!(data155==='overLayer'||data155==='baseLayer'||data155==='mapLayer')){const err277={instancePath:instancePath+'/mapPreset/layers/'+i50+'/layerType',schemaPath:'#/properties/mapPreset/properties/layers/items/properties/layerType/enum',keyword:'enum',params:{allowedValues:schema17.properties.mapPreset.properties.layers.items.properties.layerType.enum},message:'must be equal to one of the allowed values'};if(vErrors===null){vErrors=[err277];}else {vErrors.push(err277);}errors++;}}}else {const err278={instancePath:instancePath+'/mapPreset/layers/'+i50,schemaPath:'#/properties/mapPreset/properties/layers/items/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err278];}else {vErrors.push(err278);}errors++;}}}else {const err279={instancePath:instancePath+'/mapPreset/layers',schemaPath:'#/properties/mapPreset/properties/layers/type',keyword:'type',params:{type:'array'},message:'must be array'};if(vErrors===null){vErrors=[err279];}else {vErrors.push(err279);}errors++;}}if(data150.proj!==undefined){let data156=data150.proj;if(data156&&typeof data156=='object'&&!Array.isArray(data156)){if(data156.bbox===undefined){const err280={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'bbox'},message:"must have required property '"+'bbox'+"'"};if(vErrors===null){vErrors=[err280];}else {vErrors.push(err280);}errors++;}if(data156.srs===undefined){const err281={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/required',keyword:'required',params:{missingProperty:'srs'},message:"must have required property '"+'srs'+"'"};if(vErrors===null){vErrors=[err281];}else {vErrors.push(err281);}errors++;}for(const key14 in data156){if(!(key14==='bbox'||key14==='srs')){const err282={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key14},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err282];}else {vErrors.push(err282);}errors++;}}if(data156.bbox!==undefined){let data157=data156.bbox;if(data157&&typeof data157=='object'&&!Array.isArray(data157)){if(data157.left===undefined){const err283={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'left'},message:"must have required property '"+'left'+"'"};if(vErrors===null){vErrors=[err283];}else {vErrors.push(err283);}errors++;}if(data157.right===undefined){const err284={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'right'},message:"must have required property '"+'right'+"'"};if(vErrors===null){vErrors=[err284];}else {vErrors.push(err284);}errors++;}if(data157.top===undefined){const err285={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'top'},message:"must have required property '"+'top'+"'"};if(vErrors===null){vErrors=[err285];}else {vErrors.push(err285);}errors++;}if(data157.bottom===undefined){const err286={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/required',keyword:'required',params:{missingProperty:'bottom'},message:"must have required property '"+'bottom'+"'"};if(vErrors===null){vErrors=[err286];}else {vErrors.push(err286);}errors++;}for(const key15 in data157){if(!(key15==='left'||key15==='right'||key15==='top'||key15==='bottom')){const err287={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/additionalProperties',keyword:'additionalProperties',params:{additionalProperty:key15},message:'must NOT have additional properties'};if(vErrors===null){vErrors=[err287];}else {vErrors.push(err287);}errors++;}}if(data157.left!==undefined){let data158=data157.left;if(!(typeof data158=='number'&&isFinite(data158))){const err288={instancePath:instancePath+'/mapPreset/proj/bbox/left',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/left/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err288];}else {vErrors.push(err288);}errors++;}}if(data157.right!==undefined){let data159=data157.right;if(!(typeof data159=='number'&&isFinite(data159))){const err289={instancePath:instancePath+'/mapPreset/proj/bbox/right',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/right/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err289];}else {vErrors.push(err289);}errors++;}}if(data157.top!==undefined){let data160=data157.top;if(!(typeof data160=='number'&&isFinite(data160))){const err290={instancePath:instancePath+'/mapPreset/proj/bbox/top',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/top/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err290];}else {vErrors.push(err290);}errors++;}}if(data157.bottom!==undefined){let data161=data157.bottom;if(!(typeof data161=='number'&&isFinite(data161))){const err291={instancePath:instancePath+'/mapPreset/proj/bbox/bottom',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/properties/bottom/type',keyword:'type',params:{type:'number'},message:'must be number'};if(vErrors===null){vErrors=[err291];}else {vErrors.push(err291);}errors++;}}}else {const err292={instancePath:instancePath+'/mapPreset/proj/bbox',schemaPath:'#/properties/mapPreset/properties/proj/properties/bbox/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err292];}else {vErrors.push(err292);}errors++;}}if(data156.srs!==undefined){if(typeof data156.srs!=='string'){const err293={instancePath:instancePath+'/mapPreset/proj/srs',schemaPath:'#/properties/mapPreset/properties/proj/properties/srs/type',keyword:'type',params:{type:'string'},message:'must be string'};if(vErrors===null){vErrors=[err293];}else {vErrors.push(err293);}errors++;}}}else {const err294={instancePath:instancePath+'/mapPreset/proj',schemaPath:'#/properties/mapPreset/properties/proj/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err294];}else {vErrors.push(err294);}errors++;}}}else {const err295={instancePath:instancePath+'/mapPreset',schemaPath:'#/properties/mapPreset/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err295];}else {vErrors.push(err295);}errors++;}}}else {const err296={instancePath,schemaPath:'#/type',keyword:'type',params:{type:'object'},message:'must be object'};if(vErrors===null){vErrors=[err296];}else {vErrors.push(err296);}errors++;}validate16.errors=vErrors;return errors===0;}
9987
10372
 
9988
10373
  const parseErrors = errors => errors.reduce((list, error) => {
9989
10374
  // filter out merge errors, as they are not very helpful
@@ -10003,22 +10388,22 @@ const validateAirmet = airmetConfig => {
10003
10388
  return validate16(airmetConfig) || parseErrors(validate16.errors);
10004
10389
  };
10005
10390
 
10006
- /* *
10007
- * Licensed under the Apache License, Version 2.0 (the "License");
10008
- * you may not use this file except in compliance with the License.
10009
- * You may obtain a copy of the License at
10010
- *
10011
- * http://www.apache.org/licenses/LICENSE-2.0
10012
- *
10013
- * Unless required by applicable law or agreed to in writing, software
10014
- * distributed under the License is distributed on an "AS IS" BASIS,
10015
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10016
- * See the License for the specific language governing permissions and
10017
- * limitations under the License.
10018
- *
10019
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10020
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
10021
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
10391
+ /* *
10392
+ * Licensed under the Apache License, Version 2.0 (the "License");
10393
+ * you may not use this file except in compliance with the License.
10394
+ * You may obtain a copy of the License at
10395
+ *
10396
+ * http://www.apache.org/licenses/LICENSE-2.0
10397
+ *
10398
+ * Unless required by applicable law or agreed to in writing, software
10399
+ * distributed under the License is distributed on an "AS IS" BASIS,
10400
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10401
+ * See the License for the specific language governing permissions and
10402
+ * limitations under the License.
10403
+ *
10404
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10405
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
10406
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
10022
10407
  * */
10023
10408
  const sigmetConfig = sigmetDefaultConfig;
10024
10409
  const airmetConfig = airmetDefaultConfig;
@@ -10062,6 +10447,7 @@ const SigmetForm = ({
10062
10447
  api
10063
10448
  } = useApiContext();
10064
10449
  const firBorderAtStart = _initialSigmet ? _initialSigmet.locationIndicatorATSR : _productConfig.active_firs[0];
10450
+ const [phenomenaList, setPhenomenaList] = React__default.useState(getDefaultPhenomena(_productConfig).phenomena);
10065
10451
  const {
10066
10452
  geoJSON: startGeoJSON,
10067
10453
  setGeoJSON: setStartGeoJSON,
@@ -10170,6 +10556,9 @@ const SigmetForm = ({
10170
10556
  const onChangeForm = () => {
10171
10557
  updateTac(watch);
10172
10558
  };
10559
+ React__default.useEffect(() => {
10560
+ updateTac(watch);
10561
+ }, [_initialSigmet, updateTac, watch]);
10173
10562
  React__default.useEffect(() => {
10174
10563
  const isInDrawMode = activeStartTool !== '' || activeEndTool !== '';
10175
10564
  setDialogActionsDisabled && setDialogActionsDisabled(isInDrawMode);
@@ -10184,7 +10573,7 @@ const SigmetForm = ({
10184
10573
  const {
10185
10574
  isShortTest
10186
10575
  } = useShortTestHelpers();
10187
- const onChangeFir = event => {
10576
+ const onChangeFir = (event, newPhenomenaList) => {
10188
10577
  const newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
10189
10578
  const newFirGeoJSON = addFeatureProperties(getFir(_productConfig, newFIRValue), featurePropsFIR);
10190
10579
  // delete shape
@@ -10196,6 +10585,8 @@ const SigmetForm = ({
10196
10585
  // update tool buttons with new fir geoJSON
10197
10586
  setStartEditModes(updateDrawToolsWithFir(startEditModes, newFirGeoJSON));
10198
10587
  setEndEditModes(updateDrawToolsWithFir(endEditModes, newFirGeoJSON));
10588
+ // update available phenomena for the FIR
10589
+ setPhenomenaList(newPhenomenaList);
10199
10590
  };
10200
10591
  const renderForm = () => jsxs(Grid, Object.assign({
10201
10592
  container: true,
@@ -10225,6 +10616,8 @@ const SigmetForm = ({
10225
10616
  onChange: onChangeForm
10226
10617
  }), !_isCancelSigmet && jsx(Phenomenon, {
10227
10618
  productType: "sigmet",
10619
+ productConfig: _productConfig,
10620
+ phenomenaList: phenomenaList,
10228
10621
  isDisabled: isDisabled,
10229
10622
  isReadOnly: isReadOnly,
10230
10623
  onChange: onChangeForm
@@ -10389,6 +10782,7 @@ const AirmetForm = ({
10389
10782
  productConfig: _productConfig = airmetConfig,
10390
10783
  product
10391
10784
  }) => {
10785
+ const [phenomenaList, setPhenomenaList] = React__default.useState(getDefaultPhenomena(_productConfig).phenomena);
10392
10786
  const {
10393
10787
  api
10394
10788
  } = useApiContext();
@@ -10456,6 +10850,9 @@ const AirmetForm = ({
10456
10850
  const onChangeForm = () => {
10457
10851
  updateTac(watch);
10458
10852
  };
10853
+ React__default.useEffect(() => {
10854
+ updateTac(watch);
10855
+ }, [_initialAirmet, updateTac, watch]);
10459
10856
  React__default.useEffect(() => {
10460
10857
  const isInDrawMode = activeStartTool !== '';
10461
10858
  if (!isReadOnly && isInDrawMode !== isDisabled) {
@@ -10468,7 +10865,7 @@ const AirmetForm = ({
10468
10865
  hasLevels,
10469
10866
  hasCloudLevels
10470
10867
  } = useConditionalFields();
10471
- const onChangeFir = event => {
10868
+ const onChangeFir = (event, newPhenomenaList) => {
10472
10869
  const newFIRValue = event === null || event === void 0 ? void 0 : event.target.value;
10473
10870
  const newFirGeoJSON = addFeatureProperties(getFir(_productConfig, newFIRValue), featurePropsFIR);
10474
10871
  // delete shape
@@ -10477,6 +10874,8 @@ const AirmetForm = ({
10477
10874
  setStartGeoJSONIntersectionBounds(newFirGeoJSON);
10478
10875
  // update tool buttons with new fir geoJSON
10479
10876
  setStartEditModes(updateDrawToolsWithFir(startEditModes, newFirGeoJSON));
10877
+ // update available phenomena for the FIR
10878
+ setPhenomenaList(newPhenomenaList);
10480
10879
  // trigger validation for airmet specific fields that depend on FIR config
10481
10880
  const fieldnames = ['windDirection', 'windSpeed', 'visibilityValue', 'cloudLevel.value', 'cloudLowerLevel.value'];
10482
10881
  triggerValidations(fieldnames, getValues, trigger);
@@ -10509,6 +10908,8 @@ const AirmetForm = ({
10509
10908
  onChange: onChangeForm
10510
10909
  }), !_isCancelAirmet && jsx(Phenomenon, {
10511
10910
  productType: "airmet",
10911
+ productConfig: _productConfig,
10912
+ phenomenaList: phenomenaList,
10512
10913
  isDisabled: isDisabled,
10513
10914
  isReadOnly: isReadOnly,
10514
10915
  onChange: onChangeForm
@@ -10798,12 +11199,6 @@ const getStatusTagList = (product, cancelsSeqId) => {
10798
11199
  }
10799
11200
  });
10800
11201
  };
10801
- const getPhenomenon = (productType, phenomenon) => {
10802
- if (productType === 'sigmet') {
10803
- return SigmetPhenomena[phenomenon];
10804
- }
10805
- return AirmetPhenomena[phenomenon];
10806
- };
10807
11202
  const getCancelSeqId = product => {
10808
11203
  if (isInstanceOfCancelSigmet(product)) {
10809
11204
  return product.cancelsSigmetSequenceId;
@@ -10893,7 +11288,8 @@ const listRowStyles = {
10893
11288
  };
10894
11289
  const ProductListRow = ({
10895
11290
  product,
10896
- productType
11291
+ productType,
11292
+ productConfig
10897
11293
  }) => {
10898
11294
  const {
10899
11295
  t
@@ -10923,6 +11319,7 @@ const ProductListRow = ({
10923
11319
  // eslint-disable-next-line react-hooks/exhaustive-deps
10924
11320
  }, [product, apiCall]);
10925
11321
  const cancelsSeqId = isInstanceOfCancelSigmetOrAirmet(product) ? getCancelSeqId(product) : null;
11322
+ const fir = product.firName || '';
10926
11323
  const phenomenon = isInstanceOfSigmetOrAirmet(product) && product.phenomenon ? product.phenomenon : null;
10927
11324
  const validTimeFormat = dateUtils.dateToString(dateUtils.utc(product.validDateStart), dateUtils.DATE_FORMAT_YEAR) === dateUtils.dateToString(dateUtils.utc(product.validDateEnd), dateUtils.DATE_FORMAT_YEAR) ? dateUtils.DATE_FORMAT_HOURS : dateUtils.DATE_FORMAT_NAME_OF_MONTH;
10928
11325
  const validTime = formatValidTime(product.validDateStart, product.validDateEnd, validTimeFormat);
@@ -10972,7 +11369,7 @@ const ProductListRow = ({
10972
11369
  children: [phenomenon !== null && jsx(ProductListRowHeader, {
10973
11370
  title: productType.toUpperCase()
10974
11371
  }), jsx(CustomTooltip, Object.assign({
10975
- title: phenomenon !== null ? getPhenomenon(productType, phenomenon) : '',
11372
+ title: phenomenon !== null ? String(getPhenomenon(fir, phenomenon, productConfig)) : '',
10976
11373
  placement: "bottom-start"
10977
11374
  }, {
10978
11375
  children: jsx(Typography, Object.assign({
@@ -11068,6 +11465,7 @@ const ProductListRow = ({
11068
11465
  const ProductList = ({
11069
11466
  productType,
11070
11467
  productList,
11468
+ productConfig,
11071
11469
  isLoading,
11072
11470
  error,
11073
11471
  onClickProductRow,
@@ -11127,7 +11525,7 @@ const ProductList = ({
11127
11525
  containerType: 'inline-size'
11128
11526
  }
11129
11527
  }, {
11130
- children: productList.map((productListItem, index) => {
11528
+ children: productList.map(productListItem => {
11131
11529
  const product = productType === 'sigmet' ? productListItem[productType] : productListItem[productType];
11132
11530
  return jsx(ListItemButton, Object.assign({
11133
11531
  "data-testid": "productListItem",
@@ -11140,9 +11538,10 @@ const ProductList = ({
11140
11538
  }, {
11141
11539
  children: jsx(ProductListRow, {
11142
11540
  product: product,
11143
- productType: productType
11541
+ productType: productType,
11542
+ productConfig: productConfig
11144
11543
  })
11145
- }), product.sequence && product.issueDate ? `${product.sequence}-${product.issueDate}` : `draft-${index}`);
11544
+ }), product.uuid);
11146
11545
  })
11147
11546
  }))]
11148
11547
  }))]
@@ -11191,7 +11590,7 @@ const CancelSigmetVolcanicMovements = ({
11191
11590
  };
11192
11591
 
11193
11592
  const isVAPhenomenon = (product, action) => {
11194
- return action === 'CANCELLED' && product !== null && !isInstanceOfCancelSigmetOrAirmet(product) && product.phenomenon === 'VA_CLD';
11593
+ return action === ProductAction.CANCEL && product !== null && !isInstanceOfCancelSigmetOrAirmet(product) && product.phenomenon === 'VA_CLD';
11195
11594
  };
11196
11595
  const prepareCancelSigmet = (sigmet, movement) => {
11197
11596
  // If movement UNKNOWN, don't send to BE
@@ -11205,6 +11604,7 @@ const prepareCancelSigmet = (sigmet, movement) => {
11205
11604
  const ProductFormDialogContent = ({
11206
11605
  isOpen,
11207
11606
  toggleDialogStatus,
11607
+ onRenewClick,
11208
11608
  mode,
11209
11609
  productType,
11210
11610
  productConfig,
@@ -11262,7 +11662,7 @@ const ProductFormDialogContent = ({
11262
11662
  description: getConfirmationDialogContent(action, productType),
11263
11663
  confirmLabel: getConfirmationDialogButtonLabel(action, productType),
11264
11664
  cancelLabel: getConfirmationDialogCancelLabel(action),
11265
- catchOnCancel: action === 'CLOSED',
11665
+ catchOnCancel: action === ProductAction.CLOSE,
11266
11666
  content: isVAPhenomenon(product, action) && !isShortTest() ? jsx(CancelSigmetVolcanicMovements, {
11267
11667
  sigmet: product,
11268
11668
  productConfig: productConfig
@@ -11270,7 +11670,7 @@ const ProductFormDialogContent = ({
11270
11670
  });
11271
11671
  const onProductButtonPress = action => {
11272
11672
  switch (action) {
11273
- case 'CLOSED':
11673
+ case ProductAction.CLOSE:
11274
11674
  if (mode === 'view' || !isDirty) {
11275
11675
  onToggleDialog(false);
11276
11676
  } else {
@@ -11287,54 +11687,57 @@ const ProductFormDialogContent = ({
11287
11687
  });
11288
11688
  }
11289
11689
  break;
11290
- case 'CANCELLED':
11690
+ case ProductAction.CANCEL:
11291
11691
  showConfirmDialog(action).then(() => {
11292
11692
  // if volcanic sigmet - add to which FIR it's moving
11293
11693
  if (isVAPhenomenon(product, action)) {
11294
- postProduct(prepareCancelSigmet(product, watch('vaSigmetMoveToFIR')), action);
11694
+ postProduct(prepareCancelSigmet(product, watch('vaSigmetMoveToFIR')), 'CANCELLED');
11295
11695
  } else {
11296
- postProduct(product, action);
11696
+ postProduct(product, 'CANCELLED');
11297
11697
  }
11298
11698
  });
11299
11699
  break;
11300
- case 'DISCARDED':
11700
+ case ProductAction.DISCARD:
11301
11701
  showConfirmDialog(action).then(() => {
11302
11702
  // If we're discarding a new SIGMET/AIRMET - just close the dialog
11303
- if (mode === 'new') {
11703
+ if (mode === 'new' || !(product === null || product === void 0 ? void 0 : product.uuid)) {
11304
11704
  onToggleDialog(false);
11305
11705
  } else {
11306
11706
  // If we're discarding an existing SIGMET/AIRMET - make call to BE
11307
- postProduct(product, action);
11707
+ postProduct(product, 'DISCARDED');
11308
11708
  }
11309
11709
  });
11310
11710
  break;
11711
+ case ProductAction.RENEW:
11712
+ onRenewClick();
11713
+ break;
11311
11714
  default:
11312
- toggleIsDraft(action === 'DRAFT');
11715
+ toggleIsDraft(action === ProductAction.SAVE);
11313
11716
  // validate form
11314
11717
  handleSubmit(formValues => {
11315
- if (action === 'DRAFT') {
11718
+ if (action === ProductAction.SAVE) {
11316
11719
  // NO MODAL, SAVE DIRECTLY
11317
- postProduct(formValues, action);
11720
+ postProduct(formValues, 'DRAFT');
11318
11721
  } else {
11319
11722
  // YES MODAL
11320
11723
  showConfirmDialog(action).then(() => {
11321
- postProduct(formValues, action);
11724
+ postProduct(formValues, 'PUBLISHED');
11322
11725
  });
11323
11726
  }
11324
11727
  })();
11325
11728
  break;
11326
11729
  }
11327
11730
  };
11328
- const title = getDialogtitle(product, productType);
11731
+ const title = getDialogtitle(product, productType, productConfig);
11329
11732
  return jsxs(ContentDialog, Object.assign({
11330
11733
  open: isOpen,
11331
- toggleDialogStatus: () => onProductButtonPress('CLOSED'),
11734
+ toggleDialogStatus: () => onProductButtonPress(ProductAction.CLOSE),
11332
11735
  "data-testid": "productform-dialog",
11333
11736
  title: title,
11334
11737
  fullWidth: true,
11335
11738
  maxWidth: "xl",
11336
11739
  disableEscapeKeyDown: true,
11337
- onClose: () => onProductButtonPress('CLOSED'),
11740
+ onClose: () => onProductButtonPress(ProductAction.CLOSE),
11338
11741
  alertBanner: errorStoreMessage ? jsx(AlertBanner, {
11339
11742
  severity: "error",
11340
11743
  title: "An error has occurred while saving, please try again",
@@ -11343,6 +11746,7 @@ const ProductFormDialogContent = ({
11343
11746
  options: getProductFormLifecycleButtons({
11344
11747
  canBe: productCanBe,
11345
11748
  onButtonPress: onProductButtonPress,
11749
+ productType,
11346
11750
  areActionsDisabled: dialogActionsDisabled
11347
11751
  }),
11348
11752
  style: {
@@ -11411,6 +11815,7 @@ const ProductFormDialog = ({
11411
11815
  isOpen,
11412
11816
  productType,
11413
11817
  toggleDialogStatus,
11818
+ handleRenewProductClick,
11414
11819
  productListItem: _productListItem = null,
11415
11820
  productConfig
11416
11821
  }) => {
@@ -11425,6 +11830,7 @@ const ProductFormDialog = ({
11425
11830
  return jsx(Wrapper, {
11426
11831
  isOpen: isOpen,
11427
11832
  toggleDialogStatus: toggleDialogStatus,
11833
+ onRenewClick: () => handleRenewProductClick(_productListItem),
11428
11834
  mode: mode,
11429
11835
  productCanBe: productCanBe,
11430
11836
  product: product,
@@ -11520,15 +11926,38 @@ const useProductApi = (productType, productConfig) => {
11520
11926
  fetchNewData
11521
11927
  });
11522
11928
  };
11929
+ const renewProduct = (oldProduct, productConfig) => Object.assign(Object.assign({}, oldProduct), {
11930
+ validDateStart: oldProduct.validDateEnd,
11931
+ validDateEnd: getDefaultValidUntilValue(productConfig, oldProduct.phenomenon, oldProduct.locationIndicatorATSR, oldProduct.validDateEnd),
11932
+ status: 'DRAFT',
11933
+ uuid: undefined,
11934
+ sequence: '-1'
11935
+ });
11936
+ const renewAirmet = (oldAirmet, productConfig) => {
11937
+ const airmet = oldAirmet.airmet;
11938
+ return Object.assign(Object.assign({}, oldAirmet), {
11939
+ uuid: undefined,
11940
+ canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
11941
+ airmet: renewProduct(airmet, productConfig)
11942
+ });
11943
+ };
11944
+ const renewSigmet = (oldSigmet, productConfig) => {
11945
+ const sigmet = oldSigmet.sigmet;
11946
+ return Object.assign(Object.assign({}, oldSigmet), {
11947
+ uuid: undefined,
11948
+ canbe: ['DRAFTED', 'DISCARDED', 'PUBLISHED'],
11949
+ sigmet: renewProduct(sigmet, productConfig)
11950
+ });
11951
+ };
11523
11952
 
11524
- /**
11525
- * Shows the list of Sigmets or Airmets and allows to create, edit and view Sigmets/Airmets.
11526
- * Needs to be wrapped in the ApiProvider.
11527
- * Pass in either 'sigmet' or 'airmet' as prop to determine the mode
11528
- * @param {string} productType productType: string - either 'sigmet' or 'airmet'. Determines mode in which wrapper is loaded
11529
- *
11530
- * @example
11531
- * ```<ApiProvider baseURL="http://test.com" appURL="http://app.com" auth={auth} onSetAuth={onSetAuth} createApi={api.createApi} authTokenURL="url/tokenrefresh"> <MetInfoWrapper productType="sigmet"/> </ApiProvider>```
11953
+ /**
11954
+ * Shows the list of Sigmets or Airmets and allows to create, edit and view Sigmets/Airmets.
11955
+ * Needs to be wrapped in the ApiProvider.
11956
+ * Pass in either 'sigmet' or 'airmet' as prop to determine the mode
11957
+ * @param {string} productType productType: string - either 'sigmet' or 'airmet'. Determines mode in which wrapper is loaded
11958
+ *
11959
+ * @example
11960
+ * ```<ApiProvider baseURL="http://test.com" appURL="http://app.com" auth={auth} onSetAuth={onSetAuth} createApi={api.createApi} authTokenURL="url/tokenrefresh"> <MetInfoWrapper productType="sigmet"/> </ApiProvider>```
11532
11961
  */
11533
11962
  const MetInfoWrapper = ({
11534
11963
  productType,
@@ -11541,10 +11970,10 @@ const MetInfoWrapper = ({
11541
11970
  fetchNewData: fetchNewProductList
11542
11971
  } = useProductApi(productType, productConfig);
11543
11972
  const [isFormDialogOpen, setIsFormDialogOpen] = React__default.useState(false);
11544
- const [selectedProduct, setSelectedProduct] = React__default.useState(null);
11973
+ const [selectedProduct, setSelectedProduct] = React__default.useState();
11545
11974
  usePoller([productList, errorList], fetchNewProductList, 60000);
11546
11975
  React__default.useEffect(() => {
11547
- if (selectedProduct) {
11976
+ if (selectedProduct && !isFormDialogOpen) {
11548
11977
  toggleDialogOpen();
11549
11978
  }
11550
11979
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -11564,9 +11993,16 @@ const MetInfoWrapper = ({
11564
11993
  }
11565
11994
  };
11566
11995
  const handleNewProductClick = () => {
11567
- setSelectedProduct(null);
11996
+ setSelectedProduct(undefined);
11568
11997
  toggleDialogOpen();
11569
11998
  };
11999
+ const handleRenewProductClick = oldProduct => {
12000
+ if (productType === 'sigmet') {
12001
+ setSelectedProduct(renewSigmet(oldProduct, productConfig));
12002
+ } else {
12003
+ setSelectedProduct(renewAirmet(oldProduct, productConfig));
12004
+ }
12005
+ };
11570
12006
  return jsxs(Box$1, Object.assign({
11571
12007
  "data-testid": "sigmetAirmetComponent",
11572
12008
  sx: {
@@ -11579,6 +12015,7 @@ const MetInfoWrapper = ({
11579
12015
  "data-testid": "sigmetAirmetList",
11580
12016
  productList: productList,
11581
12017
  productType: productType,
12018
+ productConfig: productConfig,
11582
12019
  isLoading: isLoadingList,
11583
12020
  error: errorList,
11584
12021
  onClickProductRow: handleProductRowClick,
@@ -11588,6 +12025,7 @@ const MetInfoWrapper = ({
11588
12025
  productConfig: productConfig,
11589
12026
  isOpen: isFormDialogOpen,
11590
12027
  toggleDialogStatus: toggleDialogOpen,
12028
+ handleRenewProductClick: handleRenewProductClick,
11591
12029
  productListItem: selectedProduct
11592
12030
  })]
11593
12031
  }));
@@ -11686,8 +12124,8 @@ var anInstance$1 = function (it, Prototype) {
11686
12124
 
11687
12125
  var uncurryThis$3 = functionUncurryThis;
11688
12126
  var fails$1 = fails$o;
11689
- var isCallable$4 = isCallable$n;
11690
- var classof$1 = classof$7;
12127
+ var isCallable$4 = isCallable$o;
12128
+ var classof$1 = classof$8;
11691
12129
  var getBuiltIn$2 = getBuiltIn$7;
11692
12130
  var inspectSource$1 = inspectSource$3;
11693
12131
 
@@ -11802,10 +12240,10 @@ var userAgent$2 = engineUserAgent;
11802
12240
  // eslint-disable-next-line redos/no-vulnerable -- safe
11803
12241
  var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
11804
12242
 
11805
- var global$6 = global$n;
12243
+ var global$6 = global$o;
11806
12244
  var apply = functionApply;
11807
12245
  var bind$3 = functionBindContext;
11808
- var isCallable$3 = isCallable$n;
12246
+ var isCallable$3 = isCallable$o;
11809
12247
  var hasOwn = hasOwnProperty_1;
11810
12248
  var fails = fails$o;
11811
12249
  var html = html$2;
@@ -11919,7 +12357,7 @@ var task$1 = {
11919
12357
  clear: clear
11920
12358
  };
11921
12359
 
11922
- var global$5 = global$n;
12360
+ var global$5 = global$o;
11923
12361
  var DESCRIPTORS = descriptors;
11924
12362
 
11925
12363
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -11965,7 +12403,7 @@ var userAgent = engineUserAgent;
11965
12403
 
11966
12404
  var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
11967
12405
 
11968
- var global$4 = global$n;
12406
+ var global$4 = global$o;
11969
12407
  var safeGetBuiltIn = safeGetBuiltIn$1;
11970
12408
  var bind$2 = functionBindContext;
11971
12409
  var macrotask = task$1.set;
@@ -12059,7 +12497,7 @@ var perform$3 = function (exec) {
12059
12497
  }
12060
12498
  };
12061
12499
 
12062
- var global$3 = global$n;
12500
+ var global$3 = global$o;
12063
12501
 
12064
12502
  var promiseNativeConstructor = global$3.Promise;
12065
12503
 
@@ -12073,9 +12511,9 @@ var engineIsBrowser = !IS_DENO$1 && !IS_NODE$1
12073
12511
  && typeof window == 'object'
12074
12512
  && typeof document == 'object';
12075
12513
 
12076
- var global$2 = global$n;
12514
+ var global$2 = global$o;
12077
12515
  var NativePromiseConstructor$3 = promiseNativeConstructor;
12078
- var isCallable$2 = isCallable$n;
12516
+ var isCallable$2 = isCallable$o;
12079
12517
  var isForced = isForced_1;
12080
12518
  var inspectSource = inspectSource$3;
12081
12519
  var wellKnownSymbol$3 = wellKnownSymbol$j;
@@ -12143,14 +12581,14 @@ newPromiseCapability$2.f = function (C) {
12143
12581
 
12144
12582
  var $$5 = _export;
12145
12583
  var IS_NODE = engineIsNode;
12146
- var global$1 = global$n;
12584
+ var global$1 = global$o;
12147
12585
  var call$5 = functionCall;
12148
12586
  var defineBuiltIn$1 = defineBuiltIn$8;
12149
12587
  var setPrototypeOf = objectSetPrototypeOf;
12150
12588
  var setToStringTag = setToStringTag$4;
12151
12589
  var setSpecies = setSpecies$2;
12152
12590
  var aCallable$3 = aCallable$9;
12153
- var isCallable$1 = isCallable$n;
12591
+ var isCallable$1 = isCallable$o;
12154
12592
  var isObject$1 = isObject$c;
12155
12593
  var anInstance = anInstance$1;
12156
12594
  var speciesConstructor = speciesConstructor$1;
@@ -12439,7 +12877,7 @@ var isArrayIteratorMethod$1 = function (it) {
12439
12877
  return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
12440
12878
  };
12441
12879
 
12442
- var classof = classof$7;
12880
+ var classof = classof$8;
12443
12881
  var getMethod$1 = getMethod$4;
12444
12882
  var isNullOrUndefined = isNullOrUndefined$5;
12445
12883
  var Iterators = iterators;
@@ -12652,7 +13090,7 @@ var $$3 = _export;
12652
13090
  var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR;
12653
13091
  var NativePromiseConstructor = promiseNativeConstructor;
12654
13092
  var getBuiltIn$1 = getBuiltIn$7;
12655
- var isCallable = isCallable$n;
13093
+ var isCallable = isCallable$o;
12656
13094
  var defineBuiltIn = defineBuiltIn$8;
12657
13095
 
12658
13096
  var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
@@ -12742,22 +13180,22 @@ $({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
12742
13180
  }
12743
13181
  });
12744
13182
 
12745
- /* *
12746
- * Licensed under the Apache License, Version 2.0 (the "License");
12747
- * you may not use this file except in compliance with the License.
12748
- * You may obtain a copy of the License at
12749
- *
12750
- * http://www.apache.org/licenses/LICENSE-2.0
12751
- *
12752
- * Unless required by applicable law or agreed to in writing, software
12753
- * distributed under the License is distributed on an "AS IS" BASIS,
12754
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12755
- * See the License for the specific language governing permissions and
12756
- * limitations under the License.
12757
- *
12758
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
12759
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
12760
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
13183
+ /* *
13184
+ * Licensed under the Apache License, Version 2.0 (the "License");
13185
+ * you may not use this file except in compliance with the License.
13186
+ * You may obtain a copy of the License at
13187
+ *
13188
+ * http://www.apache.org/licenses/LICENSE-2.0
13189
+ *
13190
+ * Unless required by applicable law or agreed to in writing, software
13191
+ * distributed under the License is distributed on an "AS IS" BASIS,
13192
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13193
+ * See the License for the specific language governing permissions and
13194
+ * limitations under the License.
13195
+ *
13196
+ * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
13197
+ * Copyright 2021 - Finnish Meteorological Institute (FMI)
13198
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
12761
13199
  * */
12762
13200
  const fakeAirmetList = [{
12763
13201
  creationDate: '2020-09-17T12:00:00Z',
@@ -13744,22 +14182,22 @@ const fakeAirmetList = [{
13744
14182
  }
13745
14183
  }];
13746
14184
 
13747
- /* *
13748
- * Licensed under the Apache License, Version 2.0 (the "License");
13749
- * you may not use this file except in compliance with the License.
13750
- * You may obtain a copy of the License at
13751
- *
13752
- * http://www.apache.org/licenses/LICENSE-2.0
13753
- *
13754
- * Unless required by applicable law or agreed to in writing, software
13755
- * distributed under the License is distributed on an "AS IS" BASIS,
13756
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13757
- * See the License for the specific language governing permissions and
13758
- * limitations under the License.
13759
- *
13760
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
13761
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
13762
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
14185
+ /* *
14186
+ * Licensed under the Apache License, Version 2.0 (the "License");
14187
+ * you may not use this file except in compliance with the License.
14188
+ * You may obtain a copy of the License at
14189
+ *
14190
+ * http://www.apache.org/licenses/LICENSE-2.0
14191
+ *
14192
+ * Unless required by applicable law or agreed to in writing, software
14193
+ * distributed under the License is distributed on an "AS IS" BASIS,
14194
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14195
+ * See the License for the specific language governing permissions and
14196
+ * limitations under the License.
14197
+ *
14198
+ * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
14199
+ * Copyright 2021 - Finnish Meteorological Institute (FMI)
14200
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
13763
14201
  * */
13764
14202
  // TODO: [Loes Cornelis] Replace with correct strucutre and in JSON format - not js object
13765
14203
  const fakeSigmetList = [{
@@ -15283,4 +15721,4 @@ ConnectedModuleWrapper = null) => {
15283
15721
  }
15284
15722
  };
15285
15723
 
15286
- export { AirmetComponentsLookUp, AirmetForm, AirmetPhenomena, AirmetType, CloudLevelUnits, ContentDialog, Direction, DownloadSigmetAirmetConfigWrapper, LevelUnits, MapViewGeoJson, MetInfoWrapper, MovementUnit, ProductList, ProductListRow, ProductStatusDescription, SA_NAMESPACE, SigmetComponentsLookUp, SigmetForm, SigmetPhenomena, SigmetType, StartOrEndDrawing, VisibilityCause, WindUnit, airmetConfig, createApi$1 as createApi, createApi as createFakeApi, isInstanceOfAirmet, isInstanceOfCancelAirmet, isInstanceOfCancelSigmet, isInstanceOfCancelSigmetOrAirmet, isInstanceOfSigmet, isInstanceOfSigmetOrAirmet, sigmetAirmetTranslations as saTranslations, sigmetConfig };
15724
+ export { AirmetComponentsLookUp, AirmetForm, AirmetType, CloudLevelUnits, ContentDialog, Direction, DownloadSigmetAirmetConfigWrapper, LevelUnits, MapViewGeoJson, MetInfoWrapper, MovementUnit, ProductAction, ProductList, ProductListRow, ProductStatusDescription, SA_NAMESPACE, SigmetComponentsLookUp, SigmetForm, SigmetType, StartOrEndDrawing, VisibilityCause, WindUnit, airmetConfig, createApi$1 as createApi, createApi as createFakeApi, isInstanceOfAirmet, isInstanceOfCancelAirmet, isInstanceOfCancelSigmet, isInstanceOfCancelSigmetOrAirmet, isInstanceOfSigmet, isInstanceOfSigmetOrAirmet, sigmetAirmetTranslations as saTranslations, sigmetConfig };