@dicebear/core 9.4.2 → 10.0.0-rc.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 (82) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +12 -0
  3. package/lib/Avatar.d.ts +15 -0
  4. package/lib/Avatar.js +38 -0
  5. package/lib/Error/CircularColorReferenceError.d.ts +4 -0
  6. package/lib/Error/CircularColorReferenceError.js +8 -0
  7. package/lib/Error/OptionsValidationError.d.ts +5 -0
  8. package/lib/Error/OptionsValidationError.js +7 -0
  9. package/lib/Error/StyleValidationError.d.ts +5 -0
  10. package/lib/Error/StyleValidationError.js +7 -0
  11. package/lib/Error/ValidationError.d.ts +8 -0
  12. package/lib/Error/ValidationError.js +18 -0
  13. package/lib/Options.d.ts +23 -0
  14. package/lib/Options.js +217 -0
  15. package/lib/OptionsDescriptor.d.ts +37 -0
  16. package/lib/OptionsDescriptor.js +70 -0
  17. package/lib/Prng/Fnv1a.d.ts +4 -0
  18. package/lib/Prng/Fnv1a.js +16 -0
  19. package/lib/Prng/Mulberry32.d.ts +7 -0
  20. package/lib/Prng/Mulberry32.js +40 -0
  21. package/lib/Prng.d.ts +11 -0
  22. package/lib/Prng.js +101 -0
  23. package/lib/Renderer.d.ts +7 -0
  24. package/lib/Renderer.js +293 -0
  25. package/lib/Style/Canvas.d.ts +9 -0
  26. package/lib/Style/Canvas.js +31 -0
  27. package/lib/Style/Color.d.ts +8 -0
  28. package/lib/Style/Color.js +28 -0
  29. package/lib/Style/Component.d.ts +13 -0
  30. package/lib/Style/Component.js +46 -0
  31. package/lib/Style/ComponentTranslate.d.ts +7 -0
  32. package/lib/Style/ComponentTranslate.js +25 -0
  33. package/lib/Style/ComponentVariant.d.ts +8 -0
  34. package/lib/Style/ComponentVariant.js +28 -0
  35. package/lib/Style/Element.d.ts +10 -0
  36. package/lib/Style/Element.js +36 -0
  37. package/lib/Style/Meta.d.ts +11 -0
  38. package/lib/Style/Meta.js +37 -0
  39. package/lib/Style/MetaCreator.d.ts +7 -0
  40. package/lib/Style/MetaCreator.js +25 -0
  41. package/lib/Style/MetaLicense.d.ts +8 -0
  42. package/lib/Style/MetaLicense.js +28 -0
  43. package/lib/Style/MetaSource.d.ts +7 -0
  44. package/lib/Style/MetaSource.js +25 -0
  45. package/lib/Style.d.ts +18 -0
  46. package/lib/Style.js +63 -0
  47. package/lib/StyleDefinition.d.ts +83 -0
  48. package/lib/StyleOptions.d.ts +54 -0
  49. package/lib/StyleOptions.js +1 -0
  50. package/lib/Utils/Color.d.ts +9 -0
  51. package/lib/Utils/Color.js +67 -0
  52. package/lib/Utils/Initials.d.ts +3 -0
  53. package/lib/Utils/Initials.js +26 -0
  54. package/lib/Utils/License.d.ts +5 -0
  55. package/lib/Utils/License.js +64 -0
  56. package/lib/Utils/Xml.d.ts +4 -0
  57. package/lib/Utils/Xml.js +20 -0
  58. package/lib/Validator/OptionsValidator.d.ts +3 -0
  59. package/lib/Validator/OptionsValidator.js +2203 -0
  60. package/lib/Validator/StyleValidator.d.ts +3 -0
  61. package/lib/Validator/StyleValidator.js +4986 -0
  62. package/lib/index.d.ts +4 -12
  63. package/lib/index.js +3 -12
  64. package/package.json +13 -8
  65. package/lib/core.d.ts +0 -2
  66. package/lib/core.js +0 -67
  67. package/lib/schema.d.ts +0 -2
  68. package/lib/schema.js +0 -79
  69. package/lib/types.d.ts +0 -73
  70. package/lib/utils/color.d.ts +0 -6
  71. package/lib/utils/color.js +0 -35
  72. package/lib/utils/escape.d.ts +0 -1
  73. package/lib/utils/escape.js +0 -8
  74. package/lib/utils/license.d.ts +0 -3
  75. package/lib/utils/license.js +0 -54
  76. package/lib/utils/options.d.ts +0 -3
  77. package/lib/utils/options.js +0 -32
  78. package/lib/utils/prng.d.ts +0 -2
  79. package/lib/utils/prng.js +0 -68
  80. package/lib/utils/svg.d.ts +0 -15
  81. package/lib/utils/svg.js +0 -79
  82. /package/lib/{types.js → StyleDefinition.js} +0 -0
@@ -0,0 +1,2203 @@
1
+ import { OptionsValidationError } from '../Error/OptionsValidationError.js';
2
+ function ucs2length(str) { let n = 0; for (const _ of str)
3
+ n++; return n; }
4
+ "use strict";
5
+ const schema31 = { "$id": "https://cdn.hopjs.net/npm/@dicebear/schema@0.9.0/dist/options.min.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "DiceBear options schema", "type": "object", "$defs": { "flip": { "type": "string", "enum": ["none", "horizontal", "vertical", "both"] }, "rotate": { "type": "number", "minimum": -360, "maximum": 360 }, "scale": { "type": "number", "minimum": 0 }, "translate": { "type": "number", "minimum": -100, "maximum": 100 }, "borderRadius": { "type": "number", "minimum": 0, "maximum": 50 }, "color": { "type": "string", "pattern": "^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$" }, "colorFill": { "type": "string", "enum": ["solid", "linear", "radial"] }, "colorFillStops": { "type": "integer", "minimum": 1 }, "fontFamilyName": { "type": "string", "pattern": "^[a-zA-Z0-9 _\\-]+$" }, "fontWeight": { "type": "integer", "minimum": 1, "maximum": 1000 } }, "properties": { "seed": { "type": "string", "description": "The starting value for the pseudorandom number generator (PRNG) used in the avatar generation process. This option is essential for creating unique and consistent avatars. By setting a specific seed, you ensure that the same sequence of random characteristics is applied, allowing identical avatars to be reproduced. This is especially valuable for maintaining consistency across sessions and allowing users to share or recreate their personalized avatars.", "maxLength": 1024 }, "size": { "type": "integer", "description": "Specifies the dimensions of the avatar in pixels. If no size is specified, the avatar defaults to a responsive design or scales to 100% of its container. This flexibility allows the avatar to seamlessly adapt to different screen sizes and layouts, ensuring optimal display across devices and environments.", "minimum": 1 }, "idRandomization": { "type": "boolean", "description": "Generates random values for all IDs present in the SVG. This process ensures that while the avatar appears visually identical, the underlying code remains unique. This is particularly useful for embedding the same avatar multiple times in a document without running into duplicate ID conflicts that can interfere with styles and scripts." }, "title": { "type": "string", "description": "Specifies an accessible title for the avatar. When set, the SVG will include a <title> element and an aria-label attribute, allowing screen readers and other assistive technologies to describe the avatar to users.", "maxLength": 256 }, "flip": { "description": "Specifies how the avatar will be flipped. Options include `none` for no flip, `horizontal` for a left-to-right flip, `vertical` for an upside-down flip, and `both` for a complete flip. If specified as an array, the PRNG will choose from the available options.", "oneOf": [{ "$ref": "#/$defs/flip" }, { "type": "array", "items": { "$ref": "#/$defs/flip" }, "maxItems": 128 }] }, "fontFamily": { "description": "Specifies the font family used for text rendering. If specified as an array, the PRNG will choose from the available options.", "oneOf": [{ "$ref": "#/$defs/fontFamilyName" }, { "type": "array", "items": { "$ref": "#/$defs/fontFamilyName" }, "maxItems": 128 }] }, "fontWeight": { "description": "Specifies the font weight used for text rendering. The value must be an integer between 1 and 1000. If specified as an array, the PRNG will choose from the available options.", "oneOf": [{ "$ref": "#/$defs/fontWeight" }, { "type": "array", "items": { "$ref": "#/$defs/fontWeight" }, "maxItems": 128 }] }, "scale": { "description": "Sets the scaling of the avatar. A value of `1` corresponds to the original size of the avatar. This setting affects the size of the avatar itself, but not the size of the avatar container; any excess content will be clipped. If specified as an array, the PRNG will select a value within the specified range, including the values themselves.", "oneOf": [{ "$ref": "#/$defs/scale" }, { "type": "array", "items": { "$ref": "#/$defs/scale" }, "maxItems": 2 }] }, "borderRadius": { "description": "This is the radius of the corners of the avatar. This value can be a float or an integer. A value of 0 means that the avatar has sharp corners, while larger values result in more rounded corners. The maximum value is 50, which turns the avatar into a complete circle. If specified as an array, the PRNG will select a value within the specified range, including the values themselves.", "oneOf": [{ "$ref": "#/$defs/borderRadius" }, { "type": "array", "items": { "$ref": "#/$defs/borderRadius" }, "maxItems": 2 }] } }, "patternProperties": { "^[a-z][a-zA-Z0-9]*Probability$": { "type": "number", "description": "Represents the probability that a component of the avatar will be displayed. The value can be either a float or an integer, but is interpreted as a percentage. For example, a value of 0 means the part will never be displayed, while a value of 100 means it will always be displayed.", "minimum": 0, "maximum": 100 }, "^[a-z][a-zA-Z0-9]*Variant$": { "description": "Specifies which variants of the avatar part can be selected by the PRNG and their relative weights. A string or array of strings filters which variants the PRNG can choose from. An object maps variant names to non-negative weights, simultaneously filtering and weighting selection.", "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" }, "maxItems": 128 }, { "type": "object", "propertyNames": { "pattern": "^[a-z][a-zA-Z0-9]*$" }, "additionalProperties": { "type": "number", "minimum": 0 }, "maxProperties": 128 }] }, "^[a-z][a-zA-Z0-9]*Color$": { "description": "Specifies which colors for the avatar component can be selected by the PRNG. If specified as a string or array with only one value, the value is fixed. However, if specified as an array with multiple values, the PRNG will choose from the available options. The color must be specified as a hex value.", "oneOf": [{ "$ref": "#/$defs/color" }, { "type": "array", "items": { "$ref": "#/$defs/color" }, "maxItems": 128 }] }, "^[a-z][a-zA-Z0-9]*ColorFill$": { "description": "Specifies the color fill method for the avatar component. Options include `solid` for a flat color, `linear` for a linear gradient, and `radial` for a radial gradient. If specified as a string or array with only one value, the value is fixed. However, if specified as an array with multiple values, the PRNG will choose from the available options.", "oneOf": [{ "$ref": "#/$defs/colorFill" }, { "type": "array", "items": { "$ref": "#/$defs/colorFill" }, "maxItems": 128 }] }, "^[a-z][a-zA-Z0-9]*ColorFillStops$": { "description": "Specifies the number of color stops for gradient fills. This value is only relevant when the color fill method is set to `linear` or `radial`. The minimum value is 1. If specified as an array, the PRNG will select a value within the specified range, including the values themselves.", "oneOf": [{ "$ref": "#/$defs/colorFillStops" }, { "type": "array", "items": { "$ref": "#/$defs/colorFillStops" }, "maxItems": 2 }] }, "^[a-z][a-zA-Z0-9]*ColorAngle$": { "description": "Specifies the angle for the color gradient. This value can be an integer or a float. A value of 0 results in no rotation, while values between -360 and 360 define the degree of rotation. If specified as an array, the PRNG will select a value within the specified range, including the values themselves.", "oneOf": [{ "$ref": "#/$defs/rotate" }, { "type": "array", "items": { "$ref": "#/$defs/rotate" }, "maxItems": 2 }] }, "^(r|[a-z][a-zA-Z0-9]*R)otate$": { "description": "This is the rotation angle for the avatar or its parts. This value can be an integer or a float. A value of 0 results in no rotation, while values between -360 and 360 define the degree of rotation in both directions. If specified as an array, the PRNG will select a value within the specified range, including the values themselves. If not preceded by an avatar part, the option applies to the entire avatar.", "oneOf": [{ "$ref": "#/$defs/rotate" }, { "type": "array", "items": { "$ref": "#/$defs/rotate" }, "maxItems": 2 }] }, "^(t|[a-z][a-zA-Z0-9]*T)ranslateY$": { "description": "This is the vertical translation of the avatar or its parts. This value can be an integer or a float. A value of 0 results in no translation, while positive values move the part down and negative values move it up. If specified as an array, the PRNG will select a value within the specified range, including the values themselves. If no avatar part is specified, the option applies to the entire avatar.", "oneOf": [{ "$ref": "#/$defs/translate" }, { "type": "array", "items": { "$ref": "#/$defs/translate" }, "maxItems": 2 }] }, "^(t|[a-z][a-zA-Z0-9]*T)ranslateX$": { "description": "This is the horizontal translation of the avatar or its parts. This value can be an integer or a float. A value of 0 results in no translation, while positive values move the part to the right and negative values move it to the left. If specified as an array, the PRNG will select a value within the specified range, including the values themselves. If no avatar part is specified, the option applies to the entire avatar.", "oneOf": [{ "$ref": "#/$defs/translate" }, { "type": "array", "items": { "$ref": "#/$defs/translate" }, "maxItems": 2 }] } }, "additionalProperties": false };
6
+ const schema32 = { "type": "string", "enum": ["none", "horizontal", "vertical", "both"] };
7
+ const schema34 = { "type": "string", "pattern": "^[a-zA-Z0-9 _\\-]+$" };
8
+ const schema36 = { "type": "integer", "minimum": 1, "maximum": 1000 };
9
+ const schema38 = { "type": "number", "minimum": 0 };
10
+ const schema40 = { "type": "number", "minimum": 0, "maximum": 50 };
11
+ const schema42 = { "type": "string", "pattern": "^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$" };
12
+ const schema44 = { "type": "string", "enum": ["solid", "linear", "radial"] };
13
+ const schema46 = { "type": "integer", "minimum": 1 };
14
+ const schema48 = { "type": "number", "minimum": -360, "maximum": 360 };
15
+ const schema52 = { "type": "number", "minimum": -100, "maximum": 100 };
16
+ const func1 = Object.prototype.hasOwnProperty;
17
+ const func2 = ucs2length;
18
+ const pattern4 = new RegExp("^[a-z][a-zA-Z0-9]*Probability$", "u");
19
+ const pattern5 = new RegExp("^[a-z][a-zA-Z0-9]*Variant$", "u");
20
+ const pattern6 = new RegExp("^[a-z][a-zA-Z0-9]*Color$", "u");
21
+ const pattern7 = new RegExp("^[a-z][a-zA-Z0-9]*ColorFill$", "u");
22
+ const pattern8 = new RegExp("^[a-z][a-zA-Z0-9]*ColorFillStops$", "u");
23
+ const pattern9 = new RegExp("^[a-z][a-zA-Z0-9]*ColorAngle$", "u");
24
+ const pattern10 = new RegExp("^(r|[a-z][a-zA-Z0-9]*R)otate$", "u");
25
+ const pattern11 = new RegExp("^(t|[a-z][a-zA-Z0-9]*T)ranslateY$", "u");
26
+ const pattern12 = new RegExp("^(t|[a-z][a-zA-Z0-9]*T)ranslateX$", "u");
27
+ const pattern13 = new RegExp("^[a-zA-Z0-9 _\\-]+$", "u");
28
+ const pattern17 = new RegExp("^[a-z][a-zA-Z0-9]*$", "u");
29
+ const pattern19 = new RegExp("^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$", "u");
30
+ function validate20(data, { instancePath = "", parentData, parentDataProperty, rootData = data, dynamicAnchors = {} } = {}) { /*# sourceURL="https://cdn.hopjs.net/npm/@dicebear/schema@0.9.0/dist/options.min.json" */ ; let vErrors = null; let errors = 0; const evaluated0 = validate20.evaluated; if (evaluated0.dynamicProps) {
31
+ evaluated0.props = undefined;
32
+ } if (evaluated0.dynamicItems) {
33
+ evaluated0.items = undefined;
34
+ } if (errors === 0) {
35
+ if (data && typeof data == "object" && !Array.isArray(data)) {
36
+ const _errs1 = errors;
37
+ for (const key0 in data) {
38
+ if (!((((((((((func1.call(schema31.properties, key0)) || (pattern4.test(key0))) || (pattern5.test(key0))) || (pattern6.test(key0))) || (pattern7.test(key0))) || (pattern8.test(key0))) || (pattern9.test(key0))) || (pattern10.test(key0))) || (pattern11.test(key0))) || (pattern12.test(key0)))) {
39
+ validate20.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
40
+ return false;
41
+ break;
42
+ }
43
+ }
44
+ if (_errs1 === errors) {
45
+ if (data.seed !== undefined) {
46
+ let data0 = data.seed;
47
+ const _errs2 = errors;
48
+ if (errors === _errs2) {
49
+ if (typeof data0 === "string") {
50
+ if (func2(data0) > 1024) {
51
+ validate20.errors = [{ instancePath: instancePath + "/seed", schemaPath: "#/properties/seed/maxLength", keyword: "maxLength", params: { limit: 1024 }, message: "must NOT have more than 1024 characters" }];
52
+ return false;
53
+ }
54
+ }
55
+ else {
56
+ validate20.errors = [{ instancePath: instancePath + "/seed", schemaPath: "#/properties/seed/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
57
+ return false;
58
+ }
59
+ }
60
+ var valid0 = _errs2 === errors;
61
+ }
62
+ else {
63
+ var valid0 = true;
64
+ }
65
+ if (valid0) {
66
+ if (data.size !== undefined) {
67
+ let data1 = data.size;
68
+ const _errs4 = errors;
69
+ if (!(((typeof data1 == "number") && (!(data1 % 1) && !isNaN(data1))) && (isFinite(data1)))) {
70
+ validate20.errors = [{ instancePath: instancePath + "/size", schemaPath: "#/properties/size/type", keyword: "type", params: { type: "integer" }, message: "must be integer" }];
71
+ return false;
72
+ }
73
+ if (errors === _errs4) {
74
+ if ((typeof data1 == "number") && (isFinite(data1))) {
75
+ if (data1 < 1 || isNaN(data1)) {
76
+ validate20.errors = [{ instancePath: instancePath + "/size", schemaPath: "#/properties/size/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" }];
77
+ return false;
78
+ }
79
+ }
80
+ }
81
+ var valid0 = _errs4 === errors;
82
+ }
83
+ else {
84
+ var valid0 = true;
85
+ }
86
+ if (valid0) {
87
+ if (data.idRandomization !== undefined) {
88
+ const _errs6 = errors;
89
+ if (typeof data.idRandomization !== "boolean") {
90
+ validate20.errors = [{ instancePath: instancePath + "/idRandomization", schemaPath: "#/properties/idRandomization/type", keyword: "type", params: { type: "boolean" }, message: "must be boolean" }];
91
+ return false;
92
+ }
93
+ var valid0 = _errs6 === errors;
94
+ }
95
+ else {
96
+ var valid0 = true;
97
+ }
98
+ if (valid0) {
99
+ if (data.title !== undefined) {
100
+ let data3 = data.title;
101
+ const _errs8 = errors;
102
+ if (errors === _errs8) {
103
+ if (typeof data3 === "string") {
104
+ if (func2(data3) > 256) {
105
+ validate20.errors = [{ instancePath: instancePath + "/title", schemaPath: "#/properties/title/maxLength", keyword: "maxLength", params: { limit: 256 }, message: "must NOT have more than 256 characters" }];
106
+ return false;
107
+ }
108
+ }
109
+ else {
110
+ validate20.errors = [{ instancePath: instancePath + "/title", schemaPath: "#/properties/title/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
111
+ return false;
112
+ }
113
+ }
114
+ var valid0 = _errs8 === errors;
115
+ }
116
+ else {
117
+ var valid0 = true;
118
+ }
119
+ if (valid0) {
120
+ if (data.flip !== undefined) {
121
+ let data4 = data.flip;
122
+ const _errs10 = errors;
123
+ const _errs11 = errors;
124
+ let valid1 = false;
125
+ let passing0 = null;
126
+ const _errs12 = errors;
127
+ if (typeof data4 !== "string") {
128
+ const err0 = { instancePath: instancePath + "/flip", schemaPath: "#/$defs/flip/type", keyword: "type", params: { type: "string" }, message: "must be string" };
129
+ if (vErrors === null) {
130
+ vErrors = [err0];
131
+ }
132
+ else {
133
+ vErrors.push(err0);
134
+ }
135
+ errors++;
136
+ }
137
+ if (!((((data4 === "none") || (data4 === "horizontal")) || (data4 === "vertical")) || (data4 === "both"))) {
138
+ const err1 = { instancePath: instancePath + "/flip", schemaPath: "#/$defs/flip/enum", keyword: "enum", params: { allowedValues: schema32.enum }, message: "must be equal to one of the allowed values" };
139
+ if (vErrors === null) {
140
+ vErrors = [err1];
141
+ }
142
+ else {
143
+ vErrors.push(err1);
144
+ }
145
+ errors++;
146
+ }
147
+ var _valid0 = _errs12 === errors;
148
+ if (_valid0) {
149
+ valid1 = true;
150
+ passing0 = 0;
151
+ }
152
+ const _errs15 = errors;
153
+ if (errors === _errs15) {
154
+ if (Array.isArray(data4)) {
155
+ if (data4.length > 128) {
156
+ const err2 = { instancePath: instancePath + "/flip", schemaPath: "#/properties/flip/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 128 }, message: "must NOT have more than 128 items" };
157
+ if (vErrors === null) {
158
+ vErrors = [err2];
159
+ }
160
+ else {
161
+ vErrors.push(err2);
162
+ }
163
+ errors++;
164
+ }
165
+ else {
166
+ var valid3 = true;
167
+ const len0 = data4.length;
168
+ for (let i0 = 0; i0 < len0; i0++) {
169
+ let data5 = data4[i0];
170
+ const _errs17 = errors;
171
+ if (typeof data5 !== "string") {
172
+ const err3 = { instancePath: instancePath + "/flip/" + i0, schemaPath: "#/$defs/flip/type", keyword: "type", params: { type: "string" }, message: "must be string" };
173
+ if (vErrors === null) {
174
+ vErrors = [err3];
175
+ }
176
+ else {
177
+ vErrors.push(err3);
178
+ }
179
+ errors++;
180
+ }
181
+ if (!((((data5 === "none") || (data5 === "horizontal")) || (data5 === "vertical")) || (data5 === "both"))) {
182
+ const err4 = { instancePath: instancePath + "/flip/" + i0, schemaPath: "#/$defs/flip/enum", keyword: "enum", params: { allowedValues: schema32.enum }, message: "must be equal to one of the allowed values" };
183
+ if (vErrors === null) {
184
+ vErrors = [err4];
185
+ }
186
+ else {
187
+ vErrors.push(err4);
188
+ }
189
+ errors++;
190
+ }
191
+ var valid3 = _errs17 === errors;
192
+ if (!valid3) {
193
+ break;
194
+ }
195
+ }
196
+ }
197
+ }
198
+ else {
199
+ const err5 = { instancePath: instancePath + "/flip", schemaPath: "#/properties/flip/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
200
+ if (vErrors === null) {
201
+ vErrors = [err5];
202
+ }
203
+ else {
204
+ vErrors.push(err5);
205
+ }
206
+ errors++;
207
+ }
208
+ }
209
+ var _valid0 = _errs15 === errors;
210
+ if (_valid0 && valid1) {
211
+ valid1 = false;
212
+ passing0 = [passing0, 1];
213
+ }
214
+ else {
215
+ if (_valid0) {
216
+ valid1 = true;
217
+ passing0 = 1;
218
+ }
219
+ }
220
+ if (!valid1) {
221
+ const err6 = { instancePath: instancePath + "/flip", schemaPath: "#/properties/flip/oneOf", keyword: "oneOf", params: { passingSchemas: passing0 }, message: "must match exactly one schema in oneOf" };
222
+ if (vErrors === null) {
223
+ vErrors = [err6];
224
+ }
225
+ else {
226
+ vErrors.push(err6);
227
+ }
228
+ errors++;
229
+ validate20.errors = vErrors;
230
+ return false;
231
+ }
232
+ else {
233
+ errors = _errs11;
234
+ if (vErrors !== null) {
235
+ if (_errs11) {
236
+ vErrors.length = _errs11;
237
+ }
238
+ else {
239
+ vErrors = null;
240
+ }
241
+ }
242
+ }
243
+ var valid0 = _errs10 === errors;
244
+ }
245
+ else {
246
+ var valid0 = true;
247
+ }
248
+ if (valid0) {
249
+ if (data.fontFamily !== undefined) {
250
+ let data6 = data.fontFamily;
251
+ const _errs20 = errors;
252
+ const _errs21 = errors;
253
+ let valid5 = false;
254
+ let passing1 = null;
255
+ const _errs22 = errors;
256
+ const _errs23 = errors;
257
+ if (errors === _errs23) {
258
+ if (typeof data6 === "string") {
259
+ if (!pattern13.test(data6)) {
260
+ const err7 = { instancePath: instancePath + "/fontFamily", schemaPath: "#/$defs/fontFamilyName/pattern", keyword: "pattern", params: { pattern: "^[a-zA-Z0-9 _\\-]+$" }, message: "must match pattern \"" + "^[a-zA-Z0-9 _\\-]+$" + "\"" };
261
+ if (vErrors === null) {
262
+ vErrors = [err7];
263
+ }
264
+ else {
265
+ vErrors.push(err7);
266
+ }
267
+ errors++;
268
+ }
269
+ }
270
+ else {
271
+ const err8 = { instancePath: instancePath + "/fontFamily", schemaPath: "#/$defs/fontFamilyName/type", keyword: "type", params: { type: "string" }, message: "must be string" };
272
+ if (vErrors === null) {
273
+ vErrors = [err8];
274
+ }
275
+ else {
276
+ vErrors.push(err8);
277
+ }
278
+ errors++;
279
+ }
280
+ }
281
+ var _valid1 = _errs22 === errors;
282
+ if (_valid1) {
283
+ valid5 = true;
284
+ passing1 = 0;
285
+ }
286
+ const _errs25 = errors;
287
+ if (errors === _errs25) {
288
+ if (Array.isArray(data6)) {
289
+ if (data6.length > 128) {
290
+ const err9 = { instancePath: instancePath + "/fontFamily", schemaPath: "#/properties/fontFamily/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 128 }, message: "must NOT have more than 128 items" };
291
+ if (vErrors === null) {
292
+ vErrors = [err9];
293
+ }
294
+ else {
295
+ vErrors.push(err9);
296
+ }
297
+ errors++;
298
+ }
299
+ else {
300
+ var valid7 = true;
301
+ const len1 = data6.length;
302
+ for (let i1 = 0; i1 < len1; i1++) {
303
+ let data7 = data6[i1];
304
+ const _errs27 = errors;
305
+ const _errs28 = errors;
306
+ if (errors === _errs28) {
307
+ if (typeof data7 === "string") {
308
+ if (!pattern13.test(data7)) {
309
+ const err10 = { instancePath: instancePath + "/fontFamily/" + i1, schemaPath: "#/$defs/fontFamilyName/pattern", keyword: "pattern", params: { pattern: "^[a-zA-Z0-9 _\\-]+$" }, message: "must match pattern \"" + "^[a-zA-Z0-9 _\\-]+$" + "\"" };
310
+ if (vErrors === null) {
311
+ vErrors = [err10];
312
+ }
313
+ else {
314
+ vErrors.push(err10);
315
+ }
316
+ errors++;
317
+ }
318
+ }
319
+ else {
320
+ const err11 = { instancePath: instancePath + "/fontFamily/" + i1, schemaPath: "#/$defs/fontFamilyName/type", keyword: "type", params: { type: "string" }, message: "must be string" };
321
+ if (vErrors === null) {
322
+ vErrors = [err11];
323
+ }
324
+ else {
325
+ vErrors.push(err11);
326
+ }
327
+ errors++;
328
+ }
329
+ }
330
+ var valid7 = _errs27 === errors;
331
+ if (!valid7) {
332
+ break;
333
+ }
334
+ }
335
+ }
336
+ }
337
+ else {
338
+ const err12 = { instancePath: instancePath + "/fontFamily", schemaPath: "#/properties/fontFamily/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
339
+ if (vErrors === null) {
340
+ vErrors = [err12];
341
+ }
342
+ else {
343
+ vErrors.push(err12);
344
+ }
345
+ errors++;
346
+ }
347
+ }
348
+ var _valid1 = _errs25 === errors;
349
+ if (_valid1 && valid5) {
350
+ valid5 = false;
351
+ passing1 = [passing1, 1];
352
+ }
353
+ else {
354
+ if (_valid1) {
355
+ valid5 = true;
356
+ passing1 = 1;
357
+ }
358
+ }
359
+ if (!valid5) {
360
+ const err13 = { instancePath: instancePath + "/fontFamily", schemaPath: "#/properties/fontFamily/oneOf", keyword: "oneOf", params: { passingSchemas: passing1 }, message: "must match exactly one schema in oneOf" };
361
+ if (vErrors === null) {
362
+ vErrors = [err13];
363
+ }
364
+ else {
365
+ vErrors.push(err13);
366
+ }
367
+ errors++;
368
+ validate20.errors = vErrors;
369
+ return false;
370
+ }
371
+ else {
372
+ errors = _errs21;
373
+ if (vErrors !== null) {
374
+ if (_errs21) {
375
+ vErrors.length = _errs21;
376
+ }
377
+ else {
378
+ vErrors = null;
379
+ }
380
+ }
381
+ }
382
+ var valid0 = _errs20 === errors;
383
+ }
384
+ else {
385
+ var valid0 = true;
386
+ }
387
+ if (valid0) {
388
+ if (data.fontWeight !== undefined) {
389
+ let data8 = data.fontWeight;
390
+ const _errs30 = errors;
391
+ const _errs31 = errors;
392
+ let valid9 = false;
393
+ let passing2 = null;
394
+ const _errs32 = errors;
395
+ const _errs33 = errors;
396
+ if (!(((typeof data8 == "number") && (!(data8 % 1) && !isNaN(data8))) && (isFinite(data8)))) {
397
+ const err14 = { instancePath: instancePath + "/fontWeight", schemaPath: "#/$defs/fontWeight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
398
+ if (vErrors === null) {
399
+ vErrors = [err14];
400
+ }
401
+ else {
402
+ vErrors.push(err14);
403
+ }
404
+ errors++;
405
+ }
406
+ if (errors === _errs33) {
407
+ if ((typeof data8 == "number") && (isFinite(data8))) {
408
+ if (data8 > 1000 || isNaN(data8)) {
409
+ const err15 = { instancePath: instancePath + "/fontWeight", schemaPath: "#/$defs/fontWeight/maximum", keyword: "maximum", params: { comparison: "<=", limit: 1000 }, message: "must be <= 1000" };
410
+ if (vErrors === null) {
411
+ vErrors = [err15];
412
+ }
413
+ else {
414
+ vErrors.push(err15);
415
+ }
416
+ errors++;
417
+ }
418
+ else {
419
+ if (data8 < 1 || isNaN(data8)) {
420
+ const err16 = { instancePath: instancePath + "/fontWeight", schemaPath: "#/$defs/fontWeight/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
421
+ if (vErrors === null) {
422
+ vErrors = [err16];
423
+ }
424
+ else {
425
+ vErrors.push(err16);
426
+ }
427
+ errors++;
428
+ }
429
+ }
430
+ }
431
+ }
432
+ var _valid2 = _errs32 === errors;
433
+ if (_valid2) {
434
+ valid9 = true;
435
+ passing2 = 0;
436
+ }
437
+ const _errs35 = errors;
438
+ if (errors === _errs35) {
439
+ if (Array.isArray(data8)) {
440
+ if (data8.length > 128) {
441
+ const err17 = { instancePath: instancePath + "/fontWeight", schemaPath: "#/properties/fontWeight/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 128 }, message: "must NOT have more than 128 items" };
442
+ if (vErrors === null) {
443
+ vErrors = [err17];
444
+ }
445
+ else {
446
+ vErrors.push(err17);
447
+ }
448
+ errors++;
449
+ }
450
+ else {
451
+ var valid11 = true;
452
+ const len2 = data8.length;
453
+ for (let i2 = 0; i2 < len2; i2++) {
454
+ let data9 = data8[i2];
455
+ const _errs37 = errors;
456
+ const _errs38 = errors;
457
+ if (!(((typeof data9 == "number") && (!(data9 % 1) && !isNaN(data9))) && (isFinite(data9)))) {
458
+ const err18 = { instancePath: instancePath + "/fontWeight/" + i2, schemaPath: "#/$defs/fontWeight/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
459
+ if (vErrors === null) {
460
+ vErrors = [err18];
461
+ }
462
+ else {
463
+ vErrors.push(err18);
464
+ }
465
+ errors++;
466
+ }
467
+ if (errors === _errs38) {
468
+ if ((typeof data9 == "number") && (isFinite(data9))) {
469
+ if (data9 > 1000 || isNaN(data9)) {
470
+ const err19 = { instancePath: instancePath + "/fontWeight/" + i2, schemaPath: "#/$defs/fontWeight/maximum", keyword: "maximum", params: { comparison: "<=", limit: 1000 }, message: "must be <= 1000" };
471
+ if (vErrors === null) {
472
+ vErrors = [err19];
473
+ }
474
+ else {
475
+ vErrors.push(err19);
476
+ }
477
+ errors++;
478
+ }
479
+ else {
480
+ if (data9 < 1 || isNaN(data9)) {
481
+ const err20 = { instancePath: instancePath + "/fontWeight/" + i2, schemaPath: "#/$defs/fontWeight/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
482
+ if (vErrors === null) {
483
+ vErrors = [err20];
484
+ }
485
+ else {
486
+ vErrors.push(err20);
487
+ }
488
+ errors++;
489
+ }
490
+ }
491
+ }
492
+ }
493
+ var valid11 = _errs37 === errors;
494
+ if (!valid11) {
495
+ break;
496
+ }
497
+ }
498
+ }
499
+ }
500
+ else {
501
+ const err21 = { instancePath: instancePath + "/fontWeight", schemaPath: "#/properties/fontWeight/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
502
+ if (vErrors === null) {
503
+ vErrors = [err21];
504
+ }
505
+ else {
506
+ vErrors.push(err21);
507
+ }
508
+ errors++;
509
+ }
510
+ }
511
+ var _valid2 = _errs35 === errors;
512
+ if (_valid2 && valid9) {
513
+ valid9 = false;
514
+ passing2 = [passing2, 1];
515
+ }
516
+ else {
517
+ if (_valid2) {
518
+ valid9 = true;
519
+ passing2 = 1;
520
+ }
521
+ }
522
+ if (!valid9) {
523
+ const err22 = { instancePath: instancePath + "/fontWeight", schemaPath: "#/properties/fontWeight/oneOf", keyword: "oneOf", params: { passingSchemas: passing2 }, message: "must match exactly one schema in oneOf" };
524
+ if (vErrors === null) {
525
+ vErrors = [err22];
526
+ }
527
+ else {
528
+ vErrors.push(err22);
529
+ }
530
+ errors++;
531
+ validate20.errors = vErrors;
532
+ return false;
533
+ }
534
+ else {
535
+ errors = _errs31;
536
+ if (vErrors !== null) {
537
+ if (_errs31) {
538
+ vErrors.length = _errs31;
539
+ }
540
+ else {
541
+ vErrors = null;
542
+ }
543
+ }
544
+ }
545
+ var valid0 = _errs30 === errors;
546
+ }
547
+ else {
548
+ var valid0 = true;
549
+ }
550
+ if (valid0) {
551
+ if (data.scale !== undefined) {
552
+ let data10 = data.scale;
553
+ const _errs40 = errors;
554
+ const _errs41 = errors;
555
+ let valid13 = false;
556
+ let passing3 = null;
557
+ const _errs42 = errors;
558
+ const _errs43 = errors;
559
+ if (errors === _errs43) {
560
+ if ((typeof data10 == "number") && (isFinite(data10))) {
561
+ if (data10 < 0 || isNaN(data10)) {
562
+ const err23 = { instancePath: instancePath + "/scale", schemaPath: "#/$defs/scale/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
563
+ if (vErrors === null) {
564
+ vErrors = [err23];
565
+ }
566
+ else {
567
+ vErrors.push(err23);
568
+ }
569
+ errors++;
570
+ }
571
+ }
572
+ else {
573
+ const err24 = { instancePath: instancePath + "/scale", schemaPath: "#/$defs/scale/type", keyword: "type", params: { type: "number" }, message: "must be number" };
574
+ if (vErrors === null) {
575
+ vErrors = [err24];
576
+ }
577
+ else {
578
+ vErrors.push(err24);
579
+ }
580
+ errors++;
581
+ }
582
+ }
583
+ var _valid3 = _errs42 === errors;
584
+ if (_valid3) {
585
+ valid13 = true;
586
+ passing3 = 0;
587
+ }
588
+ const _errs45 = errors;
589
+ if (errors === _errs45) {
590
+ if (Array.isArray(data10)) {
591
+ if (data10.length > 2) {
592
+ const err25 = { instancePath: instancePath + "/scale", schemaPath: "#/properties/scale/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
593
+ if (vErrors === null) {
594
+ vErrors = [err25];
595
+ }
596
+ else {
597
+ vErrors.push(err25);
598
+ }
599
+ errors++;
600
+ }
601
+ else {
602
+ var valid15 = true;
603
+ const len3 = data10.length;
604
+ for (let i3 = 0; i3 < len3; i3++) {
605
+ let data11 = data10[i3];
606
+ const _errs47 = errors;
607
+ const _errs48 = errors;
608
+ if (errors === _errs48) {
609
+ if ((typeof data11 == "number") && (isFinite(data11))) {
610
+ if (data11 < 0 || isNaN(data11)) {
611
+ const err26 = { instancePath: instancePath + "/scale/" + i3, schemaPath: "#/$defs/scale/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
612
+ if (vErrors === null) {
613
+ vErrors = [err26];
614
+ }
615
+ else {
616
+ vErrors.push(err26);
617
+ }
618
+ errors++;
619
+ }
620
+ }
621
+ else {
622
+ const err27 = { instancePath: instancePath + "/scale/" + i3, schemaPath: "#/$defs/scale/type", keyword: "type", params: { type: "number" }, message: "must be number" };
623
+ if (vErrors === null) {
624
+ vErrors = [err27];
625
+ }
626
+ else {
627
+ vErrors.push(err27);
628
+ }
629
+ errors++;
630
+ }
631
+ }
632
+ var valid15 = _errs47 === errors;
633
+ if (!valid15) {
634
+ break;
635
+ }
636
+ }
637
+ }
638
+ }
639
+ else {
640
+ const err28 = { instancePath: instancePath + "/scale", schemaPath: "#/properties/scale/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
641
+ if (vErrors === null) {
642
+ vErrors = [err28];
643
+ }
644
+ else {
645
+ vErrors.push(err28);
646
+ }
647
+ errors++;
648
+ }
649
+ }
650
+ var _valid3 = _errs45 === errors;
651
+ if (_valid3 && valid13) {
652
+ valid13 = false;
653
+ passing3 = [passing3, 1];
654
+ }
655
+ else {
656
+ if (_valid3) {
657
+ valid13 = true;
658
+ passing3 = 1;
659
+ }
660
+ }
661
+ if (!valid13) {
662
+ const err29 = { instancePath: instancePath + "/scale", schemaPath: "#/properties/scale/oneOf", keyword: "oneOf", params: { passingSchemas: passing3 }, message: "must match exactly one schema in oneOf" };
663
+ if (vErrors === null) {
664
+ vErrors = [err29];
665
+ }
666
+ else {
667
+ vErrors.push(err29);
668
+ }
669
+ errors++;
670
+ validate20.errors = vErrors;
671
+ return false;
672
+ }
673
+ else {
674
+ errors = _errs41;
675
+ if (vErrors !== null) {
676
+ if (_errs41) {
677
+ vErrors.length = _errs41;
678
+ }
679
+ else {
680
+ vErrors = null;
681
+ }
682
+ }
683
+ }
684
+ var valid0 = _errs40 === errors;
685
+ }
686
+ else {
687
+ var valid0 = true;
688
+ }
689
+ if (valid0) {
690
+ if (data.borderRadius !== undefined) {
691
+ let data12 = data.borderRadius;
692
+ const _errs50 = errors;
693
+ const _errs51 = errors;
694
+ let valid17 = false;
695
+ let passing4 = null;
696
+ const _errs52 = errors;
697
+ const _errs53 = errors;
698
+ if (errors === _errs53) {
699
+ if ((typeof data12 == "number") && (isFinite(data12))) {
700
+ if (data12 > 50 || isNaN(data12)) {
701
+ const err30 = { instancePath: instancePath + "/borderRadius", schemaPath: "#/$defs/borderRadius/maximum", keyword: "maximum", params: { comparison: "<=", limit: 50 }, message: "must be <= 50" };
702
+ if (vErrors === null) {
703
+ vErrors = [err30];
704
+ }
705
+ else {
706
+ vErrors.push(err30);
707
+ }
708
+ errors++;
709
+ }
710
+ else {
711
+ if (data12 < 0 || isNaN(data12)) {
712
+ const err31 = { instancePath: instancePath + "/borderRadius", schemaPath: "#/$defs/borderRadius/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
713
+ if (vErrors === null) {
714
+ vErrors = [err31];
715
+ }
716
+ else {
717
+ vErrors.push(err31);
718
+ }
719
+ errors++;
720
+ }
721
+ }
722
+ }
723
+ else {
724
+ const err32 = { instancePath: instancePath + "/borderRadius", schemaPath: "#/$defs/borderRadius/type", keyword: "type", params: { type: "number" }, message: "must be number" };
725
+ if (vErrors === null) {
726
+ vErrors = [err32];
727
+ }
728
+ else {
729
+ vErrors.push(err32);
730
+ }
731
+ errors++;
732
+ }
733
+ }
734
+ var _valid4 = _errs52 === errors;
735
+ if (_valid4) {
736
+ valid17 = true;
737
+ passing4 = 0;
738
+ }
739
+ const _errs55 = errors;
740
+ if (errors === _errs55) {
741
+ if (Array.isArray(data12)) {
742
+ if (data12.length > 2) {
743
+ const err33 = { instancePath: instancePath + "/borderRadius", schemaPath: "#/properties/borderRadius/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
744
+ if (vErrors === null) {
745
+ vErrors = [err33];
746
+ }
747
+ else {
748
+ vErrors.push(err33);
749
+ }
750
+ errors++;
751
+ }
752
+ else {
753
+ var valid19 = true;
754
+ const len4 = data12.length;
755
+ for (let i4 = 0; i4 < len4; i4++) {
756
+ let data13 = data12[i4];
757
+ const _errs57 = errors;
758
+ const _errs58 = errors;
759
+ if (errors === _errs58) {
760
+ if ((typeof data13 == "number") && (isFinite(data13))) {
761
+ if (data13 > 50 || isNaN(data13)) {
762
+ const err34 = { instancePath: instancePath + "/borderRadius/" + i4, schemaPath: "#/$defs/borderRadius/maximum", keyword: "maximum", params: { comparison: "<=", limit: 50 }, message: "must be <= 50" };
763
+ if (vErrors === null) {
764
+ vErrors = [err34];
765
+ }
766
+ else {
767
+ vErrors.push(err34);
768
+ }
769
+ errors++;
770
+ }
771
+ else {
772
+ if (data13 < 0 || isNaN(data13)) {
773
+ const err35 = { instancePath: instancePath + "/borderRadius/" + i4, schemaPath: "#/$defs/borderRadius/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
774
+ if (vErrors === null) {
775
+ vErrors = [err35];
776
+ }
777
+ else {
778
+ vErrors.push(err35);
779
+ }
780
+ errors++;
781
+ }
782
+ }
783
+ }
784
+ else {
785
+ const err36 = { instancePath: instancePath + "/borderRadius/" + i4, schemaPath: "#/$defs/borderRadius/type", keyword: "type", params: { type: "number" }, message: "must be number" };
786
+ if (vErrors === null) {
787
+ vErrors = [err36];
788
+ }
789
+ else {
790
+ vErrors.push(err36);
791
+ }
792
+ errors++;
793
+ }
794
+ }
795
+ var valid19 = _errs57 === errors;
796
+ if (!valid19) {
797
+ break;
798
+ }
799
+ }
800
+ }
801
+ }
802
+ else {
803
+ const err37 = { instancePath: instancePath + "/borderRadius", schemaPath: "#/properties/borderRadius/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
804
+ if (vErrors === null) {
805
+ vErrors = [err37];
806
+ }
807
+ else {
808
+ vErrors.push(err37);
809
+ }
810
+ errors++;
811
+ }
812
+ }
813
+ var _valid4 = _errs55 === errors;
814
+ if (_valid4 && valid17) {
815
+ valid17 = false;
816
+ passing4 = [passing4, 1];
817
+ }
818
+ else {
819
+ if (_valid4) {
820
+ valid17 = true;
821
+ passing4 = 1;
822
+ }
823
+ }
824
+ if (!valid17) {
825
+ const err38 = { instancePath: instancePath + "/borderRadius", schemaPath: "#/properties/borderRadius/oneOf", keyword: "oneOf", params: { passingSchemas: passing4 }, message: "must match exactly one schema in oneOf" };
826
+ if (vErrors === null) {
827
+ vErrors = [err38];
828
+ }
829
+ else {
830
+ vErrors.push(err38);
831
+ }
832
+ errors++;
833
+ validate20.errors = vErrors;
834
+ return false;
835
+ }
836
+ else {
837
+ errors = _errs51;
838
+ if (vErrors !== null) {
839
+ if (_errs51) {
840
+ vErrors.length = _errs51;
841
+ }
842
+ else {
843
+ vErrors = null;
844
+ }
845
+ }
846
+ }
847
+ var valid0 = _errs50 === errors;
848
+ }
849
+ else {
850
+ var valid0 = true;
851
+ }
852
+ if (valid0) {
853
+ var valid21 = true;
854
+ for (const key1 in data) {
855
+ if (pattern4.test(key1)) {
856
+ let data14 = data[key1];
857
+ const _errs60 = errors;
858
+ if (errors === _errs60) {
859
+ if ((typeof data14 == "number") && (isFinite(data14))) {
860
+ if (data14 > 100 || isNaN(data14)) {
861
+ validate20.errors = [{ instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Probability%24/maximum", keyword: "maximum", params: { comparison: "<=", limit: 100 }, message: "must be <= 100" }];
862
+ return false;
863
+ }
864
+ else {
865
+ if (data14 < 0 || isNaN(data14)) {
866
+ validate20.errors = [{ instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Probability%24/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" }];
867
+ return false;
868
+ }
869
+ }
870
+ }
871
+ else {
872
+ validate20.errors = [{ instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Probability%24/type", keyword: "type", params: { type: "number" }, message: "must be number" }];
873
+ return false;
874
+ }
875
+ }
876
+ var valid21 = _errs60 === errors;
877
+ if (!valid21) {
878
+ break;
879
+ }
880
+ }
881
+ }
882
+ if (valid21) {
883
+ var valid21 = true;
884
+ for (const key2 in data) {
885
+ if (pattern5.test(key2)) {
886
+ let data15 = data[key2];
887
+ const _errs62 = errors;
888
+ const _errs63 = errors;
889
+ let valid22 = false;
890
+ let passing5 = null;
891
+ const _errs64 = errors;
892
+ if (typeof data15 !== "string") {
893
+ const err39 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/0/type", keyword: "type", params: { type: "string" }, message: "must be string" };
894
+ if (vErrors === null) {
895
+ vErrors = [err39];
896
+ }
897
+ else {
898
+ vErrors.push(err39);
899
+ }
900
+ errors++;
901
+ }
902
+ var _valid5 = _errs64 === errors;
903
+ if (_valid5) {
904
+ valid22 = true;
905
+ passing5 = 0;
906
+ }
907
+ const _errs66 = errors;
908
+ if (errors === _errs66) {
909
+ if (Array.isArray(data15)) {
910
+ if (data15.length > 128) {
911
+ const err40 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 128 }, message: "must NOT have more than 128 items" };
912
+ if (vErrors === null) {
913
+ vErrors = [err40];
914
+ }
915
+ else {
916
+ vErrors.push(err40);
917
+ }
918
+ errors++;
919
+ }
920
+ else {
921
+ var valid23 = true;
922
+ const len5 = data15.length;
923
+ for (let i5 = 0; i5 < len5; i5++) {
924
+ const _errs68 = errors;
925
+ if (typeof data15[i5] !== "string") {
926
+ const err41 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i5, schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/1/items/type", keyword: "type", params: { type: "string" }, message: "must be string" };
927
+ if (vErrors === null) {
928
+ vErrors = [err41];
929
+ }
930
+ else {
931
+ vErrors.push(err41);
932
+ }
933
+ errors++;
934
+ }
935
+ var valid23 = _errs68 === errors;
936
+ if (!valid23) {
937
+ break;
938
+ }
939
+ }
940
+ }
941
+ }
942
+ else {
943
+ const err42 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
944
+ if (vErrors === null) {
945
+ vErrors = [err42];
946
+ }
947
+ else {
948
+ vErrors.push(err42);
949
+ }
950
+ errors++;
951
+ }
952
+ }
953
+ var _valid5 = _errs66 === errors;
954
+ if (_valid5 && valid22) {
955
+ valid22 = false;
956
+ passing5 = [passing5, 1];
957
+ }
958
+ else {
959
+ if (_valid5) {
960
+ valid22 = true;
961
+ passing5 = 1;
962
+ }
963
+ const _errs70 = errors;
964
+ if (errors === _errs70) {
965
+ if (data15 && typeof data15 == "object" && !Array.isArray(data15)) {
966
+ if (Object.keys(data15).length > 128) {
967
+ const err43 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/2/maxProperties", keyword: "maxProperties", params: { limit: 128 }, message: "must NOT have more than 128 properties" };
968
+ if (vErrors === null) {
969
+ vErrors = [err43];
970
+ }
971
+ else {
972
+ vErrors.push(err43);
973
+ }
974
+ errors++;
975
+ }
976
+ else {
977
+ for (const key3 in data15) {
978
+ const _errs72 = errors;
979
+ if (typeof key3 === "string") {
980
+ if (!pattern17.test(key3)) {
981
+ const err44 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/2/propertyNames/pattern", keyword: "pattern", params: { pattern: "^[a-z][a-zA-Z0-9]*$" }, message: "must match pattern \"" + "^[a-z][a-zA-Z0-9]*$" + "\"", propertyName: key3 };
982
+ if (vErrors === null) {
983
+ vErrors = [err44];
984
+ }
985
+ else {
986
+ vErrors.push(err44);
987
+ }
988
+ errors++;
989
+ }
990
+ }
991
+ var valid24 = _errs72 === errors;
992
+ if (!valid24) {
993
+ const err45 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/2/propertyNames", keyword: "propertyNames", params: { propertyName: key3 }, message: "property name must be valid" };
994
+ if (vErrors === null) {
995
+ vErrors = [err45];
996
+ }
997
+ else {
998
+ vErrors.push(err45);
999
+ }
1000
+ errors++;
1001
+ break;
1002
+ }
1003
+ }
1004
+ if (valid24) {
1005
+ for (const key4 in data15) {
1006
+ let data17 = data15[key4];
1007
+ const _errs74 = errors;
1008
+ if (errors === _errs74) {
1009
+ if ((typeof data17 == "number") && (isFinite(data17))) {
1010
+ if (data17 < 0 || isNaN(data17)) {
1011
+ const err46 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/2/additionalProperties/minimum", keyword: "minimum", params: { comparison: ">=", limit: 0 }, message: "must be >= 0" };
1012
+ if (vErrors === null) {
1013
+ vErrors = [err46];
1014
+ }
1015
+ else {
1016
+ vErrors.push(err46);
1017
+ }
1018
+ errors++;
1019
+ }
1020
+ }
1021
+ else {
1022
+ const err47 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/2/additionalProperties/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1023
+ if (vErrors === null) {
1024
+ vErrors = [err47];
1025
+ }
1026
+ else {
1027
+ vErrors.push(err47);
1028
+ }
1029
+ errors++;
1030
+ }
1031
+ }
1032
+ var valid25 = _errs74 === errors;
1033
+ if (!valid25) {
1034
+ break;
1035
+ }
1036
+ }
1037
+ }
1038
+ }
1039
+ }
1040
+ else {
1041
+ const err48 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
1042
+ if (vErrors === null) {
1043
+ vErrors = [err48];
1044
+ }
1045
+ else {
1046
+ vErrors.push(err48);
1047
+ }
1048
+ errors++;
1049
+ }
1050
+ }
1051
+ var _valid5 = _errs70 === errors;
1052
+ if (_valid5 && valid22) {
1053
+ valid22 = false;
1054
+ passing5 = [passing5, 2];
1055
+ }
1056
+ else {
1057
+ if (_valid5) {
1058
+ valid22 = true;
1059
+ passing5 = 2;
1060
+ }
1061
+ }
1062
+ }
1063
+ if (!valid22) {
1064
+ const err49 = { instancePath: instancePath + "/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Variant%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing5 }, message: "must match exactly one schema in oneOf" };
1065
+ if (vErrors === null) {
1066
+ vErrors = [err49];
1067
+ }
1068
+ else {
1069
+ vErrors.push(err49);
1070
+ }
1071
+ errors++;
1072
+ validate20.errors = vErrors;
1073
+ return false;
1074
+ }
1075
+ else {
1076
+ errors = _errs63;
1077
+ if (vErrors !== null) {
1078
+ if (_errs63) {
1079
+ vErrors.length = _errs63;
1080
+ }
1081
+ else {
1082
+ vErrors = null;
1083
+ }
1084
+ }
1085
+ }
1086
+ var valid21 = _errs62 === errors;
1087
+ if (!valid21) {
1088
+ break;
1089
+ }
1090
+ }
1091
+ }
1092
+ if (valid21) {
1093
+ var valid21 = true;
1094
+ for (const key5 in data) {
1095
+ if (pattern6.test(key5)) {
1096
+ let data18 = data[key5];
1097
+ const _errs76 = errors;
1098
+ const _errs77 = errors;
1099
+ let valid26 = false;
1100
+ let passing6 = null;
1101
+ const _errs78 = errors;
1102
+ const _errs79 = errors;
1103
+ if (errors === _errs79) {
1104
+ if (typeof data18 === "string") {
1105
+ if (!pattern19.test(data18)) {
1106
+ const err50 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/color/pattern", keyword: "pattern", params: { pattern: "^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$" }, message: "must match pattern \"" + "^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$" + "\"" };
1107
+ if (vErrors === null) {
1108
+ vErrors = [err50];
1109
+ }
1110
+ else {
1111
+ vErrors.push(err50);
1112
+ }
1113
+ errors++;
1114
+ }
1115
+ }
1116
+ else {
1117
+ const err51 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/color/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1118
+ if (vErrors === null) {
1119
+ vErrors = [err51];
1120
+ }
1121
+ else {
1122
+ vErrors.push(err51);
1123
+ }
1124
+ errors++;
1125
+ }
1126
+ }
1127
+ var _valid6 = _errs78 === errors;
1128
+ if (_valid6) {
1129
+ valid26 = true;
1130
+ passing6 = 0;
1131
+ }
1132
+ const _errs81 = errors;
1133
+ if (errors === _errs81) {
1134
+ if (Array.isArray(data18)) {
1135
+ if (data18.length > 128) {
1136
+ const err52 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Color%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 128 }, message: "must NOT have more than 128 items" };
1137
+ if (vErrors === null) {
1138
+ vErrors = [err52];
1139
+ }
1140
+ else {
1141
+ vErrors.push(err52);
1142
+ }
1143
+ errors++;
1144
+ }
1145
+ else {
1146
+ var valid28 = true;
1147
+ const len6 = data18.length;
1148
+ for (let i6 = 0; i6 < len6; i6++) {
1149
+ let data19 = data18[i6];
1150
+ const _errs83 = errors;
1151
+ const _errs84 = errors;
1152
+ if (errors === _errs84) {
1153
+ if (typeof data19 === "string") {
1154
+ if (!pattern19.test(data19)) {
1155
+ const err53 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i6, schemaPath: "#/$defs/color/pattern", keyword: "pattern", params: { pattern: "^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$" }, message: "must match pattern \"" + "^#?([a-fA-F0-9]{3}|[a-fA-F0-9]{4}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$" + "\"" };
1156
+ if (vErrors === null) {
1157
+ vErrors = [err53];
1158
+ }
1159
+ else {
1160
+ vErrors.push(err53);
1161
+ }
1162
+ errors++;
1163
+ }
1164
+ }
1165
+ else {
1166
+ const err54 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i6, schemaPath: "#/$defs/color/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1167
+ if (vErrors === null) {
1168
+ vErrors = [err54];
1169
+ }
1170
+ else {
1171
+ vErrors.push(err54);
1172
+ }
1173
+ errors++;
1174
+ }
1175
+ }
1176
+ var valid28 = _errs83 === errors;
1177
+ if (!valid28) {
1178
+ break;
1179
+ }
1180
+ }
1181
+ }
1182
+ }
1183
+ else {
1184
+ const err55 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Color%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1185
+ if (vErrors === null) {
1186
+ vErrors = [err55];
1187
+ }
1188
+ else {
1189
+ vErrors.push(err55);
1190
+ }
1191
+ errors++;
1192
+ }
1193
+ }
1194
+ var _valid6 = _errs81 === errors;
1195
+ if (_valid6 && valid26) {
1196
+ valid26 = false;
1197
+ passing6 = [passing6, 1];
1198
+ }
1199
+ else {
1200
+ if (_valid6) {
1201
+ valid26 = true;
1202
+ passing6 = 1;
1203
+ }
1204
+ }
1205
+ if (!valid26) {
1206
+ const err56 = { instancePath: instancePath + "/" + key5.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*Color%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing6 }, message: "must match exactly one schema in oneOf" };
1207
+ if (vErrors === null) {
1208
+ vErrors = [err56];
1209
+ }
1210
+ else {
1211
+ vErrors.push(err56);
1212
+ }
1213
+ errors++;
1214
+ validate20.errors = vErrors;
1215
+ return false;
1216
+ }
1217
+ else {
1218
+ errors = _errs77;
1219
+ if (vErrors !== null) {
1220
+ if (_errs77) {
1221
+ vErrors.length = _errs77;
1222
+ }
1223
+ else {
1224
+ vErrors = null;
1225
+ }
1226
+ }
1227
+ }
1228
+ var valid21 = _errs76 === errors;
1229
+ if (!valid21) {
1230
+ break;
1231
+ }
1232
+ }
1233
+ }
1234
+ if (valid21) {
1235
+ var valid21 = true;
1236
+ for (const key6 in data) {
1237
+ if (pattern7.test(key6)) {
1238
+ let data20 = data[key6];
1239
+ const _errs86 = errors;
1240
+ const _errs87 = errors;
1241
+ let valid30 = false;
1242
+ let passing7 = null;
1243
+ const _errs88 = errors;
1244
+ if (typeof data20 !== "string") {
1245
+ const err57 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/colorFill/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1246
+ if (vErrors === null) {
1247
+ vErrors = [err57];
1248
+ }
1249
+ else {
1250
+ vErrors.push(err57);
1251
+ }
1252
+ errors++;
1253
+ }
1254
+ if (!(((data20 === "solid") || (data20 === "linear")) || (data20 === "radial"))) {
1255
+ const err58 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/colorFill/enum", keyword: "enum", params: { allowedValues: schema44.enum }, message: "must be equal to one of the allowed values" };
1256
+ if (vErrors === null) {
1257
+ vErrors = [err58];
1258
+ }
1259
+ else {
1260
+ vErrors.push(err58);
1261
+ }
1262
+ errors++;
1263
+ }
1264
+ var _valid7 = _errs88 === errors;
1265
+ if (_valid7) {
1266
+ valid30 = true;
1267
+ passing7 = 0;
1268
+ }
1269
+ const _errs91 = errors;
1270
+ if (errors === _errs91) {
1271
+ if (Array.isArray(data20)) {
1272
+ if (data20.length > 128) {
1273
+ const err59 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorFill%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 128 }, message: "must NOT have more than 128 items" };
1274
+ if (vErrors === null) {
1275
+ vErrors = [err59];
1276
+ }
1277
+ else {
1278
+ vErrors.push(err59);
1279
+ }
1280
+ errors++;
1281
+ }
1282
+ else {
1283
+ var valid32 = true;
1284
+ const len7 = data20.length;
1285
+ for (let i7 = 0; i7 < len7; i7++) {
1286
+ let data21 = data20[i7];
1287
+ const _errs93 = errors;
1288
+ if (typeof data21 !== "string") {
1289
+ const err60 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i7, schemaPath: "#/$defs/colorFill/type", keyword: "type", params: { type: "string" }, message: "must be string" };
1290
+ if (vErrors === null) {
1291
+ vErrors = [err60];
1292
+ }
1293
+ else {
1294
+ vErrors.push(err60);
1295
+ }
1296
+ errors++;
1297
+ }
1298
+ if (!(((data21 === "solid") || (data21 === "linear")) || (data21 === "radial"))) {
1299
+ const err61 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i7, schemaPath: "#/$defs/colorFill/enum", keyword: "enum", params: { allowedValues: schema44.enum }, message: "must be equal to one of the allowed values" };
1300
+ if (vErrors === null) {
1301
+ vErrors = [err61];
1302
+ }
1303
+ else {
1304
+ vErrors.push(err61);
1305
+ }
1306
+ errors++;
1307
+ }
1308
+ var valid32 = _errs93 === errors;
1309
+ if (!valid32) {
1310
+ break;
1311
+ }
1312
+ }
1313
+ }
1314
+ }
1315
+ else {
1316
+ const err62 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorFill%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1317
+ if (vErrors === null) {
1318
+ vErrors = [err62];
1319
+ }
1320
+ else {
1321
+ vErrors.push(err62);
1322
+ }
1323
+ errors++;
1324
+ }
1325
+ }
1326
+ var _valid7 = _errs91 === errors;
1327
+ if (_valid7 && valid30) {
1328
+ valid30 = false;
1329
+ passing7 = [passing7, 1];
1330
+ }
1331
+ else {
1332
+ if (_valid7) {
1333
+ valid30 = true;
1334
+ passing7 = 1;
1335
+ }
1336
+ }
1337
+ if (!valid30) {
1338
+ const err63 = { instancePath: instancePath + "/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorFill%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing7 }, message: "must match exactly one schema in oneOf" };
1339
+ if (vErrors === null) {
1340
+ vErrors = [err63];
1341
+ }
1342
+ else {
1343
+ vErrors.push(err63);
1344
+ }
1345
+ errors++;
1346
+ validate20.errors = vErrors;
1347
+ return false;
1348
+ }
1349
+ else {
1350
+ errors = _errs87;
1351
+ if (vErrors !== null) {
1352
+ if (_errs87) {
1353
+ vErrors.length = _errs87;
1354
+ }
1355
+ else {
1356
+ vErrors = null;
1357
+ }
1358
+ }
1359
+ }
1360
+ var valid21 = _errs86 === errors;
1361
+ if (!valid21) {
1362
+ break;
1363
+ }
1364
+ }
1365
+ }
1366
+ if (valid21) {
1367
+ var valid21 = true;
1368
+ for (const key7 in data) {
1369
+ if (pattern8.test(key7)) {
1370
+ let data22 = data[key7];
1371
+ const _errs96 = errors;
1372
+ const _errs97 = errors;
1373
+ let valid34 = false;
1374
+ let passing8 = null;
1375
+ const _errs98 = errors;
1376
+ const _errs99 = errors;
1377
+ if (!(((typeof data22 == "number") && (!(data22 % 1) && !isNaN(data22))) && (isFinite(data22)))) {
1378
+ const err64 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/colorFillStops/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1379
+ if (vErrors === null) {
1380
+ vErrors = [err64];
1381
+ }
1382
+ else {
1383
+ vErrors.push(err64);
1384
+ }
1385
+ errors++;
1386
+ }
1387
+ if (errors === _errs99) {
1388
+ if ((typeof data22 == "number") && (isFinite(data22))) {
1389
+ if (data22 < 1 || isNaN(data22)) {
1390
+ const err65 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/colorFillStops/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
1391
+ if (vErrors === null) {
1392
+ vErrors = [err65];
1393
+ }
1394
+ else {
1395
+ vErrors.push(err65);
1396
+ }
1397
+ errors++;
1398
+ }
1399
+ }
1400
+ }
1401
+ var _valid8 = _errs98 === errors;
1402
+ if (_valid8) {
1403
+ valid34 = true;
1404
+ passing8 = 0;
1405
+ }
1406
+ const _errs101 = errors;
1407
+ if (errors === _errs101) {
1408
+ if (Array.isArray(data22)) {
1409
+ if (data22.length > 2) {
1410
+ const err66 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorFillStops%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
1411
+ if (vErrors === null) {
1412
+ vErrors = [err66];
1413
+ }
1414
+ else {
1415
+ vErrors.push(err66);
1416
+ }
1417
+ errors++;
1418
+ }
1419
+ else {
1420
+ var valid36 = true;
1421
+ const len8 = data22.length;
1422
+ for (let i8 = 0; i8 < len8; i8++) {
1423
+ let data23 = data22[i8];
1424
+ const _errs103 = errors;
1425
+ const _errs104 = errors;
1426
+ if (!(((typeof data23 == "number") && (!(data23 % 1) && !isNaN(data23))) && (isFinite(data23)))) {
1427
+ const err67 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i8, schemaPath: "#/$defs/colorFillStops/type", keyword: "type", params: { type: "integer" }, message: "must be integer" };
1428
+ if (vErrors === null) {
1429
+ vErrors = [err67];
1430
+ }
1431
+ else {
1432
+ vErrors.push(err67);
1433
+ }
1434
+ errors++;
1435
+ }
1436
+ if (errors === _errs104) {
1437
+ if ((typeof data23 == "number") && (isFinite(data23))) {
1438
+ if (data23 < 1 || isNaN(data23)) {
1439
+ const err68 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i8, schemaPath: "#/$defs/colorFillStops/minimum", keyword: "minimum", params: { comparison: ">=", limit: 1 }, message: "must be >= 1" };
1440
+ if (vErrors === null) {
1441
+ vErrors = [err68];
1442
+ }
1443
+ else {
1444
+ vErrors.push(err68);
1445
+ }
1446
+ errors++;
1447
+ }
1448
+ }
1449
+ }
1450
+ var valid36 = _errs103 === errors;
1451
+ if (!valid36) {
1452
+ break;
1453
+ }
1454
+ }
1455
+ }
1456
+ }
1457
+ else {
1458
+ const err69 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorFillStops%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1459
+ if (vErrors === null) {
1460
+ vErrors = [err69];
1461
+ }
1462
+ else {
1463
+ vErrors.push(err69);
1464
+ }
1465
+ errors++;
1466
+ }
1467
+ }
1468
+ var _valid8 = _errs101 === errors;
1469
+ if (_valid8 && valid34) {
1470
+ valid34 = false;
1471
+ passing8 = [passing8, 1];
1472
+ }
1473
+ else {
1474
+ if (_valid8) {
1475
+ valid34 = true;
1476
+ passing8 = 1;
1477
+ }
1478
+ }
1479
+ if (!valid34) {
1480
+ const err70 = { instancePath: instancePath + "/" + key7.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorFillStops%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing8 }, message: "must match exactly one schema in oneOf" };
1481
+ if (vErrors === null) {
1482
+ vErrors = [err70];
1483
+ }
1484
+ else {
1485
+ vErrors.push(err70);
1486
+ }
1487
+ errors++;
1488
+ validate20.errors = vErrors;
1489
+ return false;
1490
+ }
1491
+ else {
1492
+ errors = _errs97;
1493
+ if (vErrors !== null) {
1494
+ if (_errs97) {
1495
+ vErrors.length = _errs97;
1496
+ }
1497
+ else {
1498
+ vErrors = null;
1499
+ }
1500
+ }
1501
+ }
1502
+ var valid21 = _errs96 === errors;
1503
+ if (!valid21) {
1504
+ break;
1505
+ }
1506
+ }
1507
+ }
1508
+ if (valid21) {
1509
+ var valid21 = true;
1510
+ for (const key8 in data) {
1511
+ if (pattern9.test(key8)) {
1512
+ let data24 = data[key8];
1513
+ const _errs106 = errors;
1514
+ const _errs107 = errors;
1515
+ let valid38 = false;
1516
+ let passing9 = null;
1517
+ const _errs108 = errors;
1518
+ const _errs109 = errors;
1519
+ if (errors === _errs109) {
1520
+ if ((typeof data24 == "number") && (isFinite(data24))) {
1521
+ if (data24 > 360 || isNaN(data24)) {
1522
+ const err71 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/rotate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 360 }, message: "must be <= 360" };
1523
+ if (vErrors === null) {
1524
+ vErrors = [err71];
1525
+ }
1526
+ else {
1527
+ vErrors.push(err71);
1528
+ }
1529
+ errors++;
1530
+ }
1531
+ else {
1532
+ if (data24 < -360 || isNaN(data24)) {
1533
+ const err72 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/rotate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -360 }, message: "must be >= -360" };
1534
+ if (vErrors === null) {
1535
+ vErrors = [err72];
1536
+ }
1537
+ else {
1538
+ vErrors.push(err72);
1539
+ }
1540
+ errors++;
1541
+ }
1542
+ }
1543
+ }
1544
+ else {
1545
+ const err73 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/rotate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1546
+ if (vErrors === null) {
1547
+ vErrors = [err73];
1548
+ }
1549
+ else {
1550
+ vErrors.push(err73);
1551
+ }
1552
+ errors++;
1553
+ }
1554
+ }
1555
+ var _valid9 = _errs108 === errors;
1556
+ if (_valid9) {
1557
+ valid38 = true;
1558
+ passing9 = 0;
1559
+ }
1560
+ const _errs111 = errors;
1561
+ if (errors === _errs111) {
1562
+ if (Array.isArray(data24)) {
1563
+ if (data24.length > 2) {
1564
+ const err74 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorAngle%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
1565
+ if (vErrors === null) {
1566
+ vErrors = [err74];
1567
+ }
1568
+ else {
1569
+ vErrors.push(err74);
1570
+ }
1571
+ errors++;
1572
+ }
1573
+ else {
1574
+ var valid40 = true;
1575
+ const len9 = data24.length;
1576
+ for (let i9 = 0; i9 < len9; i9++) {
1577
+ let data25 = data24[i9];
1578
+ const _errs113 = errors;
1579
+ const _errs114 = errors;
1580
+ if (errors === _errs114) {
1581
+ if ((typeof data25 == "number") && (isFinite(data25))) {
1582
+ if (data25 > 360 || isNaN(data25)) {
1583
+ const err75 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i9, schemaPath: "#/$defs/rotate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 360 }, message: "must be <= 360" };
1584
+ if (vErrors === null) {
1585
+ vErrors = [err75];
1586
+ }
1587
+ else {
1588
+ vErrors.push(err75);
1589
+ }
1590
+ errors++;
1591
+ }
1592
+ else {
1593
+ if (data25 < -360 || isNaN(data25)) {
1594
+ const err76 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i9, schemaPath: "#/$defs/rotate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -360 }, message: "must be >= -360" };
1595
+ if (vErrors === null) {
1596
+ vErrors = [err76];
1597
+ }
1598
+ else {
1599
+ vErrors.push(err76);
1600
+ }
1601
+ errors++;
1602
+ }
1603
+ }
1604
+ }
1605
+ else {
1606
+ const err77 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i9, schemaPath: "#/$defs/rotate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1607
+ if (vErrors === null) {
1608
+ vErrors = [err77];
1609
+ }
1610
+ else {
1611
+ vErrors.push(err77);
1612
+ }
1613
+ errors++;
1614
+ }
1615
+ }
1616
+ var valid40 = _errs113 === errors;
1617
+ if (!valid40) {
1618
+ break;
1619
+ }
1620
+ }
1621
+ }
1622
+ }
1623
+ else {
1624
+ const err78 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorAngle%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1625
+ if (vErrors === null) {
1626
+ vErrors = [err78];
1627
+ }
1628
+ else {
1629
+ vErrors.push(err78);
1630
+ }
1631
+ errors++;
1632
+ }
1633
+ }
1634
+ var _valid9 = _errs111 === errors;
1635
+ if (_valid9 && valid38) {
1636
+ valid38 = false;
1637
+ passing9 = [passing9, 1];
1638
+ }
1639
+ else {
1640
+ if (_valid9) {
1641
+ valid38 = true;
1642
+ passing9 = 1;
1643
+ }
1644
+ }
1645
+ if (!valid38) {
1646
+ const err79 = { instancePath: instancePath + "/" + key8.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E%5Ba-z%5D%5Ba-zA-Z0-9%5D*ColorAngle%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing9 }, message: "must match exactly one schema in oneOf" };
1647
+ if (vErrors === null) {
1648
+ vErrors = [err79];
1649
+ }
1650
+ else {
1651
+ vErrors.push(err79);
1652
+ }
1653
+ errors++;
1654
+ validate20.errors = vErrors;
1655
+ return false;
1656
+ }
1657
+ else {
1658
+ errors = _errs107;
1659
+ if (vErrors !== null) {
1660
+ if (_errs107) {
1661
+ vErrors.length = _errs107;
1662
+ }
1663
+ else {
1664
+ vErrors = null;
1665
+ }
1666
+ }
1667
+ }
1668
+ var valid21 = _errs106 === errors;
1669
+ if (!valid21) {
1670
+ break;
1671
+ }
1672
+ }
1673
+ }
1674
+ if (valid21) {
1675
+ var valid21 = true;
1676
+ for (const key9 in data) {
1677
+ if (pattern10.test(key9)) {
1678
+ let data26 = data[key9];
1679
+ const _errs116 = errors;
1680
+ const _errs117 = errors;
1681
+ let valid42 = false;
1682
+ let passing10 = null;
1683
+ const _errs118 = errors;
1684
+ const _errs119 = errors;
1685
+ if (errors === _errs119) {
1686
+ if ((typeof data26 == "number") && (isFinite(data26))) {
1687
+ if (data26 > 360 || isNaN(data26)) {
1688
+ const err80 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/rotate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 360 }, message: "must be <= 360" };
1689
+ if (vErrors === null) {
1690
+ vErrors = [err80];
1691
+ }
1692
+ else {
1693
+ vErrors.push(err80);
1694
+ }
1695
+ errors++;
1696
+ }
1697
+ else {
1698
+ if (data26 < -360 || isNaN(data26)) {
1699
+ const err81 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/rotate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -360 }, message: "must be >= -360" };
1700
+ if (vErrors === null) {
1701
+ vErrors = [err81];
1702
+ }
1703
+ else {
1704
+ vErrors.push(err81);
1705
+ }
1706
+ errors++;
1707
+ }
1708
+ }
1709
+ }
1710
+ else {
1711
+ const err82 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/rotate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1712
+ if (vErrors === null) {
1713
+ vErrors = [err82];
1714
+ }
1715
+ else {
1716
+ vErrors.push(err82);
1717
+ }
1718
+ errors++;
1719
+ }
1720
+ }
1721
+ var _valid10 = _errs118 === errors;
1722
+ if (_valid10) {
1723
+ valid42 = true;
1724
+ passing10 = 0;
1725
+ }
1726
+ const _errs121 = errors;
1727
+ if (errors === _errs121) {
1728
+ if (Array.isArray(data26)) {
1729
+ if (data26.length > 2) {
1730
+ const err83 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(r%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*R)otate%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
1731
+ if (vErrors === null) {
1732
+ vErrors = [err83];
1733
+ }
1734
+ else {
1735
+ vErrors.push(err83);
1736
+ }
1737
+ errors++;
1738
+ }
1739
+ else {
1740
+ var valid44 = true;
1741
+ const len10 = data26.length;
1742
+ for (let i10 = 0; i10 < len10; i10++) {
1743
+ let data27 = data26[i10];
1744
+ const _errs123 = errors;
1745
+ const _errs124 = errors;
1746
+ if (errors === _errs124) {
1747
+ if ((typeof data27 == "number") && (isFinite(data27))) {
1748
+ if (data27 > 360 || isNaN(data27)) {
1749
+ const err84 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i10, schemaPath: "#/$defs/rotate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 360 }, message: "must be <= 360" };
1750
+ if (vErrors === null) {
1751
+ vErrors = [err84];
1752
+ }
1753
+ else {
1754
+ vErrors.push(err84);
1755
+ }
1756
+ errors++;
1757
+ }
1758
+ else {
1759
+ if (data27 < -360 || isNaN(data27)) {
1760
+ const err85 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i10, schemaPath: "#/$defs/rotate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -360 }, message: "must be >= -360" };
1761
+ if (vErrors === null) {
1762
+ vErrors = [err85];
1763
+ }
1764
+ else {
1765
+ vErrors.push(err85);
1766
+ }
1767
+ errors++;
1768
+ }
1769
+ }
1770
+ }
1771
+ else {
1772
+ const err86 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i10, schemaPath: "#/$defs/rotate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1773
+ if (vErrors === null) {
1774
+ vErrors = [err86];
1775
+ }
1776
+ else {
1777
+ vErrors.push(err86);
1778
+ }
1779
+ errors++;
1780
+ }
1781
+ }
1782
+ var valid44 = _errs123 === errors;
1783
+ if (!valid44) {
1784
+ break;
1785
+ }
1786
+ }
1787
+ }
1788
+ }
1789
+ else {
1790
+ const err87 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(r%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*R)otate%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1791
+ if (vErrors === null) {
1792
+ vErrors = [err87];
1793
+ }
1794
+ else {
1795
+ vErrors.push(err87);
1796
+ }
1797
+ errors++;
1798
+ }
1799
+ }
1800
+ var _valid10 = _errs121 === errors;
1801
+ if (_valid10 && valid42) {
1802
+ valid42 = false;
1803
+ passing10 = [passing10, 1];
1804
+ }
1805
+ else {
1806
+ if (_valid10) {
1807
+ valid42 = true;
1808
+ passing10 = 1;
1809
+ }
1810
+ }
1811
+ if (!valid42) {
1812
+ const err88 = { instancePath: instancePath + "/" + key9.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(r%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*R)otate%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing10 }, message: "must match exactly one schema in oneOf" };
1813
+ if (vErrors === null) {
1814
+ vErrors = [err88];
1815
+ }
1816
+ else {
1817
+ vErrors.push(err88);
1818
+ }
1819
+ errors++;
1820
+ validate20.errors = vErrors;
1821
+ return false;
1822
+ }
1823
+ else {
1824
+ errors = _errs117;
1825
+ if (vErrors !== null) {
1826
+ if (_errs117) {
1827
+ vErrors.length = _errs117;
1828
+ }
1829
+ else {
1830
+ vErrors = null;
1831
+ }
1832
+ }
1833
+ }
1834
+ var valid21 = _errs116 === errors;
1835
+ if (!valid21) {
1836
+ break;
1837
+ }
1838
+ }
1839
+ }
1840
+ if (valid21) {
1841
+ var valid21 = true;
1842
+ for (const key10 in data) {
1843
+ if (pattern11.test(key10)) {
1844
+ let data28 = data[key10];
1845
+ const _errs126 = errors;
1846
+ const _errs127 = errors;
1847
+ let valid46 = false;
1848
+ let passing11 = null;
1849
+ const _errs128 = errors;
1850
+ const _errs129 = errors;
1851
+ if (errors === _errs129) {
1852
+ if ((typeof data28 == "number") && (isFinite(data28))) {
1853
+ if (data28 > 100 || isNaN(data28)) {
1854
+ const err89 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/translate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 100 }, message: "must be <= 100" };
1855
+ if (vErrors === null) {
1856
+ vErrors = [err89];
1857
+ }
1858
+ else {
1859
+ vErrors.push(err89);
1860
+ }
1861
+ errors++;
1862
+ }
1863
+ else {
1864
+ if (data28 < -100 || isNaN(data28)) {
1865
+ const err90 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/translate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -100 }, message: "must be >= -100" };
1866
+ if (vErrors === null) {
1867
+ vErrors = [err90];
1868
+ }
1869
+ else {
1870
+ vErrors.push(err90);
1871
+ }
1872
+ errors++;
1873
+ }
1874
+ }
1875
+ }
1876
+ else {
1877
+ const err91 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/translate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1878
+ if (vErrors === null) {
1879
+ vErrors = [err91];
1880
+ }
1881
+ else {
1882
+ vErrors.push(err91);
1883
+ }
1884
+ errors++;
1885
+ }
1886
+ }
1887
+ var _valid11 = _errs128 === errors;
1888
+ if (_valid11) {
1889
+ valid46 = true;
1890
+ passing11 = 0;
1891
+ }
1892
+ const _errs131 = errors;
1893
+ if (errors === _errs131) {
1894
+ if (Array.isArray(data28)) {
1895
+ if (data28.length > 2) {
1896
+ const err92 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(t%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*T)ranslateY%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
1897
+ if (vErrors === null) {
1898
+ vErrors = [err92];
1899
+ }
1900
+ else {
1901
+ vErrors.push(err92);
1902
+ }
1903
+ errors++;
1904
+ }
1905
+ else {
1906
+ var valid48 = true;
1907
+ const len11 = data28.length;
1908
+ for (let i11 = 0; i11 < len11; i11++) {
1909
+ let data29 = data28[i11];
1910
+ const _errs133 = errors;
1911
+ const _errs134 = errors;
1912
+ if (errors === _errs134) {
1913
+ if ((typeof data29 == "number") && (isFinite(data29))) {
1914
+ if (data29 > 100 || isNaN(data29)) {
1915
+ const err93 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i11, schemaPath: "#/$defs/translate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 100 }, message: "must be <= 100" };
1916
+ if (vErrors === null) {
1917
+ vErrors = [err93];
1918
+ }
1919
+ else {
1920
+ vErrors.push(err93);
1921
+ }
1922
+ errors++;
1923
+ }
1924
+ else {
1925
+ if (data29 < -100 || isNaN(data29)) {
1926
+ const err94 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i11, schemaPath: "#/$defs/translate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -100 }, message: "must be >= -100" };
1927
+ if (vErrors === null) {
1928
+ vErrors = [err94];
1929
+ }
1930
+ else {
1931
+ vErrors.push(err94);
1932
+ }
1933
+ errors++;
1934
+ }
1935
+ }
1936
+ }
1937
+ else {
1938
+ const err95 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i11, schemaPath: "#/$defs/translate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
1939
+ if (vErrors === null) {
1940
+ vErrors = [err95];
1941
+ }
1942
+ else {
1943
+ vErrors.push(err95);
1944
+ }
1945
+ errors++;
1946
+ }
1947
+ }
1948
+ var valid48 = _errs133 === errors;
1949
+ if (!valid48) {
1950
+ break;
1951
+ }
1952
+ }
1953
+ }
1954
+ }
1955
+ else {
1956
+ const err96 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(t%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*T)ranslateY%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
1957
+ if (vErrors === null) {
1958
+ vErrors = [err96];
1959
+ }
1960
+ else {
1961
+ vErrors.push(err96);
1962
+ }
1963
+ errors++;
1964
+ }
1965
+ }
1966
+ var _valid11 = _errs131 === errors;
1967
+ if (_valid11 && valid46) {
1968
+ valid46 = false;
1969
+ passing11 = [passing11, 1];
1970
+ }
1971
+ else {
1972
+ if (_valid11) {
1973
+ valid46 = true;
1974
+ passing11 = 1;
1975
+ }
1976
+ }
1977
+ if (!valid46) {
1978
+ const err97 = { instancePath: instancePath + "/" + key10.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(t%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*T)ranslateY%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing11 }, message: "must match exactly one schema in oneOf" };
1979
+ if (vErrors === null) {
1980
+ vErrors = [err97];
1981
+ }
1982
+ else {
1983
+ vErrors.push(err97);
1984
+ }
1985
+ errors++;
1986
+ validate20.errors = vErrors;
1987
+ return false;
1988
+ }
1989
+ else {
1990
+ errors = _errs127;
1991
+ if (vErrors !== null) {
1992
+ if (_errs127) {
1993
+ vErrors.length = _errs127;
1994
+ }
1995
+ else {
1996
+ vErrors = null;
1997
+ }
1998
+ }
1999
+ }
2000
+ var valid21 = _errs126 === errors;
2001
+ if (!valid21) {
2002
+ break;
2003
+ }
2004
+ }
2005
+ }
2006
+ if (valid21) {
2007
+ var valid21 = true;
2008
+ for (const key11 in data) {
2009
+ if (pattern12.test(key11)) {
2010
+ let data30 = data[key11];
2011
+ const _errs136 = errors;
2012
+ const _errs137 = errors;
2013
+ let valid50 = false;
2014
+ let passing12 = null;
2015
+ const _errs138 = errors;
2016
+ const _errs139 = errors;
2017
+ if (errors === _errs139) {
2018
+ if ((typeof data30 == "number") && (isFinite(data30))) {
2019
+ if (data30 > 100 || isNaN(data30)) {
2020
+ const err98 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/translate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 100 }, message: "must be <= 100" };
2021
+ if (vErrors === null) {
2022
+ vErrors = [err98];
2023
+ }
2024
+ else {
2025
+ vErrors.push(err98);
2026
+ }
2027
+ errors++;
2028
+ }
2029
+ else {
2030
+ if (data30 < -100 || isNaN(data30)) {
2031
+ const err99 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/translate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -100 }, message: "must be >= -100" };
2032
+ if (vErrors === null) {
2033
+ vErrors = [err99];
2034
+ }
2035
+ else {
2036
+ vErrors.push(err99);
2037
+ }
2038
+ errors++;
2039
+ }
2040
+ }
2041
+ }
2042
+ else {
2043
+ const err100 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/$defs/translate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2044
+ if (vErrors === null) {
2045
+ vErrors = [err100];
2046
+ }
2047
+ else {
2048
+ vErrors.push(err100);
2049
+ }
2050
+ errors++;
2051
+ }
2052
+ }
2053
+ var _valid12 = _errs138 === errors;
2054
+ if (_valid12) {
2055
+ valid50 = true;
2056
+ passing12 = 0;
2057
+ }
2058
+ const _errs141 = errors;
2059
+ if (errors === _errs141) {
2060
+ if (Array.isArray(data30)) {
2061
+ if (data30.length > 2) {
2062
+ const err101 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(t%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*T)ranslateX%24/oneOf/1/maxItems", keyword: "maxItems", params: { limit: 2 }, message: "must NOT have more than 2 items" };
2063
+ if (vErrors === null) {
2064
+ vErrors = [err101];
2065
+ }
2066
+ else {
2067
+ vErrors.push(err101);
2068
+ }
2069
+ errors++;
2070
+ }
2071
+ else {
2072
+ var valid52 = true;
2073
+ const len12 = data30.length;
2074
+ for (let i12 = 0; i12 < len12; i12++) {
2075
+ let data31 = data30[i12];
2076
+ const _errs143 = errors;
2077
+ const _errs144 = errors;
2078
+ if (errors === _errs144) {
2079
+ if ((typeof data31 == "number") && (isFinite(data31))) {
2080
+ if (data31 > 100 || isNaN(data31)) {
2081
+ const err102 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i12, schemaPath: "#/$defs/translate/maximum", keyword: "maximum", params: { comparison: "<=", limit: 100 }, message: "must be <= 100" };
2082
+ if (vErrors === null) {
2083
+ vErrors = [err102];
2084
+ }
2085
+ else {
2086
+ vErrors.push(err102);
2087
+ }
2088
+ errors++;
2089
+ }
2090
+ else {
2091
+ if (data31 < -100 || isNaN(data31)) {
2092
+ const err103 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i12, schemaPath: "#/$defs/translate/minimum", keyword: "minimum", params: { comparison: ">=", limit: -100 }, message: "must be >= -100" };
2093
+ if (vErrors === null) {
2094
+ vErrors = [err103];
2095
+ }
2096
+ else {
2097
+ vErrors.push(err103);
2098
+ }
2099
+ errors++;
2100
+ }
2101
+ }
2102
+ }
2103
+ else {
2104
+ const err104 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1") + "/" + i12, schemaPath: "#/$defs/translate/type", keyword: "type", params: { type: "number" }, message: "must be number" };
2105
+ if (vErrors === null) {
2106
+ vErrors = [err104];
2107
+ }
2108
+ else {
2109
+ vErrors.push(err104);
2110
+ }
2111
+ errors++;
2112
+ }
2113
+ }
2114
+ var valid52 = _errs143 === errors;
2115
+ if (!valid52) {
2116
+ break;
2117
+ }
2118
+ }
2119
+ }
2120
+ }
2121
+ else {
2122
+ const err105 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(t%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*T)ranslateX%24/oneOf/1/type", keyword: "type", params: { type: "array" }, message: "must be array" };
2123
+ if (vErrors === null) {
2124
+ vErrors = [err105];
2125
+ }
2126
+ else {
2127
+ vErrors.push(err105);
2128
+ }
2129
+ errors++;
2130
+ }
2131
+ }
2132
+ var _valid12 = _errs141 === errors;
2133
+ if (_valid12 && valid50) {
2134
+ valid50 = false;
2135
+ passing12 = [passing12, 1];
2136
+ }
2137
+ else {
2138
+ if (_valid12) {
2139
+ valid50 = true;
2140
+ passing12 = 1;
2141
+ }
2142
+ }
2143
+ if (!valid50) {
2144
+ const err106 = { instancePath: instancePath + "/" + key11.replace(/~/g, "~0").replace(/\//g, "~1"), schemaPath: "#/patternProperties/%5E(t%7C%5Ba-z%5D%5Ba-zA-Z0-9%5D*T)ranslateX%24/oneOf", keyword: "oneOf", params: { passingSchemas: passing12 }, message: "must match exactly one schema in oneOf" };
2145
+ if (vErrors === null) {
2146
+ vErrors = [err106];
2147
+ }
2148
+ else {
2149
+ vErrors.push(err106);
2150
+ }
2151
+ errors++;
2152
+ validate20.errors = vErrors;
2153
+ return false;
2154
+ }
2155
+ else {
2156
+ errors = _errs137;
2157
+ if (vErrors !== null) {
2158
+ if (_errs137) {
2159
+ vErrors.length = _errs137;
2160
+ }
2161
+ else {
2162
+ vErrors = null;
2163
+ }
2164
+ }
2165
+ }
2166
+ var valid21 = _errs136 === errors;
2167
+ if (!valid21) {
2168
+ break;
2169
+ }
2170
+ }
2171
+ }
2172
+ }
2173
+ }
2174
+ }
2175
+ }
2176
+ }
2177
+ }
2178
+ }
2179
+ }
2180
+ }
2181
+ }
2182
+ }
2183
+ }
2184
+ }
2185
+ }
2186
+ }
2187
+ }
2188
+ }
2189
+ }
2190
+ }
2191
+ else {
2192
+ validate20.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
2193
+ return false;
2194
+ }
2195
+ } validate20.errors = vErrors; return errors === 0; }
2196
+ validate20.evaluated = { "props": true, "dynamicProps": false, "dynamicItems": false };
2197
+ export class OptionsValidator {
2198
+ static validate(data) {
2199
+ if (!validate20(data)) {
2200
+ throw new OptionsValidationError(validate20.errors || []);
2201
+ }
2202
+ }
2203
+ }