@pagefront/lint-commerce 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -2
- package/dist/catalogue.js +12 -2
- package/dist/organization-catalogue.js +1 -1
- package/dist/product-schema.js +125 -17
- package/dist/rules/configurator-pricing.d.ts +114 -0
- package/dist/rules/configurator-pricing.js +349 -0
- package/dist/rules/pdp-e-001.js +12 -3
- package/dist/rules/pdp-e-007.d.ts +12 -0
- package/dist/rules/pdp-e-007.js +53 -0
- package/dist/rules/pdp-e-008.d.ts +10 -0
- package/dist/rules/pdp-e-008.js +41 -0
- package/dist/rules/pdp-e-009.d.ts +12 -0
- package/dist/rules/pdp-e-009.js +62 -0
- package/dist/rules/pdp-e-010.d.ts +10 -0
- package/dist/rules/pdp-e-010.js +37 -0
- package/dist/rules/pdp-e-011.d.ts +11 -0
- package/dist/rules/pdp-e-011.js +53 -0
- package/dist/rules/pdp-e-012.d.ts +2 -0
- package/dist/rules/pdp-e-012.js +32 -0
- package/dist/rules/pdp-w-032.d.ts +10 -0
- package/dist/rules/pdp-w-032.js +42 -0
- package/dist/rules/pdp-w-033.d.ts +10 -0
- package/dist/rules/pdp-w-033.js +30 -0
- package/dist/rules/pdp-w-034.d.ts +10 -0
- package/dist/rules/pdp-w-034.js +28 -0
- package/dist/rules/pdp-w-035.d.ts +11 -0
- package/dist/rules/pdp-w-035.js +41 -0
- package/dist/schema-validators.js +8 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
// Generated by scripts/compile-validators.mjs; do not edit.
|
|
2
|
-
// schemas sha256
|
|
2
|
+
// schemas sha256 00302eaaa1afefbb1e87084fbedee546ab791ae732ff2723f4b808b31bcecbb8
|
|
3
3
|
import ucs2lengthModule from "ajv/dist/runtime/ucs2length.js";
|
|
4
4
|
import { fullFormats } from "ajv-formats/dist/formats.js";
|
|
5
5
|
const ucs2length = typeof ucs2lengthModule === "function" ? ucs2lengthModule : ucs2lengthModule.default;
|
|
6
|
-
export const validateProduct = validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json","title":"Pagefront Product Sheet v0.9","description":"Formal schema for the Pagefront product sheet. v0.9 is an additive release on top of v0.8: the legalEntity entry's organization now also validates in reference-stub form (@type + @id, no name) so entries can reference a Commerce Organization Sheet; the inline form and all other constraints are unchanged, and v0.8 sheets remain valid once their format_version is updated. v0.8 is an additive release on top of v0.7: it adds a pagefront:featureGroup[] array for grouped, ordered technical specifications (groups of Schema.org PropertyValue entries, with an optional pagefront:presentationValue display variant per entry), a pagefront:productHighlights[] array of ordered publisher-authored selling-point strings, and a pagefront:legalEntity[] array for role-typed legal entities behind a product (closed role enum: brand_owner, licensee, authorized_representative, importer, manufacturer — EU GPSR responsible persons and similar). gtin and gtin13 now accept a string or an array of strings (regional packaging, re-releases); category now accepts the display string, a Schema.org CategoryCode object, or a mixed array of both. The pagefront:Document role enum gains repairability_index, recall_notice, and declaration_of_conformity; the pagefront:RelatedProduct relationship enum gains service. v0.8 also adds two GPSR-driven safety fields: a pagefront:safetyWarning[] array for typed, language-scoped safety warnings (text required; optional pictogram URL and open-vocabulary hazardCategory) and a pagefront:safetyNotice[] array for structured recall/safety notices (closed noticeType enum: recall, warning; closed remedy enum: repair, replacement, refund). v0.7 sheets remain valid under v0.8 once their format_version is updated. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true},"variantEntry":{"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"type":["string","number"]},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"imageObject":{"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true},"videoObject":{"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true},"questionObject":{"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true},"documentObject":{"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false},"relatedProductObject":{"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false},"gtinValue":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]},"gtin13Value":{"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]},"categoryCode":{"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true},"featureGroup":{"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false},"featureEntry":{"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true},"legalEntity":{"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false},"safetyWarning":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false},"safetyNotice":{"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"offer":{"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"type":"string"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"additionalProperties":true},"aggregateOffer":{"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"type":"number"},"highPrice":{"type":"number"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"}},"additionalProperties":true},"priceOnRequest":{"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"sizeChart":{"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false},"measurement":{"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false},"modelReference":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false},"sizeRecommendation":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false},"sizeAdjustment":{"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false},"material":{"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false},"construction":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true},"manufacturingStage":{"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false},"gemstone":{"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false},"configurator":{"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"basePrice":{"type":"string"},"basePriceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceFormula":{"type":"string"},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1}},"additionalProperties":false},"configuratorDimension":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"priceModifier":{"type":"string"},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"description":{"type":"string"}},"additionalProperties":true}},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"madeToOrderTerms":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false},"duration":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false},"deliveryEstimate":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false},"aftermarketService":{"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"promotion":{"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"type":"string"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false}}};const formats0 = fullFormats.uri;const formats6 = fullFormats["date-time"];const pattern4 = new RegExp("^\\d+(\\.\\d+)?$", "u");const schema32 = {"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true};const schema33 = {"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]};const schema34 = {"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]};const schema38 = {"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true};const schema40 = {"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true};const schema41 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true};const schema42 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema47 = {"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"type":"number"},"highPrice":{"type":"number"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"}},"additionalProperties":true};const schema48 = {"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true};const schema49 = {"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false};const schema50 = {"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false};const schema53 = {"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false};const schema54 = {"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false};const schema55 = {"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false};const schema61 = {"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false};const schema63 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true};const schema64 = {"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false};const schema65 = {"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false};const formats50 = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;const formats42 = fullFormats.date;const func1 = ucs2length;const func7 = Object.prototype.hasOwnProperty;const pattern5 = new RegExp("^[0-9]{13}$", "u");const pattern9 = new RegExp("^[A-Z]{2}$", "u");const pattern10 = new RegExp("^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$", "u");const pattern11 = new RegExp("^[A-Z]{3}$", "u");const pattern12 = new RegExp("^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$", "u");const pattern13 = new RegExp("^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$", "u");const schema35 = {"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"type":["string","number"]},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err1 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(!(formats0(data1))){const err2 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}else {const err3 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.url !== undefined){let data2 = data.url;if(typeof data2 === "string"){if(!(formats0(data2))){const err4 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.sheet_url !== undefined){let data3 = data.sheet_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err6 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err8 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err9 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.gtin13 !== undefined){let data6 = data.gtin13;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(typeof data6 === "string"){if(!pattern5.test(data6)){const err10 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs17 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data6)){if(data6.length < 1){const err12 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}const len0 = data6.length;for(let i0=0; i0<len0; i0++){let data7 = data6[i0];if(typeof data7 === "string"){if(!pattern5.test(data7)){const err13 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err16 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data8 = data.gtin;const _errs25 = errors;let valid6 = false;let passing1 = null;const _errs26 = errors;if(typeof data8 !== "string"){const err17 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid1 = _errs26 === errors;if(_valid1){valid6 = true;passing1 = 0;}const _errs28 = errors;if(Array.isArray(data8)){if(data8.length < 1){const err18 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const len1 = data8.length;for(let i1=0; i1<len1; i1++){if(typeof data8[i1] !== "string"){const err19 = {instancePath:instancePath+"/gtin/" + i1,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid1 = _errs28 === errors;if(_valid1 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid1){valid6 = true;passing1 = 1;}}if(!valid6){const err21 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs25;if(vErrors !== null){if(_errs25){vErrors.length = _errs25;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err22 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err23 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.color !== undefined){if(typeof data.color !== "string"){const err24 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.size !== undefined){if(typeof data.size !== "string"){const err25 = {instancePath:instancePath+"/size",schemaPath:"#/properties/size/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err26 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.price !== undefined){let data15 = data.price;if((typeof data15 !== "string") && (!((typeof data15 == "number") && (isFinite(data15))))){const err27 = {instancePath:instancePath+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type: schema35.properties.price.type},message:"must be string,number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.image !== undefined){let data16 = data.image;if(typeof data16 === "string"){if(!(formats0(data16))){const err28 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}else {const err29 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err30 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate22.errors = vErrors;return errors === 0;}validate22.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema43 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"type":"string"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"additionalProperties":true};const schema44 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false};const schema45 = {"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"type":"string"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false};const schema46 = {"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.price === undefined){const err0 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "price"},message:"must have required property '"+"price"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.priceCurrency === undefined){const err1 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs2 === errors;valid0 = valid0 || _valid0;const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.priceSpecification === undefined){const err2 = {instancePath,schemaPath:"#/anyOf/1/required",keyword:"required",params:{missingProperty: "priceSpecification"},message:"must have required property '"+"priceSpecification"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs3 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data["pagefront:priceOnRequest"] === undefined){const err3 = {instancePath,schemaPath:"#/anyOf/2/required",keyword:"required",params:{missingProperty: "pagefront:priceOnRequest"},message:"must have required property '"+"pagefront:priceOnRequest"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(!valid0){const err4 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@type"] !== undefined){if("Offer" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "Offer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err7 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.itemOffered !== undefined){let data2 = data.itemOffered;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err8 = {instancePath:instancePath+"/itemOffered",schemaPath:"#/properties/itemOffered/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.price !== undefined){if(typeof data.price !== "string"){const err9 = {instancePath:instancePath+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern11.test(data4)){const err10 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.priceSpecification !== undefined){let data5 = data.priceSpecification;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){const err12 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs17 === errors;if(_valid1){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(!(data6 && typeof data6 == "object" && !Array.isArray(data6))){const err13 = {instancePath:instancePath+"/priceSpecification/" + i0,schemaPath:"#/properties/priceSpecification/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs19 === errors;if(_valid1 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid1){valid2 = true;passing0 = 1;}}if(!valid2){const err15 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.availability !== undefined){let data7 = data.availability;if(typeof data7 === "string"){if(!pattern12.test(data7)){const err16 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.itemCondition !== undefined){let data8 = data.itemCondition;if(typeof data8 === "string"){if(!pattern13.test(data8)){const err18 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.seller !== undefined){let data9 = data.seller;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9["pagefront:sheetUrl"] !== undefined){let data10 = data9["pagefront:sheetUrl"];if(typeof data10 === "string"){if(!(formats0(data10))){const err20 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.shippingDetails !== undefined){let data11 = data.shippingDetails;const _errs32 = errors;let valid6 = false;let passing1 = null;const _errs33 = errors;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err23 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid2 = _errs33 === errors;if(_valid2){valid6 = true;passing1 = 0;}const _errs35 = errors;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err24 = {instancePath:instancePath+"/shippingDetails/" + i1,schemaPath:"#/properties/shippingDetails/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid2 = _errs35 === errors;if(_valid2 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid2){valid6 = true;passing1 = 1;}}if(!valid6){const err26 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs32;if(vErrors !== null){if(_errs32){vErrors.length = _errs32;}else {vErrors = null;}}}}if(data.hasMerchantReturnPolicy !== undefined){let data13 = data.hasMerchantReturnPolicy;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err27 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.warranty !== undefined){let data14 = data.warranty;if(!(data14 && typeof data14 == "object" && !Array.isArray(data14))){const err28 = {instancePath:instancePath+"/warranty",schemaPath:"#/properties/warranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err29 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.acceptedPaymentMethod !== undefined){if(!(Array.isArray(data.acceptedPaymentMethod))){const err30 = {instancePath:instancePath+"/acceptedPaymentMethod",schemaPath:"#/properties/acceptedPaymentMethod/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data["pagefront:estimatedDelivery"] !== undefined){let data17 = data["pagefront:estimatedDelivery"];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17["@type"] === undefined){const err31 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}for(const key0 in data17){if(!((((key0 === "@type") || (key0 === "earliest")) || (key0 === "latest")) || (key0 === "description"))){const err32 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data17["@type"] !== undefined){if("pagefront:DeliveryEstimate" !== data17["@type"]){const err33 = {instancePath:instancePath+"/pagefront:estimatedDelivery/@type",schemaPath:"#/$defs/deliveryEstimate/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:DeliveryEstimate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data17.earliest !== undefined){let data19 = data17.earliest;if(typeof data19 === "string"){if(!(formats42.validate(data19))){const err34 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data17.latest !== undefined){let data20 = data17.latest;if(typeof data20 === "string"){if(!(formats42.validate(data20))){const err36 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err38 = {instancePath:instancePath+"/pagefront:estimatedDelivery/description",schemaPath:"#/$defs/deliveryEstimate/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}}else {const err39 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data["pagefront:promotions"] !== undefined){let data22 = data["pagefront:promotions"];if(Array.isArray(data22)){const len2 = data22.length;for(let i2=0; i2<len2; i2++){let data23 = data22[i2];if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err40 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}if(data23.scope === undefined){const err41 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/required",keyword:"required",params:{missingProperty: "scope"},message:"must have required property '"+"scope"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}for(const key1 in data23){if(!((((((((key1 === "@type") || (key1 === "code")) || (key1 === "discountPercentage")) || (key1 === "discountAmount")) || (key1 === "discountCurrency")) || (key1 === "scope")) || (key1 === "occasion")) || (key1 === "validUntil"))){const err42 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}if(data23["@type"] !== undefined){if("pagefront:Promotion" !== data23["@type"]){const err43 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/@type",schemaPath:"#/$defs/promotion/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Promotion"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data23.code !== undefined){if(typeof data23.code !== "string"){const err44 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/code",schemaPath:"#/$defs/promotion/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data23.discountPercentage !== undefined){let data26 = data23.discountPercentage;if((typeof data26 == "number") && (isFinite(data26))){if(data26 > 100 || isNaN(data26)){const err45 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(data26 < 0 || isNaN(data26)){const err46 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}else {const err47 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data23.discountAmount !== undefined){if(typeof data23.discountAmount !== "string"){const err48 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountAmount",schemaPath:"#/$defs/promotion/properties/discountAmount/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data23.discountCurrency !== undefined){let data28 = data23.discountCurrency;if(typeof data28 === "string"){if(!pattern11.test(data28)){const err49 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountCurrency",schemaPath:"#/$defs/promotion/properties/discountCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}else {const err50 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountCurrency",schemaPath:"#/$defs/promotion/properties/discountCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data23.scope !== undefined){let data29 = data23.scope;if(typeof data29 !== "string"){const err51 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/scope",schemaPath:"#/$defs/promotion/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}if(!(((data29 === "product") || (data29 === "category")) || (data29 === "site_wide"))){const err52 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/scope",schemaPath:"#/$defs/promotion/properties/scope/enum",keyword:"enum",params:{allowedValues: schema45.properties.scope.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data23.occasion !== undefined){if(typeof data23.occasion !== "string"){const err53 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/occasion",schemaPath:"#/$defs/promotion/properties/occasion/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data23.validUntil !== undefined){let data31 = data23.validUntil;if(typeof data31 === "string"){if(!(formats6.validate(data31))){const err54 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/validUntil",schemaPath:"#/$defs/promotion/properties/validUntil/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}else {const err55 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/validUntil",schemaPath:"#/$defs/promotion/properties/validUntil/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}}else {const err56 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}else {const err57 = {instancePath:instancePath+"/pagefront:promotions",schemaPath:"#/properties/pagefront%3Apromotions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data["pagefront:priceOnRequest"] !== undefined){let data32 = data["pagefront:priceOnRequest"];if(data32 && typeof data32 == "object" && !Array.isArray(data32)){if(data32["@type"] === undefined){const err58 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data32.method === undefined){const err59 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "method"},message:"must have required property '"+"method"+"'"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}for(const key2 in data32){if(!((((((key2 === "@type") || (key2 === "method")) || (key2 === "contactUrl")) || (key2 === "contactEmail")) || (key2 === "contactPhone")) || (key2 === "note"))){const err60 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data32["@type"] !== undefined){if("pagefront:PriceOnRequest" !== data32["@type"]){const err61 = {instancePath:instancePath+"/pagefront:priceOnRequest/@type",schemaPath:"#/$defs/priceOnRequest/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:PriceOnRequest"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data32.method !== undefined){let data34 = data32.method;if(typeof data34 !== "string"){const err62 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}if(!((((((data34 === "authorized_retailer") || (data34 === "dealer_network")) || (data34 === "quote_form")) || (data34 === "email")) || (data34 === "phone")) || (data34 === "unspecified"))){const err63 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/enum",keyword:"enum",params:{allowedValues: schema46.properties.method.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}if(data32.contactUrl !== undefined){let data35 = data32.contactUrl;if(typeof data35 === "string"){if(!(formats0(data35))){const err64 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}else {const err65 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data32.contactEmail !== undefined){let data36 = data32.contactEmail;if(typeof data36 === "string"){if(!(formats50.test(data36))){const err66 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}else {const err67 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data32.contactPhone !== undefined){if(typeof data32.contactPhone !== "string"){const err68 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactPhone",schemaPath:"#/$defs/priceOnRequest/properties/contactPhone/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data32.note !== undefined){if(typeof data32.note !== "string"){const err69 = {instancePath:instancePath+"/pagefront:priceOnRequest/note",schemaPath:"#/$defs/priceOnRequest/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}else {const err71 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema51 = {"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false};const schema52 = {"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true};function validate26(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate26.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.name === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.feature === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "feature"},message:"must have required property '"+"feature"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "name")) || (key0 === "sortOrder")) || (key0 === "feature"))){const err3 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@type"] !== undefined){if("pagefront:FeatureGroup" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:FeatureGroup"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.name !== undefined){let data1 = data.name;if(typeof data1 === "string"){if(func1(data1) < 1){const err5 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sortOrder !== undefined){let data2 = data.sortOrder;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/sortOrder",schemaPath:"#/properties/sortOrder/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.feature !== undefined){let data3 = data.feature;if(Array.isArray(data3)){if(data3.length < 1){const err8 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4["@type"] === undefined){const err9 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.name === undefined){const err10 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data4.value === undefined){const err11 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data4["@type"] !== undefined){if("PropertyValue" !== data4["@type"]){const err12 = {instancePath:instancePath+"/feature/" + i0+"/@type",schemaPath:"#/$defs/featureEntry/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.propertyID !== undefined){if(typeof data4.propertyID !== "string"){const err13 = {instancePath:instancePath+"/feature/" + i0+"/propertyID",schemaPath:"#/$defs/featureEntry/properties/propertyID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data4.name !== undefined){let data7 = data4.name;if(typeof data7 === "string"){if(func1(data7) < 1){const err14 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data4.value !== undefined){let data8 = data4.value;const _errs19 = errors;let valid5 = false;const _errs20 = errors;if(typeof data8 !== "string"){const err16 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs20 === errors;valid5 = valid5 || _valid0;const _errs22 = errors;if(!((typeof data8 == "number") && (isFinite(data8)))){const err17 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid0 = _errs22 === errors;valid5 = valid5 || _valid0;const _errs24 = errors;if(typeof data8 !== "boolean"){const err18 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid0 = _errs24 === errors;valid5 = valid5 || _valid0;if(!valid5){const err19 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data4.unitCode !== undefined){if(typeof data4.unitCode !== "string"){const err20 = {instancePath:instancePath+"/feature/" + i0+"/unitCode",schemaPath:"#/$defs/featureEntry/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data4.description !== undefined){if(typeof data4.description !== "string"){const err21 = {instancePath:instancePath+"/feature/" + i0+"/description",schemaPath:"#/$defs/featureEntry/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data4["pagefront:presentationValue"] !== undefined){if(typeof data4["pagefront:presentationValue"] !== "string"){const err22 = {instancePath:instancePath+"/feature/" + i0+"/pagefront:presentationValue",schemaPath:"#/$defs/featureEntry/properties/pagefront%3ApresentationValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}validate26.errors = vErrors;return errors === 0;}validate26.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema56 = {"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false};const schema57 = {"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false};const schema58 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.unitCode === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "unitCode"},message:"must have required property '"+"unitCode"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.sizes === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sizes"},message:"must have required property '"+"sizes"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.measurements === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "measurements"},message:"must have required property '"+"measurements"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "unitCode")) || (key0 === "sizes")) || (key0 === "measurements")) || (key0 === "modelReferences"))){const err4 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeChart" !== data["@type"]){const err5 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeChart"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.unitCode !== undefined){if(typeof data.unitCode !== "string"){const err6 = {instancePath:instancePath+"/unitCode",schemaPath:"#/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sizes !== undefined){let data2 = data.sizes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/sizes",schemaPath:"#/properties/sizes/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 = data2.length;for(let i0=0; i0<len0; i0++){if(typeof data2[i0] !== "string"){const err8 = {instancePath:instancePath+"/sizes/" + i0,schemaPath:"#/properties/sizes/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+"/sizes",schemaPath:"#/properties/sizes/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.measurements !== undefined){let data4 = data.measurements;if(Array.isArray(data4)){if(data4.length < 1){const err10 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}const len1 = data4.length;for(let i1=0; i1<len1; i1++){let data5 = data4[i1];if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5["@type"] === undefined){const err11 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data5.name === undefined){const err12 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data5.values === undefined){const err13 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "values"},message:"must have required property '"+"values"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data5){if(!(((key1 === "@type") || (key1 === "name")) || (key1 === "values"))){const err14 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data5["@type"] !== undefined){if("pagefront:Measurement" !== data5["@type"]){const err15 = {instancePath:instancePath+"/measurements/" + i1+"/@type",schemaPath:"#/$defs/measurement/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Measurement"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data5.name !== undefined){if(typeof data5.name !== "string"){const err16 = {instancePath:instancePath+"/measurements/" + i1+"/name",schemaPath:"#/$defs/measurement/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data5.values !== undefined){let data8 = data5.values;if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key2 in data8){let data9 = data8[key2];if(!((typeof data9 == "number") && (isFinite(data9)))){const err17 = {instancePath:instancePath+"/measurements/" + i1+"/values/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/measurement/properties/values/additionalProperties/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/measurements/" + i1+"/values",schemaPath:"#/$defs/measurement/properties/values/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.modelReferences !== undefined){let data10 = data.modelReferences;if(Array.isArray(data10)){const len2 = data10.length;for(let i2=0; i2<len2; i2++){let data11 = data10[i2];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11["@type"] === undefined){const err21 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(data11.name === undefined){const err22 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}for(const key3 in data11){if(!((((key3 === "@type") || (key3 === "name")) || (key3 === "heightCm")) || (key3 === "wearsSize"))){const err23 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data11["@type"] !== undefined){if("pagefront:ModelReference" !== data11["@type"]){const err24 = {instancePath:instancePath+"/modelReferences/" + i2+"/@type",schemaPath:"#/$defs/modelReference/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ModelReference"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data11.name !== undefined){if(typeof data11.name !== "string"){const err25 = {instancePath:instancePath+"/modelReferences/" + i2+"/name",schemaPath:"#/$defs/modelReference/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data11.heightCm !== undefined){let data14 = data11.heightCm;if((typeof data14 == "number") && (isFinite(data14))){if(data14 < 0 || isNaN(data14)){const err26 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}else {const err27 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data11.wearsSize !== undefined){if(typeof data11.wearsSize !== "string"){const err28 = {instancePath:instancePath+"/modelReferences/" + i2+"/wearsSize",schemaPath:"#/$defs/modelReference/properties/wearsSize/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath:instancePath+"/modelReferences",schemaPath:"#/properties/modelReferences/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate28.errors = vErrors;return errors === 0;}validate28.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema59 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false};const schema60 = {"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false};function validate30(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate30.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "fitProfile")) || (key0 === "sizeAdjustment")) || (key0 === "description")) || (key0 === "appliesTo"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeRecommendation" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeRecommendation"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.fitProfile !== undefined){let data1 = data.fitProfile;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data1 === "runs_small") || (data1 === "true_to_size")) || (data1 === "runs_large"))){const err4 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/enum",keyword:"enum",params:{allowedValues: schema59.properties.fitProfile.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.sizeAdjustment !== undefined){let data2 = data.sizeAdjustment;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2["@type"] === undefined){const err5 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2.direction === undefined){const err6 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "direction"},message:"must have required property '"+"direction"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data2.magnitude === undefined){const err7 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "magnitude"},message:"must have required property '"+"magnitude"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data2){if(!((((key1 === "@type") || (key1 === "direction")) || (key1 === "magnitude")) || (key1 === "sizeSystem"))){const err8 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data2["@type"] !== undefined){if("pagefront:SizeAdjustment" !== data2["@type"]){const err9 = {instancePath:instancePath+"/sizeAdjustment/@type",schemaPath:"#/$defs/sizeAdjustment/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeAdjustment"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data2.direction !== undefined){let data4 = data2.direction;if(typeof data4 !== "string"){const err10 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(!((data4 === "up") || (data4 === "down"))){const err11 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/enum",keyword:"enum",params:{allowedValues: schema60.properties.direction.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data2.magnitude !== undefined){let data5 = data2.magnitude;if((typeof data5 == "number") && (isFinite(data5))){if(data5 < 0 || isNaN(data5)){const err12 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data2.sizeSystem !== undefined){if(typeof data2.sizeSystem !== "string"){const err14 = {instancePath:instancePath+"/sizeAdjustment/sizeSystem",schemaPath:"#/$defs/sizeAdjustment/properties/sizeSystem/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err16 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.appliesTo !== undefined){if(typeof data.appliesTo !== "string"){const err17 = {instancePath:instancePath+"/appliesTo",schemaPath:"#/properties/appliesTo/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate30.errors = vErrors;return errors === 0;}validate30.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema66 = {"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"basePrice":{"type":"string"},"basePriceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceFormula":{"type":"string"},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1}},"additionalProperties":false};const schema67 = {"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"priceModifier":{"type":"string"},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"description":{"type":"string"}},"additionalProperties":true}},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};function validate32(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate32.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.dimensions === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "dimensions"},message:"must have required property '"+"dimensions"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "basePrice")) || (key0 === "basePriceCurrency")) || (key0 === "priceFormula")) || (key0 === "dimensions"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Configurator" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.basePrice !== undefined){if(typeof data.basePrice !== "string"){const err4 = {instancePath:instancePath+"/basePrice",schemaPath:"#/properties/basePrice/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.basePriceCurrency !== undefined){let data2 = data.basePriceCurrency;if(typeof data2 === "string"){if(!pattern11.test(data2)){const err5 = {instancePath:instancePath+"/basePriceCurrency",schemaPath:"#/properties/basePriceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/basePriceCurrency",schemaPath:"#/properties/basePriceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.priceFormula !== undefined){if(typeof data.priceFormula !== "string"){const err7 = {instancePath:instancePath+"/priceFormula",schemaPath:"#/properties/priceFormula/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.dimensions !== undefined){let data4 = data.dimensions;if(Array.isArray(data4)){if(data4.length < 1){const err8 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const len0 = data4.length;for(let i0=0; i0<len0; i0++){let data5 = data4[i0];if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5.name === undefined){const err9 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}for(const key1 in data5){if(!((((key1 === "name") || (key1 === "options")) || (key1 === "system")) || (key1 === "note"))){const err10 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data5.name !== undefined){if(typeof data5.name !== "string"){const err11 = {instancePath:instancePath+"/dimensions/" + i0+"/name",schemaPath:"#/$defs/configuratorDimension/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data5.options !== undefined){let data7 = data5.options;if(Array.isArray(data7)){const len1 = data7.length;for(let i1=0; i1<len1; i1++){let data8 = data7[i1];if(data8 && typeof data8 == "object" && !Array.isArray(data8)){if(data8.value === undefined){const err12 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data8.value !== undefined){let data9 = data8.value;const _errs23 = errors;let valid8 = false;const _errs24 = errors;if(typeof data9 !== "string"){const err13 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs24 === errors;valid8 = valid8 || _valid0;const _errs26 = errors;if(!((typeof data9 == "number") && (isFinite(data9)))){const err14 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid0 = _errs26 === errors;valid8 = valid8 || _valid0;const _errs28 = errors;if(typeof data9 !== "boolean"){const err15 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs28 === errors;valid8 = valid8 || _valid0;if(!valid8){const err16 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs23;if(vErrors !== null){if(_errs23){vErrors.length = _errs23;}else {vErrors = null;}}}}if(data8.priceModifier !== undefined){if(typeof data8.priceModifier !== "string"){const err17 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/priceModifier",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/priceModifier/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data8.currency !== undefined){let data11 = data8.currency;if(typeof data11 === "string"){if(!pattern11.test(data11)){const err18 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/currency",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/currency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/currency",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/currency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data8.description !== undefined){if(typeof data8.description !== "string"){const err20 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/description",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}}else {const err21 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/dimensions/" + i0+"/options",schemaPath:"#/$defs/configuratorDimension/properties/options/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data5.system !== undefined){if(typeof data5.system !== "string"){const err23 = {instancePath:instancePath+"/dimensions/" + i0+"/system",schemaPath:"#/$defs/configuratorDimension/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data5.note !== undefined){if(typeof data5.note !== "string"){const err24 = {instancePath:instancePath+"/dimensions/" + i0+"/note",schemaPath:"#/$defs/configuratorDimension/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}}else {const err26 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}}else {const err27 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}validate32.errors = vErrors;return errors === 0;}validate32.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema68 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false};const schema69 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false};const schema70 = {"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false};function validate34(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate34.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "productionLeadTime")) || (key0 === "cancellationPolicy")) || (key0 === "returnsExceptions")) || (key0 === "aftermarketServices"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:MadeToOrderTerms" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:MadeToOrderTerms"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.productionLeadTime !== undefined){let data1 = data.productionLeadTime;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@type"] === undefined){const err3 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key1 in data1){if(!((((key1 === "@type") || (key1 === "minDays")) || (key1 === "maxDays")) || (key1 === "description"))){const err4 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Duration" !== data1["@type"]){const err5 = {instancePath:instancePath+"/productionLeadTime/@type",schemaPath:"#/$defs/duration/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Duration"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data1.minDays !== undefined){let data3 = data1.minDays;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err6 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err7 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}if(data1.maxDays !== undefined){let data4 = data1.maxDays;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err8 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 < 0 || isNaN(data4)){const err9 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data1.description !== undefined){if(typeof data1.description !== "string"){const err10 = {instancePath:instancePath+"/productionLeadTime/description",schemaPath:"#/$defs/duration/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.cancellationPolicy !== undefined){if(typeof data.cancellationPolicy !== "string"){const err12 = {instancePath:instancePath+"/cancellationPolicy",schemaPath:"#/properties/cancellationPolicy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.returnsExceptions !== undefined){let data7 = data.returnsExceptions;if(Array.isArray(data7)){const len0 = data7.length;for(let i0=0; i0<len0; i0++){if(typeof data7[i0] !== "string"){const err13 = {instancePath:instancePath+"/returnsExceptions/" + i0,schemaPath:"#/properties/returnsExceptions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/returnsExceptions",schemaPath:"#/properties/returnsExceptions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.aftermarketServices !== undefined){let data9 = data.aftermarketServices;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10["@type"] === undefined){const err15 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data10.service === undefined){const err16 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "service"},message:"must have required property '"+"service"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}for(const key2 in data10){if(!((((key2 === "@type") || (key2 === "service")) || (key2 === "limit")) || (key2 === "description"))){const err17 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data10["@type"] !== undefined){if("pagefront:AftermarketService" !== data10["@type"]){const err18 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/@type",schemaPath:"#/$defs/aftermarketService/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AftermarketService"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data10.service !== undefined){if(typeof data10.service !== "string"){const err19 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/service",schemaPath:"#/$defs/aftermarketService/properties/service/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.limit !== undefined){if(typeof data10.limit !== "string"){const err20 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/limit",schemaPath:"#/$defs/aftermarketService/properties/limit/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data10.description !== undefined){if(typeof data10.description !== "string"){const err21 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/description",schemaPath:"#/$defs/aftermarketService/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/aftermarketServices",schemaPath:"#/properties/aftermarketServices/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}validate34.errors = vErrors;return errors === 0;}validate34.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = true;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data["@type"] === undefined) && (missing0 = "@type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data["@type"] !== undefined){if("ProductGroup" !== data["@type"]){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs2 === errors;errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}let ifClause0;if(_valid0){const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productGroupID === undefined){const err2 = {instancePath,schemaPath:"#/then/required",keyword:"required",params:{missingProperty: "productGroupID"},message:"must have required property '"+"productGroupID"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs4 === errors;valid0 = _valid0;ifClause0 = "then";}else {const _errs5 = errors;const _errs6 = errors;let valid2 = false;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.sku === undefined){const err3 = {instancePath,schemaPath:"#/else/anyOf/0/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid1 = _errs7 === errors;valid2 = valid2 || _valid1;const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin13 === undefined){const err4 = {instancePath,schemaPath:"#/else/anyOf/1/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var _valid1 = _errs8 === errors;valid2 = valid2 || _valid1;const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin === undefined){const err5 = {instancePath,schemaPath:"#/else/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid1 = _errs9 === errors;valid2 = valid2 || _valid1;const _errs10 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.mpn === undefined){const err6 = {instancePath,schemaPath:"#/else/anyOf/3/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var _valid1 = _errs10 === errors;valid2 = valid2 || _valid1;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productID === undefined){const err7 = {instancePath,schemaPath:"#/else/anyOf/4/required",keyword:"required",params:{missingProperty: "productID"},message:"must have required property '"+"productID"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid1 = _errs11 === errors;valid2 = valid2 || _valid1;if(!valid2){const err8 = {instancePath,schemaPath:"#/else/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err9 = {instancePath,schemaPath:"#/else/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid0 = _errs5 === errors;valid0 = _valid0;ifClause0 = "else";}if(!valid0){const err10 = {instancePath,schemaPath:"#/if",keyword:"if",params:{failingKeyword: ifClause0},message:"must match \""+ifClause0+"\" schema"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err11 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data["@type"] === undefined){const err12 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data["@id"] === undefined){const err13 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data.name === undefined){const err14 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data.inLanguage === undefined){const err15 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data["@context"] !== undefined){let data1 = data["@context"];const _errs14 = errors;let valid4 = false;let passing0 = null;const _errs15 = errors;if("https://schema.org" !== data1){const err16 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs15 === errors;if(_valid2){valid4 = true;passing0 = 0;}const _errs16 = errors;if(Array.isArray(data1)){if(data1.length < 1){const err17 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];const _errs19 = errors;let valid7 = false;let passing1 = null;const _errs20 = errors;if(typeof data2 === "string"){if(!(formats0(data2))){const err18 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid3 = _errs20 === errors;if(_valid3){valid7 = true;passing1 = 0;}const _errs22 = errors;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err20 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid3 = _errs22 === errors;if(_valid3 && valid7){valid7 = false;passing1 = [passing1, 1];}else {if(_valid3){valid7 = true;passing1 = 1;}}if(!valid7){const err21 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}}else {const err22 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid2 = _errs16 === errors;if(_valid2 && valid4){valid4 = false;passing0 = [passing0, 1];}else {if(_valid2){valid4 = true;passing0 = 1;}}if(!valid4){const err23 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err24 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data["@id"] !== undefined){let data4 = data["@id"];if(typeof data4 === "string"){if(!(formats0(data4))){const err25 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.url !== undefined){let data5 = data.url;if(typeof data5 === "string"){if(!(formats0(data5))){const err27 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.name !== undefined){let data6 = data.name;if(typeof data6 === "string"){if(func1(data6) < 1){const err29 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err31 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err32 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.gtin13 !== undefined){let data9 = data.gtin13;const _errs38 = errors;let valid9 = false;let passing2 = null;const _errs39 = errors;if(typeof data9 === "string"){if(!pattern5.test(data9)){const err33 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}else {const err34 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid4 = _errs39 === errors;if(_valid4){valid9 = true;passing2 = 0;}const _errs41 = errors;if(Array.isArray(data9)){if(data9.length < 1){const err35 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(typeof data10 === "string"){if(!pattern5.test(data10)){const err36 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}else {const err38 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid4 = _errs41 === errors;if(_valid4 && valid9){valid9 = false;passing2 = [passing2, 1];}else {if(_valid4){valid9 = true;passing2 = 1;}}if(!valid9){const err39 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data11 = data.gtin;const _errs47 = errors;let valid13 = false;let passing3 = null;const _errs48 = errors;if(typeof data11 !== "string"){const err40 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}var _valid5 = _errs48 === errors;if(_valid5){valid13 = true;passing3 = 0;}const _errs50 = errors;if(Array.isArray(data11)){if(data11.length < 1){const err41 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}const len2 = data11.length;for(let i2=0; i2<len2; i2++){if(typeof data11[i2] !== "string"){const err42 = {instancePath:instancePath+"/gtin/" + i2,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid5 = _errs50 === errors;if(_valid5 && valid13){valid13 = false;passing3 = [passing3, 1];}else {if(_valid5){valid13 = true;passing3 = 1;}}if(!valid13){const err44 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {errors = _errs47;if(vErrors !== null){if(_errs47){vErrors.length = _errs47;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err45 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err46 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data.productGroupID !== undefined){if(typeof data.productGroupID !== "string"){const err47 = {instancePath:instancePath+"/productGroupID",schemaPath:"#/properties/productGroupID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data.variesBy !== undefined){let data16 = data.variesBy;if(Array.isArray(data16)){const len3 = data16.length;for(let i3=0; i3<len3; i3++){if(typeof data16[i3] !== "string"){const err48 = {instancePath:instancePath+"/variesBy/" + i3,schemaPath:"#/properties/variesBy/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}else {const err49 = {instancePath:instancePath+"/variesBy",schemaPath:"#/properties/variesBy/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data.hasVariant !== undefined){let data18 = data.hasVariant;if(Array.isArray(data18)){const len4 = data18.length;for(let i4=0; i4<len4; i4++){if(!(validate22(data18[i4], {instancePath:instancePath+"/hasVariant/" + i4,parentData:data18,parentDataProperty:i4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);errors = vErrors.length;}}}else {const err50 = {instancePath:instancePath+"/hasVariant",schemaPath:"#/properties/hasVariant/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.brand !== undefined){let data20 = data.brand;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20["pagefront:sheetUrl"] !== undefined){let data21 = data20["pagefront:sheetUrl"];if(typeof data21 === "string"){if(!(formats0(data21))){const err51 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}}else {const err53 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err54 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data.category !== undefined){let data23 = data.category;const _errs74 = errors;let valid21 = false;let passing4 = null;const _errs75 = errors;if(typeof data23 !== "string"){const err55 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid6 = _errs75 === errors;if(_valid6){valid21 = true;passing4 = 0;}const _errs77 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err56 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23.codeValue === undefined){const err57 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23["@type"] !== undefined){if("CategoryCode" !== data23["@type"]){const err58 = {instancePath:instancePath+"/category/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data23.codeValue !== undefined){let data25 = data23.codeValue;if(typeof data25 === "string"){if(func1(data25) < 1){const err59 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}else {const err60 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data23.inCodeSet !== undefined){let data26 = data23.inCodeSet;const _errs85 = errors;let valid24 = false;let passing5 = null;const _errs86 = errors;if(typeof data26 === "string"){if(!(formats0(data26))){const err61 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}else {const err62 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid7 = _errs86 === errors;if(_valid7){valid24 = true;passing5 = 0;}const _errs88 = errors;if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err63 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}var _valid7 = _errs88 === errors;if(_valid7 && valid24){valid24 = false;passing5 = [passing5, 1];}else {if(_valid7){valid24 = true;passing5 = 1;}}if(!valid24){const err64 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs85;if(vErrors !== null){if(_errs85){vErrors.length = _errs85;}else {vErrors = null;}}}}if(data23.name !== undefined){if(typeof data23.name !== "string"){const err65 = {instancePath:instancePath+"/category/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}else {const err66 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}var _valid6 = _errs77 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 1];}else {if(_valid6){valid21 = true;passing4 = 1;}const _errs92 = errors;if(Array.isArray(data23)){if(data23.length < 1){const err67 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const len5 = data23.length;for(let i5=0; i5<len5; i5++){let data28 = data23[i5];const _errs95 = errors;let valid27 = false;let passing6 = null;const _errs96 = errors;if(typeof data28 !== "string"){const err68 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}var _valid8 = _errs96 === errors;if(_valid8){valid27 = true;passing6 = 0;}const _errs98 = errors;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28["@type"] === undefined){const err69 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data28.codeValue === undefined){const err70 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}if(data28["@type"] !== undefined){if("CategoryCode" !== data28["@type"]){const err71 = {instancePath:instancePath+"/category/" + i5+"/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data28.codeValue !== undefined){let data30 = data28.codeValue;if(typeof data30 === "string"){if(func1(data30) < 1){const err72 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}else {const err73 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data28.inCodeSet !== undefined){let data31 = data28.inCodeSet;const _errs106 = errors;let valid30 = false;let passing7 = null;const _errs107 = errors;if(typeof data31 === "string"){if(!(formats0(data31))){const err74 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}else {const err75 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs107 === errors;if(_valid9){valid30 = true;passing7 = 0;}const _errs109 = errors;if(!(data31 && typeof data31 == "object" && !Array.isArray(data31))){const err76 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}var _valid9 = _errs109 === errors;if(_valid9 && valid30){valid30 = false;passing7 = [passing7, 1];}else {if(_valid9){valid30 = true;passing7 = 1;}}if(!valid30){const err77 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {errors = _errs106;if(vErrors !== null){if(_errs106){vErrors.length = _errs106;}else {vErrors = null;}}}}if(data28.name !== undefined){if(typeof data28.name !== "string"){const err78 = {instancePath:instancePath+"/category/" + i5+"/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}}else {const err79 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}var _valid8 = _errs98 === errors;if(_valid8 && valid27){valid27 = false;passing6 = [passing6, 1];}else {if(_valid8){valid27 = true;passing6 = 1;}}if(!valid27){const err80 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}else {errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}}}}else {const err81 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}var _valid6 = _errs92 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 2];}else {if(_valid6){valid21 = true;passing4 = 2;}}}if(!valid21){const err82 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}}}if(data.color !== undefined){if(typeof data.color !== "string"){const err83 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err84 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data.weight !== undefined){let data35 = data.weight;if(!(data35 && typeof data35 == "object" && !Array.isArray(data35))){const err85 = {instancePath:instancePath+"/weight",schemaPath:"#/properties/weight/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}if(data.height !== undefined){let data36 = data.height;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err86 = {instancePath:instancePath+"/height",schemaPath:"#/properties/height/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data.width !== undefined){let data37 = data.width;if(!(data37 && typeof data37 == "object" && !Array.isArray(data37))){const err87 = {instancePath:instancePath+"/width",schemaPath:"#/properties/width/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data.depth !== undefined){let data38 = data.depth;if(!(data38 && typeof data38 == "object" && !Array.isArray(data38))){const err88 = {instancePath:instancePath+"/depth",schemaPath:"#/properties/depth/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data.countryOfOrigin !== undefined){let data39 = data.countryOfOrigin;if(typeof data39 === "string"){if(!pattern9.test(data39)){const err89 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data.image !== undefined){let data40 = data.image;if(Array.isArray(data40)){const len6 = data40.length;for(let i6=0; i6<len6; i6++){let data41 = data40[i6];if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41["@type"] === undefined){const err91 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}if(data41.url === undefined){const err92 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}if(data41["@type"] !== undefined){if("ImageObject" !== data41["@type"]){const err93 = {instancePath:instancePath+"/image/" + i6+"/@type",schemaPath:"#/$defs/imageObject/properties/%40type/const",keyword:"const",params:{allowedValue: "ImageObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}if(data41.url !== undefined){let data43 = data41.url;if(typeof data43 === "string"){if(!(formats0(data43))){const err94 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}else {const err95 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data41.caption !== undefined){if(typeof data41.caption !== "string"){const err96 = {instancePath:instancePath+"/image/" + i6+"/caption",schemaPath:"#/$defs/imageObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}if(data41.additionalProperty !== undefined){let data45 = data41.additionalProperty;if(Array.isArray(data45)){const len7 = data45.length;for(let i7=0; i7<len7; i7++){let data46 = data45[i7];const _errs143 = errors;let valid38 = true;const _errs144 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){let missing1;if((data46.name === undefined) && (missing1 = "name")){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}else {if(data46.name !== undefined){if("role" !== data46.name){const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}}}var _valid10 = _errs144 === errors;errors = _errs143;if(vErrors !== null){if(_errs143){vErrors.length = _errs143;}else {vErrors = null;}}if(_valid10){const _errs146 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.value !== undefined){let data48 = data46.value;if(!((((((((data48 === "hero") || (data48 === "packshot")) || (data48 === "lifestyle")) || (data48 === "detail")) || (data48 === "flatlay")) || (data48 === "swatch")) || (data48 === "size_chart")) || (data48 === "context"))){const err99 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema40.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}}var _valid10 = _errs146 === errors;valid38 = _valid10;if(valid38){var props2 = {};props2.value = true;props2.name = true;}}if(!valid38){const err100 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(props2 !== true){props2 = props2 || {};props2["@type"] = true;props2.name = true;props2.value = true;}if(data46["@type"] !== undefined){if("PropertyValue" !== data46["@type"]){const err101 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/@type",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}if(data46.name !== undefined){if(typeof data46.name !== "string"){const err102 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/name",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data46.value !== undefined){if(typeof data46.value !== "string"){const err103 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}else {const err104 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty",schemaPath:"#/$defs/imageObject/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}}else {const err106 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}}else {const err107 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}if(data.video !== undefined){let data52 = data.video;if(Array.isArray(data52)){const len8 = data52.length;for(let i8=0; i8<len8; i8++){let data53 = data52[i8];const _errs158 = errors;let valid45 = false;const _errs159 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.url === undefined){const err108 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/0/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}}var _valid11 = _errs159 === errors;valid45 = valid45 || _valid11;const _errs160 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.contentUrl === undefined){const err109 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/1/required",keyword:"required",params:{missingProperty: "contentUrl"},message:"must have required property '"+"contentUrl"+"'"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}var _valid11 = _errs160 === errors;valid45 = valid45 || _valid11;const _errs161 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.embedUrl === undefined){const err110 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/2/required",keyword:"required",params:{missingProperty: "embedUrl"},message:"must have required property '"+"embedUrl"+"'"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}var _valid11 = _errs161 === errors;valid45 = valid45 || _valid11;if(!valid45){const err111 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}else {errors = _errs158;if(vErrors !== null){if(_errs158){vErrors.length = _errs158;}else {vErrors = null;}}}if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53["@type"] === undefined){const err112 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(data53["@type"] !== undefined){if("VideoObject" !== data53["@type"]){const err113 = {instancePath:instancePath+"/video/" + i8+"/@type",schemaPath:"#/$defs/videoObject/properties/%40type/const",keyword:"const",params:{allowedValue: "VideoObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data53.url !== undefined){let data55 = data53.url;if(typeof data55 === "string"){if(!(formats0(data55))){const err114 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data53.contentUrl !== undefined){let data56 = data53.contentUrl;if(typeof data56 === "string"){if(!(formats0(data56))){const err116 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}else {const err117 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data53.embedUrl !== undefined){let data57 = data53.embedUrl;if(typeof data57 === "string"){if(!(formats0(data57))){const err118 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}else {const err119 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data53.thumbnailUrl !== undefined){let data58 = data53.thumbnailUrl;if(typeof data58 === "string"){if(!(formats0(data58))){const err120 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}else {const err121 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(data53.duration !== undefined){let data59 = data53.duration;if(typeof data59 === "string"){if(!pattern10.test(data59)){const err122 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/pattern",keyword:"pattern",params:{pattern: "^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},message:"must match pattern \""+"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"+"\""};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}else {const err123 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}if(data53.uploadDate !== undefined){if(typeof data53.uploadDate !== "string"){const err124 = {instancePath:instancePath+"/video/" + i8+"/uploadDate",schemaPath:"#/$defs/videoObject/properties/uploadDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}if(data53.caption !== undefined){if(typeof data53.caption !== "string"){const err125 = {instancePath:instancePath+"/video/" + i8+"/caption",schemaPath:"#/$defs/videoObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data53.transcript !== undefined){if(typeof data53.transcript !== "string"){const err126 = {instancePath:instancePath+"/video/" + i8+"/transcript",schemaPath:"#/$defs/videoObject/properties/transcript/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data53.description !== undefined){if(typeof data53.description !== "string"){const err127 = {instancePath:instancePath+"/video/" + i8+"/description",schemaPath:"#/$defs/videoObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data53.name !== undefined){if(typeof data53.name !== "string"){const err128 = {instancePath:instancePath+"/video/" + i8+"/name",schemaPath:"#/$defs/videoObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data53.additionalProperty !== undefined){let data65 = data53.additionalProperty;if(Array.isArray(data65)){const len9 = data65.length;for(let i9=0; i9<len9; i9++){let data66 = data65[i9];const _errs189 = errors;let valid50 = true;const _errs190 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){let missing2;if((data66.name === undefined) && (missing2 = "name")){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}else {if(data66.name !== undefined){if("role" !== data66.name){const err130 = {};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}}}var _valid12 = _errs190 === errors;errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}if(_valid12){const _errs192 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.value !== undefined){let data68 = data66.value;if(!((((((((data68 === "overview") || (data68 === "tutorial")) || (data68 === "lifestyle")) || (data68 === "construction")) || (data68 === "demonstration")) || (data68 === "comparison")) || (data68 === "unboxing")) || (data68 === "spin"))){const err131 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema41.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}var _valid12 = _errs192 === errors;valid50 = _valid12;if(valid50){var props3 = {};props3.value = true;props3.name = true;}}if(!valid50){const err132 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(props3 !== true){props3 = props3 || {};props3["@type"] = true;props3.name = true;props3.value = true;}if(data66["@type"] !== undefined){if("PropertyValue" !== data66["@type"]){const err133 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/@type",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}if(data66.name !== undefined){if(typeof data66.name !== "string"){const err134 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/name",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}if(data66.value !== undefined){if(typeof data66.value !== "string"){const err135 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}}else {const err136 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}else {const err137 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty",schemaPath:"#/$defs/videoObject/properties/additionalProperty/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+"/video/" + i8,schemaPath:"#/$defs/videoObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}}else {const err139 = {instancePath:instancePath+"/video",schemaPath:"#/properties/video/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err140 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data.hasCertification !== undefined){let data73 = data.hasCertification;if(Array.isArray(data73)){const len10 = data73.length;for(let i10=0; i10<len10; i10++){let data74 = data73[i10];if(data74 && typeof data74 == "object" && !Array.isArray(data74)){if(data74["@type"] === undefined){const err141 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(data74.name === undefined){const err142 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}if(data74["@type"] !== undefined){if("Certification" !== data74["@type"]){const err143 = {instancePath:instancePath+"/hasCertification/" + i10+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}if(data74.name !== undefined){if(typeof data74.name !== "string"){const err144 = {instancePath:instancePath+"/hasCertification/" + i10+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data74.issuedBy !== undefined){let data77 = data74.issuedBy;if(!(data77 && typeof data77 == "object" && !Array.isArray(data77))){const err145 = {instancePath:instancePath+"/hasCertification/" + i10+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}if(data74.about !== undefined){if(typeof data74.about !== "string"){const err146 = {instancePath:instancePath+"/hasCertification/" + i10+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data74.additionalProperty !== undefined){if(!(Array.isArray(data74.additionalProperty))){const err147 = {instancePath:instancePath+"/hasCertification/" + i10+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/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+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}}else {const err149 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data.manufacturer !== undefined){let data80 = data.manufacturer;if(!(data80 && typeof data80 == "object" && !Array.isArray(data80))){const err150 = {instancePath:instancePath+"/manufacturer",schemaPath:"#/properties/manufacturer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}if(data.offers !== undefined){let data81 = data.offers;if(Array.isArray(data81)){if(data81.length < 1){const err151 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}const len11 = data81.length;for(let i11=0; i11<len11; i11++){let data82 = data81[i11];const _errs221 = errors;let valid60 = false;let passing8 = null;const _errs222 = errors;if(!(validate24(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var _valid13 = _errs222 === errors;if(_valid13){valid60 = true;passing8 = 0;var props4 = true;}const _errs223 = errors;if(data82 && typeof data82 == "object" && !Array.isArray(data82)){if(data82["@type"] === undefined){const err152 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/$defs/aggregateOffer/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}if(data82.lowPrice === undefined){const err153 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/$defs/aggregateOffer/required",keyword:"required",params:{missingProperty: "lowPrice"},message:"must have required property '"+"lowPrice"+"'"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}if(data82.highPrice === undefined){const err154 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/$defs/aggregateOffer/required",keyword:"required",params:{missingProperty: "highPrice"},message:"must have required property '"+"highPrice"+"'"};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}if(data82.priceCurrency === undefined){const err155 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/$defs/aggregateOffer/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}if(data82["@type"] !== undefined){if("AggregateOffer" !== data82["@type"]){const err156 = {instancePath:instancePath+"/offers/" + i11+"/@type",schemaPath:"#/$defs/aggregateOffer/properties/%40type/const",keyword:"const",params:{allowedValue: "AggregateOffer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}}if(data82["@id"] !== undefined){if(typeof data82["@id"] !== "string"){const err157 = {instancePath:instancePath+"/offers/" + i11+"/@id",schemaPath:"#/$defs/aggregateOffer/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}if(data82.lowPrice !== undefined){let data85 = data82.lowPrice;if(!((typeof data85 == "number") && (isFinite(data85)))){const err158 = {instancePath:instancePath+"/offers/" + i11+"/lowPrice",schemaPath:"#/$defs/aggregateOffer/properties/lowPrice/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}if(data82.highPrice !== undefined){let data86 = data82.highPrice;if(!((typeof data86 == "number") && (isFinite(data86)))){const err159 = {instancePath:instancePath+"/offers/" + i11+"/highPrice",schemaPath:"#/$defs/aggregateOffer/properties/highPrice/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}}if(data82.priceCurrency !== undefined){let data87 = data82.priceCurrency;if(typeof data87 === "string"){if(!pattern11.test(data87)){const err160 = {instancePath:instancePath+"/offers/" + i11+"/priceCurrency",schemaPath:"#/$defs/aggregateOffer/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}}else {const err161 = {instancePath:instancePath+"/offers/" + i11+"/priceCurrency",schemaPath:"#/$defs/aggregateOffer/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}}if(data82.offerCount !== undefined){let data88 = data82.offerCount;if(!(((typeof data88 == "number") && (!(data88 % 1) && !isNaN(data88))) && (isFinite(data88)))){const err162 = {instancePath:instancePath+"/offers/" + i11+"/offerCount",schemaPath:"#/$defs/aggregateOffer/properties/offerCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}}if(data82.availability !== undefined){let data89 = data82.availability;if(typeof data89 === "string"){if(!pattern12.test(data89)){const err163 = {instancePath:instancePath+"/offers/" + i11+"/availability",schemaPath:"#/$defs/aggregateOffer/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}}else {const err164 = {instancePath:instancePath+"/offers/" + i11+"/availability",schemaPath:"#/$defs/aggregateOffer/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}}if(data82.itemCondition !== undefined){let data90 = data82.itemCondition;if(typeof data90 === "string"){if(!pattern13.test(data90)){const err165 = {instancePath:instancePath+"/offers/" + i11+"/itemCondition",schemaPath:"#/$defs/aggregateOffer/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}}else {const err166 = {instancePath:instancePath+"/offers/" + i11+"/itemCondition",schemaPath:"#/$defs/aggregateOffer/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}}if(data82.eligibleRegion !== undefined){if(!(Array.isArray(data82.eligibleRegion))){const err167 = {instancePath:instancePath+"/offers/" + i11+"/eligibleRegion",schemaPath:"#/$defs/aggregateOffer/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}}if(data82.validFrom !== undefined){if(typeof data82.validFrom !== "string"){const err168 = {instancePath:instancePath+"/offers/" + i11+"/validFrom",schemaPath:"#/$defs/aggregateOffer/properties/validFrom/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data82.validThrough !== undefined){if(typeof data82.validThrough !== "string"){const err169 = {instancePath:instancePath+"/offers/" + i11+"/validThrough",schemaPath:"#/$defs/aggregateOffer/properties/validThrough/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}if(data82.seller !== undefined){let data94 = data82.seller;if(!(data94 && typeof data94 == "object" && !Array.isArray(data94))){const err170 = {instancePath:instancePath+"/offers/" + i11+"/seller",schemaPath:"#/$defs/aggregateOffer/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}}else {const err171 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/$defs/aggregateOffer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}var _valid13 = _errs223 === errors;if(_valid13 && valid60){valid60 = false;passing8 = [passing8, 1];}else {if(_valid13){valid60 = true;passing8 = 1;if(props4 !== true){props4 = true;}}}if(!valid60){const err172 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/properties/offers/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}else {errors = _errs221;if(vErrors !== null){if(_errs221){vErrors.length = _errs221;}else {vErrors = null;}}}}}else {const err173 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}if(data.aggregateRating !== undefined){let data95 = data.aggregateRating;if(!(data95 && typeof data95 == "object" && !Array.isArray(data95))){const err174 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}if(data.review !== undefined){if(!(Array.isArray(data.review))){const err175 = {instancePath:instancePath+"/review",schemaPath:"#/properties/review/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}if(data.isVariantOf !== undefined){let data97 = data.isVariantOf;if(!(data97 && typeof data97 == "object" && !Array.isArray(data97))){const err176 = {instancePath:instancePath+"/isVariantOf",schemaPath:"#/properties/isVariantOf/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data.isRelatedTo !== undefined){if(!(Array.isArray(data.isRelatedTo))){const err177 = {instancePath:instancePath+"/isRelatedTo",schemaPath:"#/properties/isRelatedTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}}if(data.isSimilarTo !== undefined){if(!(Array.isArray(data.isSimilarTo))){const err178 = {instancePath:instancePath+"/isSimilarTo",schemaPath:"#/properties/isSimilarTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}}if(data.isPartOf !== undefined){let data100 = data.isPartOf;const _errs261 = errors;let valid63 = false;let passing9 = null;const _errs262 = errors;if(!(data100 && typeof data100 == "object" && !Array.isArray(data100))){const err179 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}var _valid14 = _errs262 === errors;if(_valid14){valid63 = true;passing9 = 0;}const _errs264 = errors;if(!(Array.isArray(data100))){const err180 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}var _valid14 = _errs264 === errors;if(_valid14 && valid63){valid63 = false;passing9 = [passing9, 1];}else {if(_valid14){valid63 = true;passing9 = 1;}}if(!valid63){const err181 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}else {errors = _errs261;if(vErrors !== null){if(_errs261){vErrors.length = _errs261;}else {vErrors = null;}}}}if(data.hasPart !== undefined){let data101 = data.hasPart;const _errs267 = errors;let valid64 = false;let passing10 = null;const _errs268 = errors;if(!(data101 && typeof data101 == "object" && !Array.isArray(data101))){const err182 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}var _valid15 = _errs268 === errors;if(_valid15){valid64 = true;passing10 = 0;}const _errs270 = errors;if(!(Array.isArray(data101))){const err183 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err183];}else {vErrors.push(err183);}errors++;}var _valid15 = _errs270 === errors;if(_valid15 && valid64){valid64 = false;passing10 = [passing10, 1];}else {if(_valid15){valid64 = true;passing10 = 1;}}if(!valid64){const err184 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}else {errors = _errs267;if(vErrors !== null){if(_errs267){vErrors.length = _errs267;}else {vErrors = null;}}}}if(data.question !== undefined){let data102 = data.question;if(Array.isArray(data102)){const len12 = data102.length;for(let i12=0; i12<len12; i12++){let data103 = data102[i12];if(data103 && typeof data103 == "object" && !Array.isArray(data103)){if(data103["@type"] === undefined){const err185 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}if(data103.name === undefined){const err186 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}if(data103.acceptedAnswer === undefined){const err187 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "acceptedAnswer"},message:"must have required property '"+"acceptedAnswer"+"'"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(data103["@type"] !== undefined){if("Question" !== data103["@type"]){const err188 = {instancePath:instancePath+"/question/" + i12+"/@type",schemaPath:"#/$defs/questionObject/properties/%40type/const",keyword:"const",params:{allowedValue: "Question"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}}if(data103.name !== undefined){let data105 = data103.name;if(typeof data105 === "string"){if(func1(data105) < 1){const err189 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}else {const err190 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}}if(data103.acceptedAnswer !== undefined){let data106 = data103.acceptedAnswer;if(data106 && typeof data106 == "object" && !Array.isArray(data106)){if(data106["@type"] === undefined){const err191 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}if(data106.text === undefined){const err192 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}if(data106["@type"] !== undefined){if("Answer" !== data106["@type"]){const err193 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/@type",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}}if(data106.text !== undefined){let data108 = data106.text;if(typeof data108 === "string"){if(func1(data108) < 1){const err194 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}else {const err195 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}}else {const err196 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}}if(data103.suggestedAnswer !== undefined){let data109 = data103.suggestedAnswer;if(Array.isArray(data109)){const len13 = data109.length;for(let i13=0; i13<len13; i13++){let data110 = data109[i13];if(data110 && typeof data110 == "object" && !Array.isArray(data110)){if(data110["@type"] === undefined){const err197 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}if(data110.text === undefined){const err198 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}if(data110["@type"] !== undefined){if("Answer" !== data110["@type"]){const err199 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/@type",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}}if(data110.text !== undefined){let data112 = data110.text;if(typeof data112 === "string"){if(func1(data112) < 1){const err200 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}}else {const err201 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}}else {const err202 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}}}else {const err203 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}}else {const err204 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}}}else {const err205 = {instancePath:instancePath+"/question",schemaPath:"#/properties/question/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}if(data["pagefront:document"] !== undefined){let data113 = data["pagefront:document"];if(Array.isArray(data113)){const len14 = data113.length;for(let i14=0; i14<len14; i14++){let data114 = data113[i14];if(data114 && typeof data114 == "object" && !Array.isArray(data114)){if(data114["@type"] === undefined){const err206 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}if(data114.url === undefined){const err207 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}if(data114.role === undefined){const err208 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}for(const key0 in data114){if(!(((((((key0 === "@type") || (key0 === "url")) || (key0 === "role")) || (key0 === "name")) || (key0 === "inLanguage")) || (key0 === "description")) || (key0 === "encodingFormat"))){const err209 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}if(data114["@type"] !== undefined){if("pagefront:Document" !== data114["@type"]){const err210 = {instancePath:instancePath+"/pagefront:document/" + i14+"/@type",schemaPath:"#/$defs/documentObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Document"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}if(data114.url !== undefined){let data116 = data114.url;if(typeof data116 === "string"){if(!(formats0(data116))){const err211 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}}else {const err212 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}if(data114.role !== undefined){let data117 = data114.role;if(typeof data117 !== "string"){const err213 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}if(!((((((((((((((((((data117 === "manual") || (data117 === "assembly")) || (data117 === "care_guide")) || (data117 === "spec_sheet")) || (data117 === "compatibility")) || (data117 === "warranty")) || (data117 === "certificate")) || (data117 === "environmental_declaration")) || (data117 === "audit_report")) || (data117 === "lab_test")) || (data117 === "safety_data_sheet")) || (data117 === "installation_guide")) || (data117 === "user_guide")) || (data117 === "quick_start")) || (data117 === "brochure")) || (data117 === "repairability_index")) || (data117 === "recall_notice")) || (data117 === "declaration_of_conformity"))){const err214 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/enum",keyword:"enum",params:{allowedValues: schema49.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data114.name !== undefined){if(typeof data114.name !== "string"){const err215 = {instancePath:instancePath+"/pagefront:document/" + i14+"/name",schemaPath:"#/$defs/documentObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data114.inLanguage !== undefined){if(typeof data114.inLanguage !== "string"){const err216 = {instancePath:instancePath+"/pagefront:document/" + i14+"/inLanguage",schemaPath:"#/$defs/documentObject/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}if(data114.description !== undefined){if(typeof data114.description !== "string"){const err217 = {instancePath:instancePath+"/pagefront:document/" + i14+"/description",schemaPath:"#/$defs/documentObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}if(data114.encodingFormat !== undefined){if(typeof data114.encodingFormat !== "string"){const err218 = {instancePath:instancePath+"/pagefront:document/" + i14+"/encodingFormat",schemaPath:"#/$defs/documentObject/properties/encodingFormat/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}}else {const err219 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}}else {const err220 = {instancePath:instancePath+"/pagefront:document",schemaPath:"#/properties/pagefront%3Adocument/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data["pagefront:relatedProduct"] !== undefined){let data122 = data["pagefront:relatedProduct"];if(Array.isArray(data122)){const len15 = data122.length;for(let i15=0; i15<len15; i15++){let data123 = data122[i15];const _errs319 = errors;let valid80 = false;const _errs320 = errors;if(data123 && typeof data123 == "object" && !Array.isArray(data123)){if(data123["@id"] === undefined){const err221 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}var _valid16 = _errs320 === errors;valid80 = valid80 || _valid16;const _errs321 = errors;if(data123 && typeof data123 == "object" && !Array.isArray(data123)){if(data123.sku === undefined){const err222 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/1/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}var _valid16 = _errs321 === errors;valid80 = valid80 || _valid16;const _errs322 = errors;if(data123 && typeof data123 == "object" && !Array.isArray(data123)){if(data123.gtin === undefined){const err223 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}var _valid16 = _errs322 === errors;valid80 = valid80 || _valid16;const _errs323 = errors;if(data123 && typeof data123 == "object" && !Array.isArray(data123)){if(data123.gtin13 === undefined){const err224 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/3/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}var _valid16 = _errs323 === errors;valid80 = valid80 || _valid16;const _errs324 = errors;if(data123 && typeof data123 == "object" && !Array.isArray(data123)){if(data123.mpn === undefined){const err225 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/4/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}}var _valid16 = _errs324 === errors;valid80 = valid80 || _valid16;if(!valid80){const err226 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}else {errors = _errs319;if(vErrors !== null){if(_errs319){vErrors.length = _errs319;}else {vErrors = null;}}}if(data123 && typeof data123 == "object" && !Array.isArray(data123)){if(data123["@type"] === undefined){const err227 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}if(data123.relationship === undefined){const err228 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "relationship"},message:"must have required property '"+"relationship"+"'"};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}for(const key1 in data123){if(!(func7.call(schema50.properties, key1))){const err229 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}}if(data123["@type"] !== undefined){if("pagefront:RelatedProduct" !== data123["@type"]){const err230 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@type",schemaPath:"#/$defs/relatedProductObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:RelatedProduct"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}}if(data123.relationship !== undefined){let data125 = data123.relationship;if(typeof data125 !== "string"){const err231 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}if(!(((((((((((data125 === "accessory") || (data125 === "consumable")) || (data125 === "required_part")) || (data125 === "spare_part")) || (data125 === "often_bought_with")) || (data125 === "recommended_with")) || (data125 === "replaces")) || (data125 === "replaced_by")) || (data125 === "bundle_component")) || (data125 === "compatible_with")) || (data125 === "service"))){const err232 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/enum",keyword:"enum",params:{allowedValues: schema50.properties.relationship.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err232];}else {vErrors.push(err232);}errors++;}}if(data123["@id"] !== undefined){let data126 = data123["@id"];if(typeof data126 === "string"){if(!(formats0(data126))){const err233 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}}else {const err234 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}}if(data123.sku !== undefined){if(typeof data123.sku !== "string"){const err235 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/sku",schemaPath:"#/$defs/relatedProductObject/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}}if(data123.gtin !== undefined){if(typeof data123.gtin !== "string"){const err236 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin",schemaPath:"#/$defs/relatedProductObject/properties/gtin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}}if(data123.gtin13 !== undefined){let data129 = data123.gtin13;if(typeof data129 === "string"){if(!pattern5.test(data129)){const err237 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}else {const err238 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}}if(data123.mpn !== undefined){if(typeof data123.mpn !== "string"){const err239 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/mpn",schemaPath:"#/$defs/relatedProductObject/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}if(data123.name !== undefined){if(typeof data123.name !== "string"){const err240 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/name",schemaPath:"#/$defs/relatedProductObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}}if(data123.url !== undefined){let data132 = data123.url;if(typeof data132 === "string"){if(!(formats0(data132))){const err241 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}else {const err242 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}}if(data123.image !== undefined){let data133 = data123.image;if(typeof data133 === "string"){if(!(formats0(data133))){const err243 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}}else {const err244 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/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+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}}else {const err246 = {instancePath:instancePath+"/pagefront:relatedProduct",schemaPath:"#/properties/pagefront%3ArelatedProduct/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}if(data["pagefront:featureGroup"] !== undefined){let data134 = data["pagefront:featureGroup"];if(Array.isArray(data134)){if(data134.length < 1){const err247 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}const len16 = data134.length;for(let i16=0; i16<len16; i16++){if(!(validate26(data134[i16], {instancePath:instancePath+"/pagefront:featureGroup/" + i16,parentData:data134,parentDataProperty:i16,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate26.errors : vErrors.concat(validate26.errors);errors = vErrors.length;}}}else {const err248 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data["pagefront:productHighlights"] !== undefined){let data136 = data["pagefront:productHighlights"];if(Array.isArray(data136)){if(data136.length < 1){const err249 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/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 len17 = data136.length;for(let i17=0; i17<len17; i17++){if(typeof data136[i17] !== "string"){const err250 = {instancePath:instancePath+"/pagefront:productHighlights/" + i17,schemaPath:"#/properties/pagefront%3AproductHighlights/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+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}if(data["pagefront:legalEntity"] !== undefined){let data138 = data["pagefront:legalEntity"];if(Array.isArray(data138)){if(data138.length < 1){const err252 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/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 len18 = data138.length;for(let i18=0; i18<len18; i18++){let data139 = data138[i18];if(data139 && typeof data139 == "object" && !Array.isArray(data139)){if(data139["@type"] === undefined){const err253 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}if(data139.role === undefined){const err254 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}if(data139.organization === undefined){const err255 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err255];}else {vErrors.push(err255);}errors++;}for(const key2 in data139){if(!(((key2 === "@type") || (key2 === "role")) || (key2 === "organization"))){const err256 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}if(data139["@type"] !== undefined){if("pagefront:LegalEntity" !== data139["@type"]){const err257 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/@type",schemaPath:"#/$defs/legalEntity/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:LegalEntity"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}if(data139.role !== undefined){let data141 = data139.role;if(typeof data141 !== "string"){const err258 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}if(!(((((data141 === "brand_owner") || (data141 === "licensee")) || (data141 === "authorized_representative")) || (data141 === "importer")) || (data141 === "manufacturer"))){const err259 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/enum",keyword:"enum",params:{allowedValues: schema53.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}}if(data139.organization !== undefined){let data142 = data139.organization;const _errs363 = errors;let valid90 = false;const _errs364 = errors;if(data142 && typeof data142 == "object" && !Array.isArray(data142)){if(data142.name === undefined){const err260 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}}var _valid17 = _errs364 === errors;valid90 = valid90 || _valid17;const _errs365 = errors;if(data142 && typeof data142 == "object" && !Array.isArray(data142)){if(data142["@id"] === undefined){const err261 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}}var _valid17 = _errs365 === errors;valid90 = valid90 || _valid17;if(!valid90){const err262 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}else {errors = _errs363;if(vErrors !== null){if(_errs363){vErrors.length = _errs363;}else {vErrors = null;}}}if(data142 && typeof data142 == "object" && !Array.isArray(data142)){if(data142["@type"] === undefined){const err263 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}if(data142["@type"] !== undefined){if("Organization" !== data142["@type"]){const err264 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@type",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40type/const",keyword:"const",params:{allowedValue: "Organization"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}}if(data142["@id"] !== undefined){let data144 = data142["@id"];if(typeof data144 === "string"){if(!(formats0(data144))){const err265 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}else {const err266 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}}if(data142.name !== undefined){let data145 = data142.name;if(typeof data145 === "string"){if(func1(data145) < 1){const err267 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err267];}else {vErrors.push(err267);}errors++;}}else {const err268 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}}if(data142.address !== undefined){let data146 = data142.address;if(!(data146 && typeof data146 == "object" && !Array.isArray(data146))){const err269 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/address",schemaPath:"#/$defs/legalEntity/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err269];}else {vErrors.push(err269);}errors++;}}if(data142.url !== undefined){let data147 = data142.url;if(typeof data147 === "string"){if(!(formats0(data147))){const err270 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}}else {const err271 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}}if(data142.email !== undefined){let data148 = data142.email;if(typeof data148 === "string"){if(!(formats50.test(data148))){const err272 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}}else {const err273 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}}if(data142["pagefront:sheetUrl"] !== undefined){let data149 = data142["pagefront:sheetUrl"];if(typeof data149 === "string"){if(!(formats0(data149))){const err274 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}else {const err275 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err275];}else {vErrors.push(err275);}errors++;}}}else {const err276 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err276];}else {vErrors.push(err276);}errors++;}}}else {const err277 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err277];}else {vErrors.push(err277);}errors++;}}}else {const err278 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err278];}else {vErrors.push(err278);}errors++;}}if(data["pagefront:safetyWarning"] !== undefined){let data150 = data["pagefront:safetyWarning"];if(Array.isArray(data150)){if(data150.length < 1){const err279 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}const len19 = data150.length;for(let i19=0; i19<len19; i19++){let data151 = data150[i19];if(data151 && typeof data151 == "object" && !Array.isArray(data151)){if(data151["@type"] === undefined){const err280 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}if(data151.text === undefined){const err281 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}for(const key3 in data151){if(!((((key3 === "@type") || (key3 === "text")) || (key3 === "pictogram")) || (key3 === "hazardCategory"))){const err282 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err282];}else {vErrors.push(err282);}errors++;}}if(data151["@type"] !== undefined){if("pagefront:SafetyWarning" !== data151["@type"]){const err283 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/@type",schemaPath:"#/$defs/safetyWarning/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyWarning"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}}if(data151.text !== undefined){let data153 = data151.text;if(typeof data153 === "string"){if(func1(data153) < 1){const err284 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err284];}else {vErrors.push(err284);}errors++;}}else {const err285 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}}if(data151.pictogram !== undefined){let data154 = data151.pictogram;if(typeof data154 === "string"){if(!(formats0(data154))){const err286 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}}else {const err287 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err287];}else {vErrors.push(err287);}errors++;}}if(data151.hazardCategory !== undefined){if(typeof data151.hazardCategory !== "string"){const err288 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/hazardCategory",schemaPath:"#/$defs/safetyWarning/properties/hazardCategory/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err288];}else {vErrors.push(err288);}errors++;}}}else {const err289 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}}}else {const err290 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}}if(data["pagefront:safetyNotice"] !== undefined){let data156 = data["pagefront:safetyNotice"];if(Array.isArray(data156)){if(data156.length < 1){const err291 = {instancePath:instancePath+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err291];}else {vErrors.push(err291);}errors++;}const len20 = data156.length;for(let i20=0; i20<len20; i20++){let data157 = data156[i20];if(data157 && typeof data157 == "object" && !Array.isArray(data157)){if(data157["@type"] === undefined){const err292 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}if(data157.noticeType === undefined){const err293 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "noticeType"},message:"must have required property '"+"noticeType"+"'"};if(vErrors === null){vErrors = [err293];}else {vErrors.push(err293);}errors++;}for(const key4 in data157){if(!((((((((key4 === "@type") || (key4 === "noticeType")) || (key4 === "hazard")) || (key4 === "remedy")) || (key4 === "description")) || (key4 === "reference")) || (key4 === "datePublished")) || (key4 === "url"))){const err294 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}}if(data157["@type"] !== undefined){if("pagefront:SafetyNotice" !== data157["@type"]){const err295 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/@type",schemaPath:"#/$defs/safetyNotice/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyNotice"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}}if(data157.noticeType !== undefined){let data159 = data157.noticeType;if(typeof data159 !== "string"){const err296 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}if(!((data159 === "recall") || (data159 === "warning"))){const err297 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/enum",keyword:"enum",params:{allowedValues: schema55.properties.noticeType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}if(data157.hazard !== undefined){if(typeof data157.hazard !== "string"){const err298 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/hazard",schemaPath:"#/$defs/safetyNotice/properties/hazard/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}}if(data157.remedy !== undefined){let data161 = data157.remedy;if(typeof data161 !== "string"){const err299 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}if(!(((data161 === "repair") || (data161 === "replacement")) || (data161 === "refund"))){const err300 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/enum",keyword:"enum",params:{allowedValues: schema55.properties.remedy.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}}if(data157.description !== undefined){if(typeof data157.description !== "string"){const err301 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/description",schemaPath:"#/$defs/safetyNotice/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}if(data157.reference !== undefined){let data163 = data157.reference;if(typeof data163 === "string"){if(!(formats0(data163))){const err302 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}}else {const err303 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}}if(data157.datePublished !== undefined){let data164 = data157.datePublished;if(typeof data164 === "string"){if(!(formats42.validate(data164))){const err304 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}}else {const err305 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}}if(data157.url !== undefined){let data165 = data157.url;if(typeof data165 === "string"){if(!(formats0(data165))){const err306 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err306];}else {vErrors.push(err306);}errors++;}}else {const err307 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}}}else {const err308 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err308];}else {vErrors.push(err308);}errors++;}}}else {const err309 = {instancePath:instancePath+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}}if(data["pagefront:sizeChart"] !== undefined){if(!(validate28(data["pagefront:sizeChart"], {instancePath:instancePath+"/pagefront:sizeChart",parentData:data,parentDataProperty:"pagefront:sizeChart",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}}if(data["pagefront:sizeRecommendation"] !== undefined){if(!(validate30(data["pagefront:sizeRecommendation"], {instancePath:instancePath+"/pagefront:sizeRecommendation",parentData:data,parentDataProperty:"pagefront:sizeRecommendation",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate30.errors : vErrors.concat(validate30.errors);errors = vErrors.length;}}if(data["pagefront:materialComposition"] !== undefined){let data168 = data["pagefront:materialComposition"];if(Array.isArray(data168)){const len21 = data168.length;for(let i21=0; i21<len21; i21++){let data169 = data168[i21];if(data169 && typeof data169 == "object" && !Array.isArray(data169)){if(data169["@type"] === undefined){const err310 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}if(data169.material === undefined){const err311 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}for(const key5 in data169){if(!(((((((key5 === "@type") || (key5 === "material")) || (key5 === "percentage")) || (key5 === "purity")) || (key5 === "purityPercentage")) || (key5 === "provenance")) || (key5 === "weightGrams"))){const err312 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}if(data169["@type"] !== undefined){if("pagefront:Material" !== data169["@type"]){const err313 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}}if(data169.material !== undefined){if(typeof data169.material !== "string"){const err314 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err314];}else {vErrors.push(err314);}errors++;}}if(data169.percentage !== undefined){let data172 = data169.percentage;if((typeof data172 == "number") && (isFinite(data172))){if(data172 > 100 || isNaN(data172)){const err315 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}if(data172 < 0 || isNaN(data172)){const err316 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err316];}else {vErrors.push(err316);}errors++;}}else {const err317 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}}if(data169.purity !== undefined){if(typeof data169.purity !== "string"){const err318 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}}if(data169.purityPercentage !== undefined){let data174 = data169.purityPercentage;if((typeof data174 == "number") && (isFinite(data174))){if(data174 > 100 || isNaN(data174)){const err319 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}if(data174 < 0 || isNaN(data174)){const err320 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}}else {const err321 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err321];}else {vErrors.push(err321);}errors++;}}if(data169.provenance !== undefined){let data175 = data169.provenance;if(typeof data175 !== "string"){const err322 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}if(!((((((data175 === "virgin") || (data175 === "recycled")) || (data175 === "fair_mined")) || (data175 === "lab_grown")) || (data175 === "reclaimed")) || (data175 === "deadstock"))){const err323 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema61.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err323];}else {vErrors.push(err323);}errors++;}}if(data169.weightGrams !== undefined){let data176 = data169.weightGrams;if((typeof data176 == "number") && (isFinite(data176))){if(data176 < 0 || isNaN(data176)){const err324 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}}else {const err325 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}}}else {const err326 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}}}else {const err327 = {instancePath:instancePath+"/pagefront:materialComposition",schemaPath:"#/properties/pagefront%3AmaterialComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}if(data["pagefront:fabricComposition"] !== undefined){let data177 = data["pagefront:fabricComposition"];if(Array.isArray(data177)){const len22 = data177.length;for(let i22=0; i22<len22; i22++){let data178 = data177[i22];if(data178 && typeof data178 == "object" && !Array.isArray(data178)){if(data178["@type"] === undefined){const err328 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}if(data178.material === undefined){const err329 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err329];}else {vErrors.push(err329);}errors++;}for(const key6 in data178){if(!(((((((key6 === "@type") || (key6 === "material")) || (key6 === "percentage")) || (key6 === "purity")) || (key6 === "purityPercentage")) || (key6 === "provenance")) || (key6 === "weightGrams"))){const err330 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}}if(data178["@type"] !== undefined){if("pagefront:Material" !== data178["@type"]){const err331 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err331];}else {vErrors.push(err331);}errors++;}}if(data178.material !== undefined){if(typeof data178.material !== "string"){const err332 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}}if(data178.percentage !== undefined){let data181 = data178.percentage;if((typeof data181 == "number") && (isFinite(data181))){if(data181 > 100 || isNaN(data181)){const err333 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}if(data181 < 0 || isNaN(data181)){const err334 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}}else {const err335 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err335];}else {vErrors.push(err335);}errors++;}}if(data178.purity !== undefined){if(typeof data178.purity !== "string"){const err336 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err336];}else {vErrors.push(err336);}errors++;}}if(data178.purityPercentage !== undefined){let data183 = data178.purityPercentage;if((typeof data183 == "number") && (isFinite(data183))){if(data183 > 100 || isNaN(data183)){const err337 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err337];}else {vErrors.push(err337);}errors++;}if(data183 < 0 || isNaN(data183)){const err338 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err338];}else {vErrors.push(err338);}errors++;}}else {const err339 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}}if(data178.provenance !== undefined){let data184 = data178.provenance;if(typeof data184 !== "string"){const err340 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err340];}else {vErrors.push(err340);}errors++;}if(!((((((data184 === "virgin") || (data184 === "recycled")) || (data184 === "fair_mined")) || (data184 === "lab_grown")) || (data184 === "reclaimed")) || (data184 === "deadstock"))){const err341 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema61.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}if(data178.weightGrams !== undefined){let data185 = data178.weightGrams;if((typeof data185 == "number") && (isFinite(data185))){if(data185 < 0 || isNaN(data185)){const err342 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err342];}else {vErrors.push(err342);}errors++;}}else {const err343 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}}else {const err344 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}}}else {const err345 = {instancePath:instancePath+"/pagefront:fabricComposition",schemaPath:"#/properties/pagefront%3AfabricComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err345];}else {vErrors.push(err345);}errors++;}}if(data["pagefront:construction"] !== undefined){let data186 = data["pagefront:construction"];if(data186 && typeof data186 == "object" && !Array.isArray(data186)){if(data186["@type"] === undefined){const err346 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err346];}else {vErrors.push(err346);}errors++;}if(data186["@type"] !== undefined){if("pagefront:Construction" !== data186["@type"]){const err347 = {instancePath:instancePath+"/pagefront:construction/@type",schemaPath:"#/$defs/construction/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Construction"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err347];}else {vErrors.push(err347);}errors++;}}if(data186.stitch !== undefined){if(typeof data186.stitch !== "string"){const err348 = {instancePath:instancePath+"/pagefront:construction/stitch",schemaPath:"#/$defs/construction/properties/stitch/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err348];}else {vErrors.push(err348);}errors++;}}if(data186.gauge !== undefined){let data189 = data186.gauge;if(!((typeof data189 == "number") && (isFinite(data189)))){const err349 = {instancePath:instancePath+"/pagefront:construction/gauge",schemaPath:"#/$defs/construction/properties/gauge/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err349];}else {vErrors.push(err349);}errors++;}}if(data186.machine !== undefined){if(typeof data186.machine !== "string"){const err350 = {instancePath:instancePath+"/pagefront:construction/machine",schemaPath:"#/$defs/construction/properties/machine/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err350];}else {vErrors.push(err350);}errors++;}}if(data186.constructionNotes !== undefined){if(typeof data186.constructionNotes !== "string"){const err351 = {instancePath:instancePath+"/pagefront:construction/constructionNotes",schemaPath:"#/$defs/construction/properties/constructionNotes/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err351];}else {vErrors.push(err351);}errors++;}}}else {const err352 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err352];}else {vErrors.push(err352);}errors++;}}if(data["pagefront:manufacturingChain"] !== undefined){let data192 = data["pagefront:manufacturingChain"];if(Array.isArray(data192)){const len23 = data192.length;for(let i23=0; i23<len23; i23++){let data193 = data192[i23];if(data193 && typeof data193 == "object" && !Array.isArray(data193)){if(data193["@type"] === undefined){const err353 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err353];}else {vErrors.push(err353);}errors++;}if(data193.stage === undefined){const err354 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "stage"},message:"must have required property '"+"stage"+"'"};if(vErrors === null){vErrors = [err354];}else {vErrors.push(err354);}errors++;}if(data193.country === undefined){const err355 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "country"},message:"must have required property '"+"country"+"'"};if(vErrors === null){vErrors = [err355];}else {vErrors.push(err355);}errors++;}for(const key7 in data193){if(!(((((key7 === "@type") || (key7 === "stage")) || (key7 === "country")) || (key7 === "facility")) || (key7 === "facilityCountry"))){const err356 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err356];}else {vErrors.push(err356);}errors++;}}if(data193["@type"] !== undefined){if("pagefront:ManufacturingStage" !== data193["@type"]){const err357 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/@type",schemaPath:"#/$defs/manufacturingStage/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ManufacturingStage"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err357];}else {vErrors.push(err357);}errors++;}}if(data193.stage !== undefined){if(typeof data193.stage !== "string"){const err358 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/stage",schemaPath:"#/$defs/manufacturingStage/properties/stage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err358];}else {vErrors.push(err358);}errors++;}}if(data193.country !== undefined){let data196 = data193.country;if(typeof data196 === "string"){if(!pattern9.test(data196)){const err359 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err359];}else {vErrors.push(err359);}errors++;}}else {const err360 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err360];}else {vErrors.push(err360);}errors++;}}if(data193.facility !== undefined){if(typeof data193.facility !== "string"){const err361 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facility",schemaPath:"#/$defs/manufacturingStage/properties/facility/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err361];}else {vErrors.push(err361);}errors++;}}if(data193.facilityCountry !== undefined){let data198 = data193.facilityCountry;if(typeof data198 === "string"){if(!pattern9.test(data198)){const err362 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err362];}else {vErrors.push(err362);}errors++;}}else {const err363 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err363];}else {vErrors.push(err363);}errors++;}}}else {const err364 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err364];}else {vErrors.push(err364);}errors++;}}}else {const err365 = {instancePath:instancePath+"/pagefront:manufacturingChain",schemaPath:"#/properties/pagefront%3AmanufacturingChain/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err365];}else {vErrors.push(err365);}errors++;}}if(data["pagefront:gemstone"] !== undefined){let data199 = data["pagefront:gemstone"];if(data199 && typeof data199 == "object" && !Array.isArray(data199)){if(data199["@type"] === undefined){const err366 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err366];}else {vErrors.push(err366);}errors++;}if(data199.type === undefined){const err367 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err367];}else {vErrors.push(err367);}errors++;}for(const key8 in data199){if(!(func7.call(schema65.properties, key8))){const err368 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err368];}else {vErrors.push(err368);}errors++;}}if(data199["@type"] !== undefined){if("pagefront:Gemstone" !== data199["@type"]){const err369 = {instancePath:instancePath+"/pagefront:gemstone/@type",schemaPath:"#/$defs/gemstone/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Gemstone"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err369];}else {vErrors.push(err369);}errors++;}}if(data199.type !== undefined){if(typeof data199.type !== "string"){const err370 = {instancePath:instancePath+"/pagefront:gemstone/type",schemaPath:"#/$defs/gemstone/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err370];}else {vErrors.push(err370);}errors++;}}if(data199.origin !== undefined){let data202 = data199.origin;if(typeof data202 !== "string"){const err371 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err371];}else {vErrors.push(err371);}errors++;}if(!((((data202 === "natural_mined") || (data202 === "lab_grown")) || (data202 === "treated")) || (data202 === "synthetic"))){const err372 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/enum",keyword:"enum",params:{allowedValues: schema65.properties.origin.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err372];}else {vErrors.push(err372);}errors++;}}if(data199.shape !== undefined){if(typeof data199.shape !== "string"){const err373 = {instancePath:instancePath+"/pagefront:gemstone/shape",schemaPath:"#/$defs/gemstone/properties/shape/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err373];}else {vErrors.push(err373);}errors++;}}if(data199.caratWeight !== undefined){let data204 = data199.caratWeight;if((typeof data204 == "number") && (isFinite(data204))){if(data204 < 0 || isNaN(data204)){const err374 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err374];}else {vErrors.push(err374);}errors++;}}else {const err375 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err375];}else {vErrors.push(err375);}errors++;}}if(data199.colorGrade !== undefined){if(typeof data199.colorGrade !== "string"){const err376 = {instancePath:instancePath+"/pagefront:gemstone/colorGrade",schemaPath:"#/$defs/gemstone/properties/colorGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err376];}else {vErrors.push(err376);}errors++;}}if(data199.clarityGrade !== undefined){if(typeof data199.clarityGrade !== "string"){const err377 = {instancePath:instancePath+"/pagefront:gemstone/clarityGrade",schemaPath:"#/$defs/gemstone/properties/clarityGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err377];}else {vErrors.push(err377);}errors++;}}if(data199.cutGrade !== undefined){if(typeof data199.cutGrade !== "string"){const err378 = {instancePath:instancePath+"/pagefront:gemstone/cutGrade",schemaPath:"#/$defs/gemstone/properties/cutGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err378];}else {vErrors.push(err378);}errors++;}}if(data199.certifyingBody !== undefined){if(typeof data199.certifyingBody !== "string"){const err379 = {instancePath:instancePath+"/pagefront:gemstone/certifyingBody",schemaPath:"#/$defs/gemstone/properties/certifyingBody/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err379];}else {vErrors.push(err379);}errors++;}}}else {const err380 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err380];}else {vErrors.push(err380);}errors++;}}if(data["pagefront:configurator"] !== undefined){if(!(validate32(data["pagefront:configurator"], {instancePath:instancePath+"/pagefront:configurator",parentData:data,parentDataProperty:"pagefront:configurator",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate32.errors : vErrors.concat(validate32.errors);errors = vErrors.length;}}if(data["pagefront:madeToOrderTerms"] !== undefined){if(!(validate34(data["pagefront:madeToOrderTerms"], {instancePath:instancePath+"/pagefront:madeToOrderTerms",parentData:data,parentDataProperty:"pagefront:madeToOrderTerms",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate34.errors : vErrors.concat(validate34.errors);errors = vErrors.length;}}if(data["pagefront:manufacturerWarranty"] !== undefined){let data211 = data["pagefront:manufacturerWarranty"];if(!(data211 && typeof data211 == "object" && !Array.isArray(data211))){const err381 = {instancePath:instancePath+"/pagefront:manufacturerWarranty",schemaPath:"#/properties/pagefront%3AmanufacturerWarranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err381];}else {vErrors.push(err381);}errors++;}}if(data["pagefront:careInstructions"] !== undefined){let data212 = data["pagefront:careInstructions"];if(Array.isArray(data212)){const len24 = data212.length;for(let i24=0; i24<len24; i24++){if(typeof data212[i24] !== "string"){const err382 = {instancePath:instancePath+"/pagefront:careInstructions/" + i24,schemaPath:"#/properties/pagefront%3AcareInstructions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err382];}else {vErrors.push(err382);}errors++;}}}else {const err383 = {instancePath:instancePath+"/pagefront:careInstructions",schemaPath:"#/properties/pagefront%3AcareInstructions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err383];}else {vErrors.push(err383);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data214 = data["pagefront:availableLanguages"];if(Array.isArray(data214)){const len25 = data214.length;for(let i25=0; i25<len25; i25++){let data215 = data214[i25];if(data215 && typeof data215 == "object" && !Array.isArray(data215)){if(data215.lang === undefined){const err384 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err384];}else {vErrors.push(err384);}errors++;}if(data215.url === undefined){const err385 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err385];}else {vErrors.push(err385);}errors++;}for(const key9 in data215){if(!((key9 === "lang") || (key9 === "url"))){const err386 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err386];}else {vErrors.push(err386);}errors++;}}if(data215.lang !== undefined){if(typeof data215.lang !== "string"){const err387 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err387];}else {vErrors.push(err387);}errors++;}}if(data215.url !== undefined){let data217 = data215.url;if(typeof data217 === "string"){if(!(formats0(data217))){const err388 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err388];}else {vErrors.push(err388);}errors++;}}else {const err389 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err389];}else {vErrors.push(err389);}errors++;}}}else {const err390 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err390];}else {vErrors.push(err390);}errors++;}}}else {const err391 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err391];}else {vErrors.push(err391);}errors++;}}}else {const err392 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err392];}else {vErrors.push(err392);}errors++;}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern4.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate21(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};export const validateOrganization = validate37;const schema71 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json","title":"Pagefront Commerce Organization Sheet v0.9","description":"Formal schema for the Pagefront Commerce Organization Sheet — the sheet describing the entity behind products (brand owner, manufacturer, seller), introduced with commerce format 0.9 alongside the reference-capable legalEntity and the seller-sheet return/shipping model. The data block roots on Schema.org Organization (recognized subtypes permitted; @type is not constrained to a single value). pagefront:commerceRole is the required role discriminator, an array of one or more values from the closed enum brand_owner / manufacturer / seller. pagefront:fulfillmentTerms carries the store-wide shipping defaults as an array of Schema.org-native OfferShippingDetails objects; only the attachment shell is validated, the payload is Schema.org content. pagefront:socialAccount carries the organization's official social accounts (platform / url / handle; publisher-stated only), distinct from sameAs, which carries identity authority records only. pagefront:authorizedResellers carries the brand's authorization claim over its distribution — a pagefront:AuthorizedResellers object with an optional exhaustive flag and a reseller array whose entries name an Organization either as a reference stub (@id) or inline (name plus url and/or address), with optional Schema.org-native areaServed; valid only where commerceRole includes brand_owner (linter ORG-W-006). There is no GTIN-equivalent identifier requirement: identity is @id + name. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true}}};const schema72 = {"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true};const schema73 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate38(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate38.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data["@id"] === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.name === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.inLanguage === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data["pagefront:commerceRole"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "pagefront:commerceRole"},message:"must have required property '"+"pagefront:commerceRole"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@context"] !== undefined){let data0 = data["@context"];const _errs3 = errors;let valid1 = false;let passing0 = null;const _errs4 = errors;if("https://schema.org" !== data0){const err6 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs4 === errors;if(_valid0){valid1 = true;passing0 = 0;}const _errs5 = errors;if(Array.isArray(data0)){if(data0.length < 1){const err7 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/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 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs8 = errors;let valid4 = false;let passing1 = null;const _errs9 = errors;if(typeof data1 === "string"){if(!(formats0(data1))){const err8 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid1 = _errs9 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs11 = errors;if(!(data1 && typeof data1 == "object" && !Array.isArray(data1))){const err10 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs11 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err11 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}}}else {const err12 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs5 === errors;if(_valid0 && valid1){valid1 = false;passing0 = [passing0, 1];}else {if(_valid0){valid1 = true;passing0 = 1;}}if(!valid1){const err13 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err14 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data["@id"] !== undefined){let data3 = data["@id"];if(typeof data3 === "string"){if(!(formats0(data3))){const err15 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.name !== undefined){let data4 = data.name;if(typeof data4 === "string"){if(func1(data4) < 1){const err17 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.legalName !== undefined){if(typeof data.legalName !== "string"){const err19 = {instancePath:instancePath+"/legalName",schemaPath:"#/properties/legalName/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err20 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.url !== undefined){let data7 = data.url;if(typeof data7 === "string"){if(!(formats0(data7))){const err21 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err23 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.slogan !== undefined){if(typeof data.slogan !== "string"){const err24 = {instancePath:instancePath+"/slogan",schemaPath:"#/properties/slogan/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.logo !== undefined){let data10 = data.logo;const _errs30 = errors;let valid5 = false;let passing2 = null;const _errs31 = errors;if(typeof data10 === "string"){if(!(formats0(data10))){const err25 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid2 = _errs31 === errors;if(_valid2){valid5 = true;passing2 = 0;}const _errs33 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){const err27 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid2 = _errs33 === errors;if(_valid2 && valid5){valid5 = false;passing2 = [passing2, 1];}else {if(_valid2){valid5 = true;passing2 = 1;}}if(!valid5){const err28 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}}if(data.iso6523Code !== undefined){if(typeof data.iso6523Code !== "string"){const err29 = {instancePath:instancePath+"/iso6523Code",schemaPath:"#/properties/iso6523Code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.identifier !== undefined){let data12 = data.identifier;const _errs38 = errors;let valid6 = false;let passing3 = null;const _errs39 = errors;if(typeof data12 !== "string"){const err30 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid3 = _errs39 === errors;if(_valid3){valid6 = true;passing3 = 0;}const _errs41 = errors;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err31 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid3 = _errs41 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 1];}else {if(_valid3){valid6 = true;passing3 = 1;}const _errs43 = errors;if(Array.isArray(data12)){const len1 = data12.length;for(let i1=0; i1<len1; i1++){let data13 = data12[i1];const _errs46 = errors;let valid9 = false;let passing4 = null;const _errs47 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid4 = _errs47 === errors;if(_valid4){valid9 = true;passing4 = 0;}const _errs49 = errors;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err33 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid4 = _errs49 === errors;if(_valid4 && valid9){valid9 = false;passing4 = [passing4, 1];}else {if(_valid4){valid9 = true;passing4 = 1;}}if(!valid9){const err34 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs46;if(vErrors !== null){if(_errs46){vErrors.length = _errs46;}else {vErrors = null;}}}}}else {const err35 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}var _valid3 = _errs43 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 2];}else {if(_valid3){valid6 = true;passing3 = 2;}}}if(!valid6){const err36 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.sameAs !== undefined){let data14 = data.sameAs;const _errs52 = errors;let valid10 = false;let passing5 = null;const _errs53 = errors;if(typeof data14 === "string"){if(!(formats0(data14))){const err37 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid5 = _errs53 === errors;if(_valid5){valid10 = true;passing5 = 0;}const _errs55 = errors;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(typeof data15 === "string"){if(!(formats0(data15))){const err39 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}else {const err40 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/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+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid5 = _errs55 === errors;if(_valid5 && valid10){valid10 = false;passing5 = [passing5, 1];}else {if(_valid5){valid10 = true;passing5 = 1;}}if(!valid10){const err42 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}if(data.email !== undefined){let data16 = data.email;if(typeof data16 === "string"){if(!(formats50.test(data16))){const err43 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}else {const err44 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.address !== undefined){let data17 = data.address;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err45 = {instancePath:instancePath+"/address",schemaPath:"#/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.contactPoint !== undefined){let data18 = data.contactPoint;const _errs64 = errors;let valid13 = false;let passing6 = null;const _errs65 = errors;if(!(data18 && typeof data18 == "object" && !Array.isArray(data18))){const err46 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}var _valid6 = _errs65 === errors;if(_valid6){valid13 = true;passing6 = 0;}const _errs67 = errors;if(Array.isArray(data18)){const len3 = data18.length;for(let i3=0; i3<len3; i3++){let data19 = data18[i3];if(!(data19 && typeof data19 == "object" && !Array.isArray(data19))){const err47 = {instancePath:instancePath+"/contactPoint/" + i3,schemaPath:"#/properties/contactPoint/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}}else {const err48 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}var _valid6 = _errs67 === errors;if(_valid6 && valid13){valid13 = false;passing6 = [passing6, 1];}else {if(_valid6){valid13 = true;passing6 = 1;}}if(!valid13){const err49 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {errors = _errs64;if(vErrors !== null){if(_errs64){vErrors.length = _errs64;}else {vErrors = null;}}}}if(data.foundingDate !== undefined){if(typeof data.foundingDate !== "string"){const err50 = {instancePath:instancePath+"/foundingDate",schemaPath:"#/properties/foundingDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.numberOfEmployees !== undefined){let data21 = data.numberOfEmployees;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err51 = {instancePath:instancePath+"/numberOfEmployees",schemaPath:"#/properties/numberOfEmployees/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data.parentOrganization !== undefined){let data22 = data.parentOrganization;if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){const err52 = {instancePath:instancePath+"/parentOrganization",schemaPath:"#/properties/parentOrganization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data.subOrganization !== undefined){let data23 = data.subOrganization;const _errs78 = errors;let valid16 = false;let passing7 = null;const _errs79 = errors;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err53 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}var _valid7 = _errs79 === errors;if(_valid7){valid16 = true;passing7 = 0;}const _errs81 = errors;if(Array.isArray(data23)){const len4 = data23.length;for(let i4=0; i4<len4; i4++){let data24 = data23[i4];if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){const err54 = {instancePath:instancePath+"/subOrganization/" + i4,schemaPath:"#/properties/subOrganization/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid7 = _errs81 === errors;if(_valid7 && valid16){valid16 = false;passing7 = [passing7, 1];}else {if(_valid7){valid16 = true;passing7 = 1;}}if(!valid16){const err56 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}else {errors = _errs78;if(vErrors !== null){if(_errs78){vErrors.length = _errs78;}else {vErrors = null;}}}}if(data.location !== undefined){let data25 = data.location;const _errs86 = errors;let valid19 = false;let passing8 = null;const _errs87 = errors;if(!(data25 && typeof data25 == "object" && !Array.isArray(data25))){const err57 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}var _valid8 = _errs87 === errors;if(_valid8){valid19 = true;passing8 = 0;}const _errs89 = errors;if(Array.isArray(data25)){const len5 = data25.length;for(let i5=0; i5<len5; i5++){let data26 = data25[i5];if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err58 = {instancePath:instancePath+"/location/" + i5,schemaPath:"#/properties/location/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}else {const err59 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}var _valid8 = _errs89 === errors;if(_valid8 && valid19){valid19 = false;passing8 = [passing8, 1];}else {if(_valid8){valid19 = true;passing8 = 1;}}if(!valid19){const err60 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {errors = _errs86;if(vErrors !== null){if(_errs86){vErrors.length = _errs86;}else {vErrors = null;}}}}if(data.brand !== undefined){let data27 = data.brand;if(!(data27 && typeof data27 == "object" && !Array.isArray(data27))){const err61 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data.aggregateRating !== undefined){let data28 = data.aggregateRating;if(!(data28 && typeof data28 == "object" && !Array.isArray(data28))){const err62 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}}if(data.hasCertification !== undefined){let data29 = data.hasCertification;if(Array.isArray(data29)){const len6 = data29.length;for(let i6=0; i6<len6; i6++){let data30 = data29[i6];if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30["@type"] === undefined){const err63 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}if(data30.name === undefined){const err64 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}if(data30["@type"] !== undefined){if("Certification" !== data30["@type"]){const err65 = {instancePath:instancePath+"/hasCertification/" + i6+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data30.name !== undefined){if(typeof data30.name !== "string"){const err66 = {instancePath:instancePath+"/hasCertification/" + i6+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data30.issuedBy !== undefined){let data33 = data30.issuedBy;if(!(data33 && typeof data33 == "object" && !Array.isArray(data33))){const err67 = {instancePath:instancePath+"/hasCertification/" + i6+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data30.about !== undefined){if(typeof data30.about !== "string"){const err68 = {instancePath:instancePath+"/hasCertification/" + i6+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data30.additionalProperty !== undefined){if(!(Array.isArray(data30.additionalProperty))){const err69 = {instancePath:instancePath+"/hasCertification/" + i6+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}else {const err71 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data.hasMerchantReturnPolicy !== undefined){let data36 = data.hasMerchantReturnPolicy;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err72 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}if(data.paymentAccepted !== undefined){let data37 = data.paymentAccepted;const _errs115 = errors;let valid26 = false;let passing9 = null;const _errs116 = errors;if(typeof data37 !== "string"){const err73 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}var _valid9 = _errs116 === errors;if(_valid9){valid26 = true;passing9 = 0;}const _errs118 = errors;if(Array.isArray(data37)){const len7 = data37.length;for(let i7=0; i7<len7; i7++){if(typeof data37[i7] !== "string"){const err74 = {instancePath:instancePath+"/paymentAccepted/" + i7,schemaPath:"#/properties/paymentAccepted/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs118 === errors;if(_valid9 && valid26){valid26 = false;passing9 = [passing9, 1];}else {if(_valid9){valid26 = true;passing9 = 1;}}if(!valid26){const err76 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs115;if(vErrors !== null){if(_errs115){vErrors.length = _errs115;}else {vErrors = null;}}}}if(data["pagefront:commerceRole"] !== undefined){let data39 = data["pagefront:commerceRole"];if(Array.isArray(data39)){if(data39.length < 1){const err77 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const len8 = data39.length;for(let i8=0; i8<len8; i8++){let data40 = data39[i8];if(typeof data40 !== "string"){const err78 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(!(((data40 === "brand_owner") || (data40 === "manufacturer")) || (data40 === "seller"))){const err79 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/enum",keyword:"enum",params:{allowedValues: schema72.properties["pagefront:commerceRole"].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}else {const err80 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data["pagefront:fulfillmentTerms"] !== undefined){let data41 = data["pagefront:fulfillmentTerms"];if(Array.isArray(data41)){const len9 = data41.length;for(let i9=0; i9<len9; i9++){let data42 = data41[i9];if(data42 && typeof data42 == "object" && !Array.isArray(data42)){if(data42["@type"] === undefined){const err81 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(data42["@type"] !== undefined){if("OfferShippingDetails" !== data42["@type"]){const err82 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9+"/@type",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/properties/%40type/const",keyword:"const",params:{allowedValue: "OfferShippingDetails"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}else {const err83 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}}else {const err84 = {instancePath:instancePath+"/pagefront:fulfillmentTerms",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data["pagefront:socialAccount"] !== undefined){let data44 = data["pagefront:socialAccount"];if(Array.isArray(data44)){const len10 = data44.length;for(let i10=0; i10<len10; i10++){let data45 = data44[i10];if(data45 && typeof data45 == "object" && !Array.isArray(data45)){if(data45.platform === undefined){const err85 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "platform"},message:"must have required property '"+"platform"+"'"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}if(data45.url === undefined){const err86 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}if(data45["@type"] !== undefined){if("pagefront:SocialAccount" !== data45["@type"]){const err87 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/@type",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SocialAccount"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data45.platform !== undefined){let data47 = data45.platform;if(typeof data47 === "string"){if(func1(data47) < 1){const err88 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}else {const err89 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}if(data45.url !== undefined){let data48 = data45.url;if(typeof data48 === "string"){if(!(formats0(data48))){const err90 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}else {const err91 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}if(data45.handle !== undefined){let data49 = data45.handle;if(typeof data49 === "string"){if(func1(data49) < 1){const err92 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}else {const err93 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}}else {const err94 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}else {const err95 = {instancePath:instancePath+"/pagefront:socialAccount",schemaPath:"#/properties/pagefront%3AsocialAccount/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data["pagefront:authorizedResellers"] !== undefined){let data50 = data["pagefront:authorizedResellers"];if(data50 && typeof data50 == "object" && !Array.isArray(data50)){if(data50.reseller === undefined){const err96 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/required",keyword:"required",params:{missingProperty: "reseller"},message:"must have required property '"+"reseller"+"'"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}for(const key0 in data50){if(!(((key0 === "@type") || (key0 === "exhaustive")) || (key0 === "reseller"))){const err97 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}if(data50["@type"] !== undefined){if("pagefront:AuthorizedResellers" !== data50["@type"]){const err98 = {instancePath:instancePath+"/pagefront:authorizedResellers/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AuthorizedResellers"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}if(data50.exhaustive !== undefined){if(typeof data50.exhaustive !== "boolean"){const err99 = {instancePath:instancePath+"/pagefront:authorizedResellers/exhaustive",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/exhaustive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}if(data50.reseller !== undefined){let data53 = data50.reseller;if(Array.isArray(data53)){if(data53.length < 1){const err100 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const len11 = data53.length;for(let i11=0; i11<len11; i11++){let data54 = data53[i11];if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.organization === undefined){const err101 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}for(const key1 in data54){if(!((key1 === "organization") || (key1 === "areaServed"))){const err102 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data54.organization !== undefined){let data55 = data54.organization;const _errs157 = errors;let valid41 = false;const _errs158 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@id"] === undefined){const err103 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}var _valid10 = _errs158 === errors;valid41 = valid41 || _valid10;const _errs159 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err104 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data55.url === undefined){const err105 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}var _valid10 = _errs159 === errors;valid41 = valid41 || _valid10;const _errs160 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err106 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data55.address === undefined){const err107 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "address"},message:"must have required property '"+"address"+"'"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}var _valid10 = _errs160 === errors;valid41 = valid41 || _valid10;if(!valid41){const err108 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}else {errors = _errs157;if(vErrors !== null){if(_errs157){vErrors.length = _errs157;}else {vErrors = null;}}}if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@type"] !== undefined){if(typeof data55["@type"] !== "string"){const err109 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}if(data55["@id"] !== undefined){let data57 = data55["@id"];if(typeof data57 === "string"){if(!(formats0(data57))){const err110 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}else {const err111 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}if(data55.name !== undefined){let data58 = data55.name;if(typeof data58 === "string"){if(func1(data58) < 1){const err112 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}else {const err113 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data55.url !== undefined){let data59 = data55.url;if(typeof data59 === "string"){if(!(formats0(data59))){const err114 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data55.address !== undefined){let data60 = data55.address;if(!(data60 && typeof data60 == "object" && !Array.isArray(data60))){const err116 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/address",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}}else {const err117 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data54.areaServed !== undefined){let data61 = data54.areaServed;const _errs173 = errors;let valid43 = false;let passing10 = null;const _errs174 = errors;if(!(data61 && typeof data61 == "object" && !Array.isArray(data61))){const err118 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}var _valid11 = _errs174 === errors;if(_valid11){valid43 = true;passing10 = 0;}const _errs176 = errors;if(Array.isArray(data61)){if(data61.length < 1){const err119 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}const len12 = data61.length;for(let i12=0; i12<len12; i12++){let data62 = data61[i12];if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err120 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed/" + i12,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}}else {const err121 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}var _valid11 = _errs176 === errors;if(_valid11 && valid43){valid43 = false;passing10 = [passing10, 1];}else {if(_valid11){valid43 = true;passing10 = 1;}}if(!valid43){const err122 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs173;if(vErrors !== null){if(_errs173){vErrors.length = _errs173;}else {vErrors = null;}}}}}else {const err123 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}}else {const err125 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data63 = data["pagefront:availableLanguages"];if(Array.isArray(data63)){const len13 = data63.length;for(let i13=0; i13<len13; i13++){let data64 = data63[i13];if(data64 && typeof data64 == "object" && !Array.isArray(data64)){if(data64.lang === undefined){const err126 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data64.url === undefined){const err127 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}for(const key2 in data64){if(!((key2 === "lang") || (key2 === "url"))){const err128 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data64.lang !== undefined){if(typeof data64.lang !== "string"){const err129 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}if(data64.url !== undefined){let data66 = data64.url;if(typeof data66 === "string"){if(!(formats0(data66))){const err130 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}else {const err131 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}else {const err132 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}}else {const err133 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}validate38.errors = vErrors;return errors === 0;}validate38.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate37(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate37.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern4.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate38(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate38.errors : vErrors.concat(validate38.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate37.errors = vErrors;return errors === 0;}validate37.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|
|
6
|
+
export const validateProduct = validate20;const schema31 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json","title":"Pagefront Product Sheet v0.9","description":"Formal schema for the Pagefront product sheet. Revision of 2026-10-01 (breaking, within v0.9): configurator pricing moves from pagefront:configurator to the offer. The configurator loses basePrice, basePriceCurrency and priceFormula, its options lose priceModifier and currency, and it gains an optional @id and an exclusions[] array; configurator dimensions gain affectsPrice; Offer and AggregateOffer accept pagefront:configuratorPricing, which names the configurator it prices and carries baseConfiguration, basePrice, modifiers, optional adjustments[] and a pricing completeness flag. v0.9 sheets that carried prices inside the configurator no longer validate. v0.9 was otherwise an additive release on top of v0.8: the legalEntity entry's organization now also validates in reference-stub form (@type + @id, no name) so entries can reference a Commerce Organization Sheet; the inline form and all other constraints are unchanged, and v0.8 sheets remain valid once their format_version is updated. v0.8 is an additive release on top of v0.7: it adds a pagefront:featureGroup[] array for grouped, ordered technical specifications (groups of Schema.org PropertyValue entries, with an optional pagefront:presentationValue display variant per entry), a pagefront:productHighlights[] array of ordered publisher-authored selling-point strings, and a pagefront:legalEntity[] array for role-typed legal entities behind a product (closed role enum: brand_owner, licensee, authorized_representative, importer, manufacturer — EU GPSR responsible persons and similar). gtin and gtin13 now accept a string or an array of strings (regional packaging, re-releases); category now accepts the display string, a Schema.org CategoryCode object, or a mixed array of both. The pagefront:Document role enum gains repairability_index, recall_notice, and declaration_of_conformity; the pagefront:RelatedProduct relationship enum gains service. v0.8 also adds two GPSR-driven safety fields: a pagefront:safetyWarning[] array for typed, language-scoped safety warnings (text required; optional pictogram URL and open-vocabulary hazardCategory) and a pagefront:safetyNotice[] array for structured recall/safety notices (closed noticeType enum: recall, warning; closed remedy enum: repair, replacement, refund). v0.7 sheets remain valid under v0.8 once their format_version is updated. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true},"variantEntry":{"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"type":["string","number"]},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"imageObject":{"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true},"videoObject":{"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true},"questionObject":{"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true},"documentObject":{"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false},"relatedProductObject":{"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false},"gtinValue":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]},"gtin13Value":{"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]},"categoryCode":{"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true},"featureGroup":{"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false},"featureEntry":{"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true},"legalEntity":{"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false},"safetyWarning":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false},"safetyNotice":{"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true},"offer":{"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"type":"string"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true},"aggregateOffer":{"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"type":"number"},"highPrice":{"type":"number"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true},"priceOnRequest":{"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"sizeChart":{"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false},"measurement":{"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false},"modelReference":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false},"sizeRecommendation":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false},"sizeAdjustment":{"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false},"material":{"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false},"construction":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true},"manufacturingStage":{"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false},"gemstone":{"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false},"configurator":{"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false},"configuratorDimension":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false},"configurationSelection":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"configuratorPricing":{"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)?$"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false},"madeToOrderTerms":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false},"duration":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false},"deliveryEstimate":{"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false},"aftermarketService":{"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"promotion":{"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"type":"string"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false}}};const formats0 = fullFormats.uri;const formats6 = fullFormats["date-time"];const pattern4 = new RegExp("^\\d+(\\.\\d+)?$", "u");const schema32 = {"type":"object","required":["@context","@type","@id","name","inLanguage"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"inLanguage":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"productGroupID":{"type":"string"},"variesBy":{"type":"array","items":{"type":"string"}},"hasVariant":{"type":"array","items":{"$ref":"#/$defs/variantEntry"}},"brand":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"description":{"type":"string"},"category":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"},{"type":"array","items":{"oneOf":[{"type":"string"},{"$ref":"#/$defs/categoryCode"}]},"minItems":1}]},"color":{"type":"string"},"material":{"type":"string"},"weight":{"type":"object"},"height":{"type":"object"},"width":{"type":"object"},"depth":{"type":"object"},"countryOfOrigin":{"type":"string","pattern":"^[A-Z]{2}$"},"image":{"type":"array","items":{"$ref":"#/$defs/imageObject"}},"video":{"type":"array","items":{"$ref":"#/$defs/videoObject"}},"additionalProperty":{"type":"array"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"manufacturer":{"type":"object"},"offers":{"type":"array","items":{"oneOf":[{"$ref":"#/$defs/offer"},{"$ref":"#/$defs/aggregateOffer"}]},"minItems":1},"aggregateRating":{"type":"object"},"review":{"type":"array"},"isVariantOf":{"type":"object"},"isRelatedTo":{"type":"array"},"isSimilarTo":{"type":"array"},"isPartOf":{"oneOf":[{"type":"object"},{"type":"array"}]},"hasPart":{"oneOf":[{"type":"object"},{"type":"array"}]},"question":{"type":"array","items":{"$ref":"#/$defs/questionObject"}},"pagefront:document":{"type":"array","items":{"$ref":"#/$defs/documentObject"}},"pagefront:relatedProduct":{"type":"array","items":{"$ref":"#/$defs/relatedProductObject"}},"pagefront:featureGroup":{"type":"array","items":{"$ref":"#/$defs/featureGroup"},"minItems":1},"pagefront:productHighlights":{"type":"array","items":{"type":"string"},"minItems":1},"pagefront:legalEntity":{"type":"array","items":{"$ref":"#/$defs/legalEntity"},"minItems":1},"pagefront:safetyWarning":{"type":"array","items":{"$ref":"#/$defs/safetyWarning"},"minItems":1},"pagefront:safetyNotice":{"type":"array","items":{"$ref":"#/$defs/safetyNotice"},"minItems":1},"pagefront:sizeChart":{"$ref":"#/$defs/sizeChart"},"pagefront:sizeRecommendation":{"$ref":"#/$defs/sizeRecommendation"},"pagefront:materialComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:fabricComposition":{"type":"array","items":{"$ref":"#/$defs/material"}},"pagefront:construction":{"$ref":"#/$defs/construction"},"pagefront:manufacturingChain":{"type":"array","items":{"$ref":"#/$defs/manufacturingStage"}},"pagefront:gemstone":{"$ref":"#/$defs/gemstone"},"pagefront:configurator":{"$ref":"#/$defs/configurator"},"pagefront:madeToOrderTerms":{"$ref":"#/$defs/madeToOrderTerms"},"pagefront:manufacturerWarranty":{"type":"object"},"pagefront:careInstructions":{"type":"array","items":{"type":"string"}},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"if":{"properties":{"@type":{"const":"ProductGroup"}},"required":["@type"]},"then":{"required":["productGroupID"]},"else":{"required":["url"],"anyOf":[{"required":["sku"]},{"required":["gtin13"]},{"required":["gtin"]},{"required":["mpn"]},{"required":["productID"]}]},"additionalProperties":true};const schema33 = {"oneOf":[{"type":"string","pattern":"^[0-9]{13}$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]{13}$"},"minItems":1}]};const schema34 = {"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":1}]};const schema38 = {"type":"object","required":["@type","codeValue"],"properties":{"@type":{"const":"CategoryCode"},"codeValue":{"type":"string","minLength":1},"inCodeSet":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"name":{"type":"string"}},"additionalProperties":true};const schema40 = {"type":"object","required":["@type","url"],"properties":{"@type":{"const":"ImageObject"},"url":{"type":"string","format":"uri"},"caption":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["hero","packshot","lifestyle","detail","flatlay","swatch","size_chart","context"]}}}}]}}},"additionalProperties":true};const schema41 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"VideoObject"},"url":{"type":"string","format":"uri"},"contentUrl":{"type":"string","format":"uri"},"embedUrl":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"duration":{"type":"string","pattern":"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},"uploadDate":{"type":"string"},"caption":{"type":"string"},"transcript":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"additionalProperty":{"type":"array","items":{"type":"object","properties":{"@type":{"const":"PropertyValue"},"name":{"type":"string"},"value":{"type":"string"}},"allOf":[{"if":{"properties":{"name":{"const":"role"}},"required":["name"]},"then":{"properties":{"value":{"enum":["overview","tutorial","lifestyle","construction","demonstration","comparison","unboxing","spin"]}}}}]}}},"anyOf":[{"required":["url"]},{"required":["contentUrl"]},{"required":["embedUrl"]}],"additionalProperties":true};const schema42 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};const schema51 = {"type":"object","required":["@type","name","acceptedAnswer"],"properties":{"@type":{"const":"Question"},"name":{"type":"string","minLength":1},"acceptedAnswer":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true},"suggestedAnswer":{"type":"array","items":{"type":"object","required":["@type","text"],"properties":{"@type":{"const":"Answer"},"text":{"type":"string","minLength":1}},"additionalProperties":true}}},"additionalProperties":true};const schema52 = {"type":"object","required":["@type","url","role"],"properties":{"@type":{"const":"pagefront:Document"},"url":{"type":"string","format":"uri"},"role":{"type":"string","enum":["manual","assembly","care_guide","spec_sheet","compatibility","warranty","certificate","environmental_declaration","audit_report","lab_test","safety_data_sheet","installation_guide","user_guide","quick_start","brochure","repairability_index","recall_notice","declaration_of_conformity"]},"name":{"type":"string"},"inLanguage":{"type":"string"},"description":{"type":"string"},"encodingFormat":{"type":"string"}},"additionalProperties":false};const schema53 = {"type":"object","required":["@type","relationship"],"properties":{"@type":{"const":"pagefront:RelatedProduct"},"relationship":{"type":"string","enum":["accessory","consumable","required_part","spare_part","often_bought_with","recommended_with","replaces","replaced_by","bundle_component","compatible_with","service"]},"@id":{"type":"string","format":"uri"},"sku":{"type":"string"},"gtin":{"type":"string"},"gtin13":{"type":"string","pattern":"^[0-9]{13}$"},"mpn":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"image":{"type":"string","format":"uri"}},"anyOf":[{"required":["@id"]},{"required":["sku"]},{"required":["gtin"]},{"required":["gtin13"]},{"required":["mpn"]}],"additionalProperties":false};const schema56 = {"type":"object","required":["@type","role","organization"],"properties":{"@type":{"const":"pagefront:LegalEntity"},"role":{"type":"string","enum":["brand_owner","licensee","authorized_representative","importer","manufacturer"]},"organization":{"type":"object","required":["@type"],"anyOf":[{"required":["name"]},{"required":["@id"]}],"properties":{"@type":{"const":"Organization"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"address":{"type":"object"},"url":{"type":"string","format":"uri"},"email":{"type":"string","format":"email"},"pagefront:sheetUrl":{"type":"string","format":"uri"}},"additionalProperties":true}},"additionalProperties":false};const schema57 = {"type":"object","required":["@type","text"],"properties":{"@type":{"const":"pagefront:SafetyWarning"},"text":{"type":"string","minLength":1},"pictogram":{"type":"string","format":"uri"},"hazardCategory":{"type":"string"}},"additionalProperties":false};const schema58 = {"type":"object","required":["@type","noticeType"],"properties":{"@type":{"const":"pagefront:SafetyNotice"},"noticeType":{"type":"string","enum":["recall","warning"]},"hazard":{"type":"string"},"remedy":{"type":"string","enum":["repair","replacement","refund"]},"description":{"type":"string"},"reference":{"type":"string","format":"uri"},"datePublished":{"type":"string","format":"date"},"url":{"type":"string","format":"uri"}},"additionalProperties":false};const schema64 = {"type":"object","required":["@type","material"],"properties":{"@type":{"const":"pagefront:Material"},"material":{"type":"string"},"percentage":{"type":"number","minimum":0,"maximum":100},"purity":{"type":"string"},"purityPercentage":{"type":"number","minimum":0,"maximum":100},"provenance":{"type":"string","enum":["virgin","recycled","fair_mined","lab_grown","reclaimed","deadstock"]},"weightGrams":{"type":"number","minimum":0}},"additionalProperties":false};const schema66 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Construction"},"stitch":{"type":"string"},"gauge":{"type":"number"},"machine":{"type":"string"},"constructionNotes":{"type":"string"}},"additionalProperties":true};const schema67 = {"type":"object","required":["@type","stage","country"],"properties":{"@type":{"const":"pagefront:ManufacturingStage"},"stage":{"type":"string"},"country":{"type":"string","pattern":"^[A-Z]{2}$"},"facility":{"type":"string"},"facilityCountry":{"type":"string","pattern":"^[A-Z]{2}$"}},"additionalProperties":false};const schema68 = {"type":"object","required":["@type","type"],"properties":{"@type":{"const":"pagefront:Gemstone"},"type":{"type":"string"},"origin":{"type":"string","enum":["natural_mined","lab_grown","treated","synthetic"]},"shape":{"type":"string"},"caratWeight":{"type":"number","minimum":0},"colorGrade":{"type":"string"},"clarityGrade":{"type":"string"},"cutGrade":{"type":"string"},"certifyingBody":{"type":"string"}},"additionalProperties":false};const formats50 = /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;const formats42 = fullFormats.date;const func1 = ucs2length;const func8 = Object.prototype.hasOwnProperty;const pattern5 = new RegExp("^[0-9]{13}$", "u");const pattern9 = new RegExp("^[A-Z]{2}$", "u");const pattern10 = new RegExp("^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$", "u");const schema35 = {"type":"object","required":["@type"],"properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"name":{"type":"string"},"sku":{"type":"string"},"gtin13":{"$ref":"#/$defs/gtin13Value"},"gtin":{"$ref":"#/$defs/gtinValue"},"mpn":{"type":"string"},"productID":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"material":{"type":"string"},"price":{"type":["string","number"]},"image":{"type":"string","format":"uri"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate22.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err1 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(!(formats0(data1))){const err2 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}else {const err3 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.url !== undefined){let data2 = data.url;if(typeof data2 === "string"){if(!(formats0(data2))){const err4 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.sheet_url !== undefined){let data3 = data.sheet_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err6 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}else {const err7 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.name !== undefined){if(typeof data.name !== "string"){const err8 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err9 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.gtin13 !== undefined){let data6 = data.gtin13;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(typeof data6 === "string"){if(!pattern5.test(data6)){const err10 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs17 === errors;if(_valid0){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data6)){if(data6.length < 1){const err12 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}const len0 = data6.length;for(let i0=0; i0<len0; i0++){let data7 = data6[i0];if(typeof data7 === "string"){if(!pattern5.test(data7)){const err13 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/gtin13/" + i0,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;if(_valid0 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid0){valid2 = true;passing0 = 1;}}if(!valid2){const err16 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data8 = data.gtin;const _errs25 = errors;let valid6 = false;let passing1 = null;const _errs26 = errors;if(typeof data8 !== "string"){const err17 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid1 = _errs26 === errors;if(_valid1){valid6 = true;passing1 = 0;}const _errs28 = errors;if(Array.isArray(data8)){if(data8.length < 1){const err18 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}const len1 = data8.length;for(let i1=0; i1<len1; i1++){if(typeof data8[i1] !== "string"){const err19 = {instancePath:instancePath+"/gtin/" + i1,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid1 = _errs28 === errors;if(_valid1 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid1){valid6 = true;passing1 = 1;}}if(!valid6){const err21 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs25;if(vErrors !== null){if(_errs25){vErrors.length = _errs25;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err22 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err23 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.color !== undefined){if(typeof data.color !== "string"){const err24 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.size !== undefined){if(typeof data.size !== "string"){const err25 = {instancePath:instancePath+"/size",schemaPath:"#/properties/size/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err26 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.price !== undefined){let data15 = data.price;if((typeof data15 !== "string") && (!((typeof data15 == "number") && (isFinite(data15))))){const err27 = {instancePath:instancePath+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type: schema35.properties.price.type},message:"must be string,number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.image !== undefined){let data16 = data.image;if(typeof data16 === "string"){if(!(formats0(data16))){const err28 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}else {const err29 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err30 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate22.errors = vErrors;return errors === 0;}validate22.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema43 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"Offer"},"@id":{"type":"string"},"itemOffered":{"type":"object"},"price":{"type":"string"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"priceSpecification":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"seller":{"type":"object","properties":{"pagefront:sheetUrl":{"type":"string","format":"uri"}}},"shippingDetails":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"hasMerchantReturnPolicy":{"type":"object"},"warranty":{"type":"object"},"areaServed":{},"eligibleRegion":{"type":"array"},"acceptedPaymentMethod":{"type":"array"},"pagefront:estimatedDelivery":{"$ref":"#/$defs/deliveryEstimate"},"pagefront:promotions":{"type":"array","items":{"$ref":"#/$defs/promotion"}},"pagefront:priceOnRequest":{"$ref":"#/$defs/priceOnRequest"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"anyOf":[{"required":["price","priceCurrency"]},{"required":["priceSpecification"]},{"required":["pagefront:priceOnRequest"]}],"dependentRequired":{"pagefront:configuratorPricing":["price","priceCurrency"]},"additionalProperties":true};const schema44 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:DeliveryEstimate"},"earliest":{"type":"string","format":"date"},"latest":{"type":"string","format":"date"},"description":{"type":"string"}},"additionalProperties":false};const schema45 = {"type":"object","required":["@type","scope"],"properties":{"@type":{"const":"pagefront:Promotion"},"code":{"type":"string"},"discountPercentage":{"type":"number","minimum":0,"maximum":100},"discountAmount":{"type":"string"},"discountCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"scope":{"type":"string","enum":["product","category","site_wide"]},"occasion":{"type":"string"},"validUntil":{"type":"string","format":"date-time"}},"additionalProperties":false};const schema46 = {"type":"object","required":["@type","method"],"properties":{"@type":{"const":"pagefront:PriceOnRequest"},"method":{"type":"string","enum":["authorized_retailer","dealer_network","quote_form","email","phone","unspecified"]},"contactUrl":{"type":"string","format":"uri"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};const pattern11 = new RegExp("^[A-Z]{3}$", "u");const pattern12 = new RegExp("^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$", "u");const pattern13 = new RegExp("^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$", "u");const schema47 = {"type":"object","required":["@type","configurator","baseConfiguration","basePrice","modifiers"],"properties":{"@type":{"const":"pagefront:ConfiguratorPricing"},"configurator":{"type":"object","required":["@id"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1}},"additionalProperties":false},"baseConfiguration":{"$ref":"#/$defs/configurationSelection"},"basePrice":{"type":"string","pattern":"^[0-9]+(\\.[0-9]+)?$"},"modifiers":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}}},"adjustments":{"type":"array","items":{"type":"object","required":["when","priceModifier"],"properties":{"when":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1},"priceModifier":{"type":"string","pattern":"^-?[0-9]+(\\.[0-9]+)?$"}},"additionalProperties":false}},"pricing":{"type":"string","enum":["complete","partial"],"default":"complete"}},"additionalProperties":false};const schema48 = {"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}};const pattern15 = new RegExp("^[0-9]+(\\.[0-9]+)?$", "u");const pattern16 = new RegExp("^-?[0-9]+(\\.[0-9]+)?$", "u");function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate25.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.configurator === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "configurator"},message:"must have required property '"+"configurator"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.baseConfiguration === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "baseConfiguration"},message:"must have required property '"+"baseConfiguration"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.basePrice === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "basePrice"},message:"must have required property '"+"basePrice"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.modifiers === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "modifiers"},message:"must have required property '"+"modifiers"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(((((((key0 === "@type") || (key0 === "configurator")) || (key0 === "baseConfiguration")) || (key0 === "basePrice")) || (key0 === "modifiers")) || (key0 === "adjustments")) || (key0 === "pricing"))){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["@type"] !== undefined){if("pagefront:ConfiguratorPricing" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ConfiguratorPricing"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.configurator !== undefined){let data1 = data.configurator;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@id"] === undefined){const err7 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data1){if(!((key1 === "@type") || (key1 === "@id"))){const err8 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Configurator" !== data1["@type"]){const err9 = {instancePath:instancePath+"/configurator/@type",schemaPath:"#/properties/configurator/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data1["@id"] !== undefined){let data3 = data1["@id"];if(typeof data3 === "string"){if(func1(data3) < 1){const err10 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/configurator/@id",schemaPath:"#/properties/configurator/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}}else {const err12 = {instancePath:instancePath+"/configurator",schemaPath:"#/properties/configurator/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.baseConfiguration !== undefined){let data4 = data.baseConfiguration;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){for(const key2 in data4){let data5 = data4[key2];const _errs14 = errors;let valid4 = false;const _errs15 = errors;if(typeof data5 !== "string"){const err13 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs15 === errors;valid4 = valid4 || _valid0;const _errs17 = errors;if(!((typeof data5 == "number") && (isFinite(data5)))){const err14 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid0 = _errs17 === errors;valid4 = valid4 || _valid0;const _errs19 = errors;if(typeof data5 !== "boolean"){const err15 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}var _valid0 = _errs19 === errors;valid4 = valid4 || _valid0;if(!valid4){const err16 = {instancePath:instancePath+"/baseConfiguration/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}}else {const err17 = {instancePath:instancePath+"/baseConfiguration",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.basePrice !== undefined){let data6 = data.basePrice;if(typeof data6 === "string"){if(!pattern15.test(data6)){const err18 = {instancePath:instancePath+"/basePrice",schemaPath:"#/properties/basePrice/pattern",keyword:"pattern",params:{pattern: "^[0-9]+(\\.[0-9]+)?$"},message:"must match pattern \""+"^[0-9]+(\\.[0-9]+)?$"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/basePrice",schemaPath:"#/properties/basePrice/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.modifiers !== undefined){let data7 = data.modifiers;if(data7 && typeof data7 == "object" && !Array.isArray(data7)){for(const key3 in data7){let data8 = data7[key3];if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key4 in data8){let data9 = data8[key4];if(typeof data9 === "string"){if(!pattern16.test(data9)){const err20 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/additionalProperties/pattern",keyword:"pattern",params:{pattern: "^-?[0-9]+(\\.[0-9]+)?$"},message:"must match pattern \""+"^-?[0-9]+(\\.[0-9]+)?$"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1")+"/" + key4.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/additionalProperties/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/modifiers/" + key3.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/modifiers/additionalProperties/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/modifiers",schemaPath:"#/properties/modifiers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.adjustments !== undefined){let data10 = data.adjustments;if(Array.isArray(data10)){const len0 = data10.length;for(let i0=0; i0<len0; i0++){let data11 = data10[i0];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11.when === undefined){const err24 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "when"},message:"must have required property '"+"when"+"'"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}if(data11.priceModifier === undefined){const err25 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/required",keyword:"required",params:{missingProperty: "priceModifier"},message:"must have required property '"+"priceModifier"+"'"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}for(const key5 in data11){if(!((key5 === "when") || (key5 === "priceModifier"))){const err26 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data11.when !== undefined){let data12 = data11.when;if(data12 && typeof data12 == "object" && !Array.isArray(data12)){for(const key6 in data12){let data13 = data12[key6];const _errs41 = errors;let valid12 = false;const _errs42 = errors;if(typeof data13 !== "string"){const err27 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid1 = _errs42 === errors;valid12 = valid12 || _valid1;const _errs44 = errors;if(!((typeof data13 == "number") && (isFinite(data13)))){const err28 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}var _valid1 = _errs44 === errors;valid12 = valid12 || _valid1;const _errs46 = errors;if(typeof data13 !== "boolean"){const err29 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}var _valid1 = _errs46 === errors;valid12 = valid12 || _valid1;if(!valid12){const err30 = {instancePath:instancePath+"/adjustments/" + i0+"/when/" + key6.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}else {errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}}}}else {const err31 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}if(data12 && typeof data12 == "object" && !Array.isArray(data12)){if(Object.keys(data12).length < 1){const err32 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}else {const err33 = {instancePath:instancePath+"/adjustments/" + i0+"/when",schemaPath:"#/properties/adjustments/items/properties/when/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data11.priceModifier !== undefined){let data14 = data11.priceModifier;if(typeof data14 === "string"){if(!pattern16.test(data14)){const err34 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/properties/adjustments/items/properties/priceModifier/pattern",keyword:"pattern",params:{pattern: "^-?[0-9]+(\\.[0-9]+)?$"},message:"must match pattern \""+"^-?[0-9]+(\\.[0-9]+)?$"+"\""};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/adjustments/" + i0+"/priceModifier",schemaPath:"#/properties/adjustments/items/properties/priceModifier/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}}else {const err36 = {instancePath:instancePath+"/adjustments/" + i0,schemaPath:"#/properties/adjustments/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}}else {const err37 = {instancePath:instancePath+"/adjustments",schemaPath:"#/properties/adjustments/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data.pricing !== undefined){let data15 = data.pricing;if(typeof data15 !== "string"){const err38 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}if(!((data15 === "complete") || (data15 === "partial"))){const err39 = {instancePath:instancePath+"/pricing",schemaPath:"#/properties/pricing/enum",keyword:"enum",params:{allowedValues: schema47.properties.pricing.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}}else {const err40 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}validate25.errors = vErrors;return errors === 0;}validate25.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate24(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate24.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = false;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.price === undefined){const err0 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "price"},message:"must have required property '"+"price"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.priceCurrency === undefined){const err1 = {instancePath,schemaPath:"#/anyOf/0/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}var _valid0 = _errs2 === errors;valid0 = valid0 || _valid0;const _errs3 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.priceSpecification === undefined){const err2 = {instancePath,schemaPath:"#/anyOf/1/required",keyword:"required",params:{missingProperty: "priceSpecification"},message:"must have required property '"+"priceSpecification"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs3 === errors;valid0 = valid0 || _valid0;const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data["pagefront:priceOnRequest"] === undefined){const err3 = {instancePath,schemaPath:"#/anyOf/2/required",keyword:"required",params:{missingProperty: "pagefront:priceOnRequest"},message:"must have required property '"+"pagefront:priceOnRequest"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid0 = _errs4 === errors;valid0 = valid0 || _valid0;if(!valid0){const err4 = {instancePath,schemaPath:"#/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}else {errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@type"] !== undefined){if("Offer" !== data["@type"]){const err6 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "Offer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err7 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.itemOffered !== undefined){let data2 = data.itemOffered;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err8 = {instancePath:instancePath+"/itemOffered",schemaPath:"#/properties/itemOffered/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.price !== undefined){if(typeof data.price !== "string"){const err9 = {instancePath:instancePath+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern11.test(data4)){const err10 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.priceSpecification !== undefined){let data5 = data.priceSpecification;const _errs16 = errors;let valid2 = false;let passing0 = null;const _errs17 = errors;if(!(data5 && typeof data5 == "object" && !Array.isArray(data5))){const err12 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid1 = _errs17 === errors;if(_valid1){valid2 = true;passing0 = 0;}const _errs19 = errors;if(Array.isArray(data5)){const len0 = data5.length;for(let i0=0; i0<len0; i0++){let data6 = data5[i0];if(!(data6 && typeof data6 == "object" && !Array.isArray(data6))){const err13 = {instancePath:instancePath+"/priceSpecification/" + i0,schemaPath:"#/properties/priceSpecification/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}var _valid1 = _errs19 === errors;if(_valid1 && valid2){valid2 = false;passing0 = [passing0, 1];}else {if(_valid1){valid2 = true;passing0 = 1;}}if(!valid2){const err15 = {instancePath:instancePath+"/priceSpecification",schemaPath:"#/properties/priceSpecification/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}else {errors = _errs16;if(vErrors !== null){if(_errs16){vErrors.length = _errs16;}else {vErrors = null;}}}}if(data.availability !== undefined){let data7 = data.availability;if(typeof data7 === "string"){if(!pattern12.test(data7)){const err16 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.itemCondition !== undefined){let data8 = data.itemCondition;if(typeof data8 === "string"){if(!pattern13.test(data8)){const err18 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.seller !== undefined){let data9 = data.seller;if(data9 && typeof data9 == "object" && !Array.isArray(data9)){if(data9["pagefront:sheetUrl"] !== undefined){let data10 = data9["pagefront:sheetUrl"];if(typeof data10 === "string"){if(!(formats0(data10))){const err20 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}else {const err21 = {instancePath:instancePath+"/seller/pagefront:sheetUrl",schemaPath:"#/properties/seller/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.shippingDetails !== undefined){let data11 = data.shippingDetails;const _errs32 = errors;let valid6 = false;let passing1 = null;const _errs33 = errors;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err23 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}var _valid2 = _errs33 === errors;if(_valid2){valid6 = true;passing1 = 0;}const _errs35 = errors;if(Array.isArray(data11)){const len1 = data11.length;for(let i1=0; i1<len1; i1++){let data12 = data11[i1];if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err24 = {instancePath:instancePath+"/shippingDetails/" + i1,schemaPath:"#/properties/shippingDetails/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid2 = _errs35 === errors;if(_valid2 && valid6){valid6 = false;passing1 = [passing1, 1];}else {if(_valid2){valid6 = true;passing1 = 1;}}if(!valid6){const err26 = {instancePath:instancePath+"/shippingDetails",schemaPath:"#/properties/shippingDetails/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}else {errors = _errs32;if(vErrors !== null){if(_errs32){vErrors.length = _errs32;}else {vErrors = null;}}}}if(data.hasMerchantReturnPolicy !== undefined){let data13 = data.hasMerchantReturnPolicy;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err27 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data.warranty !== undefined){let data14 = data.warranty;if(!(data14 && typeof data14 == "object" && !Array.isArray(data14))){const err28 = {instancePath:instancePath+"/warranty",schemaPath:"#/properties/warranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err29 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.acceptedPaymentMethod !== undefined){if(!(Array.isArray(data.acceptedPaymentMethod))){const err30 = {instancePath:instancePath+"/acceptedPaymentMethod",schemaPath:"#/properties/acceptedPaymentMethod/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data["pagefront:estimatedDelivery"] !== undefined){let data17 = data["pagefront:estimatedDelivery"];if(data17 && typeof data17 == "object" && !Array.isArray(data17)){if(data17["@type"] === undefined){const err31 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}for(const key0 in data17){if(!((((key0 === "@type") || (key0 === "earliest")) || (key0 === "latest")) || (key0 === "description"))){const err32 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data17["@type"] !== undefined){if("pagefront:DeliveryEstimate" !== data17["@type"]){const err33 = {instancePath:instancePath+"/pagefront:estimatedDelivery/@type",schemaPath:"#/$defs/deliveryEstimate/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:DeliveryEstimate"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}if(data17.earliest !== undefined){let data19 = data17.earliest;if(typeof data19 === "string"){if(!(formats42.validate(data19))){const err34 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}}else {const err35 = {instancePath:instancePath+"/pagefront:estimatedDelivery/earliest",schemaPath:"#/$defs/deliveryEstimate/properties/earliest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}}if(data17.latest !== undefined){let data20 = data17.latest;if(typeof data20 === "string"){if(!(formats42.validate(data20))){const err36 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/pagefront:estimatedDelivery/latest",schemaPath:"#/$defs/deliveryEstimate/properties/latest/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}if(data17.description !== undefined){if(typeof data17.description !== "string"){const err38 = {instancePath:instancePath+"/pagefront:estimatedDelivery/description",schemaPath:"#/$defs/deliveryEstimate/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}}}else {const err39 = {instancePath:instancePath+"/pagefront:estimatedDelivery",schemaPath:"#/$defs/deliveryEstimate/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}if(data["pagefront:promotions"] !== undefined){let data22 = data["pagefront:promotions"];if(Array.isArray(data22)){const len2 = data22.length;for(let i2=0; i2<len2; i2++){let data23 = data22[i2];if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err40 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}if(data23.scope === undefined){const err41 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/required",keyword:"required",params:{missingProperty: "scope"},message:"must have required property '"+"scope"+"'"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}for(const key1 in data23){if(!((((((((key1 === "@type") || (key1 === "code")) || (key1 === "discountPercentage")) || (key1 === "discountAmount")) || (key1 === "discountCurrency")) || (key1 === "scope")) || (key1 === "occasion")) || (key1 === "validUntil"))){const err42 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}if(data23["@type"] !== undefined){if("pagefront:Promotion" !== data23["@type"]){const err43 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/@type",schemaPath:"#/$defs/promotion/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Promotion"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}if(data23.code !== undefined){if(typeof data23.code !== "string"){const err44 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/code",schemaPath:"#/$defs/promotion/properties/code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data23.discountPercentage !== undefined){let data26 = data23.discountPercentage;if((typeof data26 == "number") && (isFinite(data26))){if(data26 > 100 || isNaN(data26)){const err45 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}if(data26 < 0 || isNaN(data26)){const err46 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}else {const err47 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountPercentage",schemaPath:"#/$defs/promotion/properties/discountPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data23.discountAmount !== undefined){if(typeof data23.discountAmount !== "string"){const err48 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountAmount",schemaPath:"#/$defs/promotion/properties/discountAmount/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}if(data23.discountCurrency !== undefined){let data28 = data23.discountCurrency;if(typeof data28 === "string"){if(!pattern11.test(data28)){const err49 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountCurrency",schemaPath:"#/$defs/promotion/properties/discountCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}else {const err50 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/discountCurrency",schemaPath:"#/$defs/promotion/properties/discountCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data23.scope !== undefined){let data29 = data23.scope;if(typeof data29 !== "string"){const err51 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/scope",schemaPath:"#/$defs/promotion/properties/scope/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}if(!(((data29 === "product") || (data29 === "category")) || (data29 === "site_wide"))){const err52 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/scope",schemaPath:"#/$defs/promotion/properties/scope/enum",keyword:"enum",params:{allowedValues: schema45.properties.scope.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data23.occasion !== undefined){if(typeof data23.occasion !== "string"){const err53 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/occasion",schemaPath:"#/$defs/promotion/properties/occasion/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data23.validUntil !== undefined){let data31 = data23.validUntil;if(typeof data31 === "string"){if(!(formats6.validate(data31))){const err54 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/validUntil",schemaPath:"#/$defs/promotion/properties/validUntil/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}else {const err55 = {instancePath:instancePath+"/pagefront:promotions/" + i2+"/validUntil",schemaPath:"#/$defs/promotion/properties/validUntil/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}}}else {const err56 = {instancePath:instancePath+"/pagefront:promotions/" + i2,schemaPath:"#/$defs/promotion/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}}}else {const err57 = {instancePath:instancePath+"/pagefront:promotions",schemaPath:"#/properties/pagefront%3Apromotions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}}if(data["pagefront:priceOnRequest"] !== undefined){let data32 = data["pagefront:priceOnRequest"];if(data32 && typeof data32 == "object" && !Array.isArray(data32)){if(data32["@type"] === undefined){const err58 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}if(data32.method === undefined){const err59 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/required",keyword:"required",params:{missingProperty: "method"},message:"must have required property '"+"method"+"'"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}for(const key2 in data32){if(!((((((key2 === "@type") || (key2 === "method")) || (key2 === "contactUrl")) || (key2 === "contactEmail")) || (key2 === "contactPhone")) || (key2 === "note"))){const err60 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data32["@type"] !== undefined){if("pagefront:PriceOnRequest" !== data32["@type"]){const err61 = {instancePath:instancePath+"/pagefront:priceOnRequest/@type",schemaPath:"#/$defs/priceOnRequest/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:PriceOnRequest"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data32.method !== undefined){let data34 = data32.method;if(typeof data34 !== "string"){const err62 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}if(!((((((data34 === "authorized_retailer") || (data34 === "dealer_network")) || (data34 === "quote_form")) || (data34 === "email")) || (data34 === "phone")) || (data34 === "unspecified"))){const err63 = {instancePath:instancePath+"/pagefront:priceOnRequest/method",schemaPath:"#/$defs/priceOnRequest/properties/method/enum",keyword:"enum",params:{allowedValues: schema46.properties.method.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}}if(data32.contactUrl !== undefined){let data35 = data32.contactUrl;if(typeof data35 === "string"){if(!(formats0(data35))){const err64 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}}else {const err65 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactUrl",schemaPath:"#/$defs/priceOnRequest/properties/contactUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data32.contactEmail !== undefined){let data36 = data32.contactEmail;if(typeof data36 === "string"){if(!(formats50.test(data36))){const err66 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}else {const err67 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactEmail",schemaPath:"#/$defs/priceOnRequest/properties/contactEmail/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data32.contactPhone !== undefined){if(typeof data32.contactPhone !== "string"){const err68 = {instancePath:instancePath+"/pagefront:priceOnRequest/contactPhone",schemaPath:"#/$defs/priceOnRequest/properties/contactPhone/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data32.note !== undefined){if(typeof data32.note !== "string"){const err69 = {instancePath:instancePath+"/pagefront:priceOnRequest/note",schemaPath:"#/$defs/priceOnRequest/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/pagefront:priceOnRequest",schemaPath:"#/$defs/priceOnRequest/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate25(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}if(data["pagefront:configuratorPricing"] !== undefined){if(data.price === undefined){const err71 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
7
|
+
missingProperty: "price",
|
|
8
|
+
depsCount: 2,
|
|
9
|
+
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}if(data.priceCurrency === undefined){const err72 = {instancePath,schemaPath:"#/dependentRequired",keyword:"dependentRequired",params:{property: "pagefront:configuratorPricing",
|
|
10
|
+
missingProperty: "priceCurrency",
|
|
11
|
+
depsCount: 2,
|
|
12
|
+
deps: "price, priceCurrency"},message:"must have properties price, priceCurrency when property pagefront:configuratorPricing is present"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}}else {const err73 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}validate24.errors = vErrors;return errors === 0;}validate24.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema50 = {"type":"object","required":["@type","lowPrice","highPrice","priceCurrency"],"properties":{"@type":{"const":"AggregateOffer"},"@id":{"type":"string"},"lowPrice":{"type":"number"},"highPrice":{"type":"number"},"priceCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"offerCount":{"type":"integer"},"availability":{"type":"string","pattern":"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},"itemCondition":{"type":"string","pattern":"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},"eligibleRegion":{"type":"array"},"areaServed":{},"validFrom":{"type":"string"},"validThrough":{"type":"string"},"seller":{"type":"object"},"pagefront:configuratorPricing":{"$ref":"#/$defs/configuratorPricing"}},"additionalProperties":true};function validate28(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate28.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.lowPrice === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "lowPrice"},message:"must have required property '"+"lowPrice"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.highPrice === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "highPrice"},message:"must have required property '"+"highPrice"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.priceCurrency === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "priceCurrency"},message:"must have required property '"+"priceCurrency"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data["@type"] !== undefined){if("AggregateOffer" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "AggregateOffer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@id"] !== undefined){if(typeof data["@id"] !== "string"){const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.lowPrice !== undefined){let data2 = data.lowPrice;if(!((typeof data2 == "number") && (isFinite(data2)))){const err6 = {instancePath:instancePath+"/lowPrice",schemaPath:"#/properties/lowPrice/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.highPrice !== undefined){let data3 = data.highPrice;if(!((typeof data3 == "number") && (isFinite(data3)))){const err7 = {instancePath:instancePath+"/highPrice",schemaPath:"#/properties/highPrice/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.priceCurrency !== undefined){let data4 = data.priceCurrency;if(typeof data4 === "string"){if(!pattern11.test(data4)){const err8 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{3}$"},message:"must match pattern \""+"^[A-Z]{3}$"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/priceCurrency",schemaPath:"#/properties/priceCurrency/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.offerCount !== undefined){let data5 = data.offerCount;if(!(((typeof data5 == "number") && (!(data5 % 1) && !isNaN(data5))) && (isFinite(data5)))){const err10 = {instancePath:instancePath+"/offerCount",schemaPath:"#/properties/offerCount/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.availability !== undefined){let data6 = data.availability;if(typeof data6 === "string"){if(!pattern12.test(data6)){const err11 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"},message:"must match pattern \""+"^https?://schema\\.org/(InStock|OutOfStock|PreOrder|BackOrder|InStoreOnly|LimitedAvailability|MadeToOrder|OnlineOnly|SoldOut|Discontinued|Reserved)$"+"\""};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}else {const err12 = {instancePath:instancePath+"/availability",schemaPath:"#/properties/availability/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.itemCondition !== undefined){let data7 = data.itemCondition;if(typeof data7 === "string"){if(!pattern13.test(data7)){const err13 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/pattern",keyword:"pattern",params:{pattern: "^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"},message:"must match pattern \""+"^https?://schema\\.org/(NewCondition|UsedCondition|RefurbishedCondition|DamagedCondition)$"+"\""};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}else {const err14 = {instancePath:instancePath+"/itemCondition",schemaPath:"#/properties/itemCondition/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.eligibleRegion !== undefined){if(!(Array.isArray(data.eligibleRegion))){const err15 = {instancePath:instancePath+"/eligibleRegion",schemaPath:"#/properties/eligibleRegion/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.validFrom !== undefined){if(typeof data.validFrom !== "string"){const err16 = {instancePath:instancePath+"/validFrom",schemaPath:"#/properties/validFrom/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.validThrough !== undefined){if(typeof data.validThrough !== "string"){const err17 = {instancePath:instancePath+"/validThrough",schemaPath:"#/properties/validThrough/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.seller !== undefined){let data11 = data.seller;if(!(data11 && typeof data11 == "object" && !Array.isArray(data11))){const err18 = {instancePath:instancePath+"/seller",schemaPath:"#/properties/seller/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data["pagefront:configuratorPricing"] !== undefined){if(!(validate25(data["pagefront:configuratorPricing"], {instancePath:instancePath+"/pagefront:configuratorPricing",parentData:data,parentDataProperty:"pagefront:configuratorPricing",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate25.errors : vErrors.concat(validate25.errors);errors = vErrors.length;}}}else {const err19 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}validate28.errors = vErrors;return errors === 0;}validate28.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema54 = {"type":"object","required":["@type","name","feature"],"properties":{"@type":{"const":"pagefront:FeatureGroup"},"name":{"type":"string","minLength":1},"sortOrder":{"type":"integer"},"feature":{"type":"array","items":{"$ref":"#/$defs/featureEntry"},"minItems":1}},"additionalProperties":false};const schema55 = {"type":"object","required":["@type","name","value"],"properties":{"@type":{"const":"PropertyValue"},"propertyID":{"type":"string"},"name":{"type":"string","minLength":1},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"unitCode":{"type":"string"},"description":{"type":"string"},"pagefront:presentationValue":{"type":"string"}},"additionalProperties":true};function validate31(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate31.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.name === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.feature === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "feature"},message:"must have required property '"+"feature"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "name")) || (key0 === "sortOrder")) || (key0 === "feature"))){const err3 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@type"] !== undefined){if("pagefront:FeatureGroup" !== data["@type"]){const err4 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:FeatureGroup"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.name !== undefined){let data1 = data.name;if(typeof data1 === "string"){if(func1(data1) < 1){const err5 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}else {const err6 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sortOrder !== undefined){let data2 = data.sortOrder;if(!(((typeof data2 == "number") && (!(data2 % 1) && !isNaN(data2))) && (isFinite(data2)))){const err7 = {instancePath:instancePath+"/sortOrder",schemaPath:"#/properties/sortOrder/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.feature !== undefined){let data3 = data.feature;if(Array.isArray(data3)){if(data3.length < 1){const err8 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}const len0 = data3.length;for(let i0=0; i0<len0; i0++){let data4 = data3[i0];if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4["@type"] === undefined){const err9 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.name === undefined){const err10 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data4.value === undefined){const err11 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data4["@type"] !== undefined){if("PropertyValue" !== data4["@type"]){const err12 = {instancePath:instancePath+"/feature/" + i0+"/@type",schemaPath:"#/$defs/featureEntry/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.propertyID !== undefined){if(typeof data4.propertyID !== "string"){const err13 = {instancePath:instancePath+"/feature/" + i0+"/propertyID",schemaPath:"#/$defs/featureEntry/properties/propertyID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data4.name !== undefined){let data7 = data4.name;if(typeof data7 === "string"){if(func1(data7) < 1){const err14 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/feature/" + i0+"/name",schemaPath:"#/$defs/featureEntry/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data4.value !== undefined){let data8 = data4.value;const _errs19 = errors;let valid5 = false;const _errs20 = errors;if(typeof data8 !== "string"){const err16 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid0 = _errs20 === errors;valid5 = valid5 || _valid0;const _errs22 = errors;if(!((typeof data8 == "number") && (isFinite(data8)))){const err17 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}var _valid0 = _errs22 === errors;valid5 = valid5 || _valid0;const _errs24 = errors;if(typeof data8 !== "boolean"){const err18 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}var _valid0 = _errs24 === errors;valid5 = valid5 || _valid0;if(!valid5){const err19 = {instancePath:instancePath+"/feature/" + i0+"/value",schemaPath:"#/$defs/featureEntry/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data4.unitCode !== undefined){if(typeof data4.unitCode !== "string"){const err20 = {instancePath:instancePath+"/feature/" + i0+"/unitCode",schemaPath:"#/$defs/featureEntry/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data4.description !== undefined){if(typeof data4.description !== "string"){const err21 = {instancePath:instancePath+"/feature/" + i0+"/description",schemaPath:"#/$defs/featureEntry/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data4["pagefront:presentationValue"] !== undefined){if(typeof data4["pagefront:presentationValue"] !== "string"){const err22 = {instancePath:instancePath+"/feature/" + i0+"/pagefront:presentationValue",schemaPath:"#/$defs/featureEntry/properties/pagefront%3ApresentationValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/feature/" + i0,schemaPath:"#/$defs/featureEntry/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/feature",schemaPath:"#/properties/feature/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}}else {const err25 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}validate31.errors = vErrors;return errors === 0;}validate31.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema59 = {"type":"object","required":["@type","unitCode","sizes","measurements"],"properties":{"@type":{"const":"pagefront:SizeChart"},"unitCode":{"type":"string"},"sizes":{"type":"array","items":{"type":"string"},"minItems":1},"measurements":{"type":"array","items":{"$ref":"#/$defs/measurement"},"minItems":1},"modelReferences":{"type":"array","items":{"$ref":"#/$defs/modelReference"}}},"additionalProperties":false};const schema60 = {"type":"object","required":["@type","name","values"],"properties":{"@type":{"const":"pagefront:Measurement"},"name":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"number"}}},"additionalProperties":false};const schema61 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"pagefront:ModelReference"},"name":{"type":"string"},"heightCm":{"type":"number","minimum":0},"wearsSize":{"type":"string"}},"additionalProperties":false};function validate33(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate33.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.unitCode === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "unitCode"},message:"must have required property '"+"unitCode"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.sizes === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sizes"},message:"must have required property '"+"sizes"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.measurements === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "measurements"},message:"must have required property '"+"measurements"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "unitCode")) || (key0 === "sizes")) || (key0 === "measurements")) || (key0 === "modelReferences"))){const err4 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeChart" !== data["@type"]){const err5 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeChart"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.unitCode !== undefined){if(typeof data.unitCode !== "string"){const err6 = {instancePath:instancePath+"/unitCode",schemaPath:"#/properties/unitCode/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.sizes !== undefined){let data2 = data.sizes;if(Array.isArray(data2)){if(data2.length < 1){const err7 = {instancePath:instancePath+"/sizes",schemaPath:"#/properties/sizes/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 = data2.length;for(let i0=0; i0<len0; i0++){if(typeof data2[i0] !== "string"){const err8 = {instancePath:instancePath+"/sizes/" + i0,schemaPath:"#/properties/sizes/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+"/sizes",schemaPath:"#/properties/sizes/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.measurements !== undefined){let data4 = data.measurements;if(Array.isArray(data4)){if(data4.length < 1){const err10 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}const len1 = data4.length;for(let i1=0; i1<len1; i1++){let data5 = data4[i1];if(data5 && typeof data5 == "object" && !Array.isArray(data5)){if(data5["@type"] === undefined){const err11 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data5.name === undefined){const err12 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data5.values === undefined){const err13 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/required",keyword:"required",params:{missingProperty: "values"},message:"must have required property '"+"values"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}for(const key1 in data5){if(!(((key1 === "@type") || (key1 === "name")) || (key1 === "values"))){const err14 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data5["@type"] !== undefined){if("pagefront:Measurement" !== data5["@type"]){const err15 = {instancePath:instancePath+"/measurements/" + i1+"/@type",schemaPath:"#/$defs/measurement/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Measurement"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data5.name !== undefined){if(typeof data5.name !== "string"){const err16 = {instancePath:instancePath+"/measurements/" + i1+"/name",schemaPath:"#/$defs/measurement/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data5.values !== undefined){let data8 = data5.values;if(data8 && typeof data8 == "object" && !Array.isArray(data8)){for(const key2 in data8){let data9 = data8[key2];if(!((typeof data9 == "number") && (isFinite(data9)))){const err17 = {instancePath:instancePath+"/measurements/" + i1+"/values/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/measurement/properties/values/additionalProperties/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath:instancePath+"/measurements/" + i1+"/values",schemaPath:"#/$defs/measurement/properties/values/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/measurements/" + i1,schemaPath:"#/$defs/measurement/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}}else {const err20 = {instancePath:instancePath+"/measurements",schemaPath:"#/properties/measurements/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.modelReferences !== undefined){let data10 = data.modelReferences;if(Array.isArray(data10)){const len2 = data10.length;for(let i2=0; i2<len2; i2++){let data11 = data10[i2];if(data11 && typeof data11 == "object" && !Array.isArray(data11)){if(data11["@type"] === undefined){const err21 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}if(data11.name === undefined){const err22 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}for(const key3 in data11){if(!((((key3 === "@type") || (key3 === "name")) || (key3 === "heightCm")) || (key3 === "wearsSize"))){const err23 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data11["@type"] !== undefined){if("pagefront:ModelReference" !== data11["@type"]){const err24 = {instancePath:instancePath+"/modelReferences/" + i2+"/@type",schemaPath:"#/$defs/modelReference/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ModelReference"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data11.name !== undefined){if(typeof data11.name !== "string"){const err25 = {instancePath:instancePath+"/modelReferences/" + i2+"/name",schemaPath:"#/$defs/modelReference/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}if(data11.heightCm !== undefined){let data14 = data11.heightCm;if((typeof data14 == "number") && (isFinite(data14))){if(data14 < 0 || isNaN(data14)){const err26 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}else {const err27 = {instancePath:instancePath+"/modelReferences/" + i2+"/heightCm",schemaPath:"#/$defs/modelReference/properties/heightCm/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}if(data11.wearsSize !== undefined){if(typeof data11.wearsSize !== "string"){const err28 = {instancePath:instancePath+"/modelReferences/" + i2+"/wearsSize",schemaPath:"#/$defs/modelReference/properties/wearsSize/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}}else {const err29 = {instancePath:instancePath+"/modelReferences/" + i2,schemaPath:"#/$defs/modelReference/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}}else {const err30 = {instancePath:instancePath+"/modelReferences",schemaPath:"#/properties/modelReferences/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}}else {const err31 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}validate33.errors = vErrors;return errors === 0;}validate33.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema62 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:SizeRecommendation"},"fitProfile":{"type":"string","enum":["runs_small","true_to_size","runs_large"]},"sizeAdjustment":{"$ref":"#/$defs/sizeAdjustment"},"description":{"type":"string"},"appliesTo":{"type":"string"}},"additionalProperties":false};const schema63 = {"type":"object","required":["@type","direction","magnitude"],"properties":{"@type":{"const":"pagefront:SizeAdjustment"},"direction":{"type":"string","enum":["up","down"]},"magnitude":{"type":"number","minimum":0},"sizeSystem":{"type":"string"}},"additionalProperties":false};function validate35(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate35.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "fitProfile")) || (key0 === "sizeAdjustment")) || (key0 === "description")) || (key0 === "appliesTo"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:SizeRecommendation" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeRecommendation"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.fitProfile !== undefined){let data1 = data.fitProfile;if(typeof data1 !== "string"){const err3 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(!(((data1 === "runs_small") || (data1 === "true_to_size")) || (data1 === "runs_large"))){const err4 = {instancePath:instancePath+"/fitProfile",schemaPath:"#/properties/fitProfile/enum",keyword:"enum",params:{allowedValues: schema62.properties.fitProfile.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data.sizeAdjustment !== undefined){let data2 = data.sizeAdjustment;if(data2 && typeof data2 == "object" && !Array.isArray(data2)){if(data2["@type"] === undefined){const err5 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data2.direction === undefined){const err6 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "direction"},message:"must have required property '"+"direction"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if(data2.magnitude === undefined){const err7 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/required",keyword:"required",params:{missingProperty: "magnitude"},message:"must have required property '"+"magnitude"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data2){if(!((((key1 === "@type") || (key1 === "direction")) || (key1 === "magnitude")) || (key1 === "sizeSystem"))){const err8 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data2["@type"] !== undefined){if("pagefront:SizeAdjustment" !== data2["@type"]){const err9 = {instancePath:instancePath+"/sizeAdjustment/@type",schemaPath:"#/$defs/sizeAdjustment/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SizeAdjustment"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data2.direction !== undefined){let data4 = data2.direction;if(typeof data4 !== "string"){const err10 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(!((data4 === "up") || (data4 === "down"))){const err11 = {instancePath:instancePath+"/sizeAdjustment/direction",schemaPath:"#/$defs/sizeAdjustment/properties/direction/enum",keyword:"enum",params:{allowedValues: schema63.properties.direction.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data2.magnitude !== undefined){let data5 = data2.magnitude;if((typeof data5 == "number") && (isFinite(data5))){if(data5 < 0 || isNaN(data5)){const err12 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/sizeAdjustment/magnitude",schemaPath:"#/$defs/sizeAdjustment/properties/magnitude/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data2.sizeSystem !== undefined){if(typeof data2.sizeSystem !== "string"){const err14 = {instancePath:instancePath+"/sizeAdjustment/sizeSystem",schemaPath:"#/$defs/sizeAdjustment/properties/sizeSystem/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath:instancePath+"/sizeAdjustment",schemaPath:"#/$defs/sizeAdjustment/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err16 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.appliesTo !== undefined){if(typeof data.appliesTo !== "string"){const err17 = {instancePath:instancePath+"/appliesTo",schemaPath:"#/properties/appliesTo/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate35.errors = vErrors;return errors === 0;}validate35.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema69 = {"type":"object","required":["@type","dimensions"],"properties":{"@type":{"const":"pagefront:Configurator"},"@id":{"type":"string","minLength":1},"dimensions":{"type":"array","items":{"$ref":"#/$defs/configuratorDimension"},"minItems":1},"exclusions":{"type":"array","items":{"$ref":"#/$defs/configurationSelection","type":"object","minProperties":1}}},"additionalProperties":false};const schema70 = {"type":"object","required":["name"],"properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"object","required":["value"],"properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"description":{"type":"string"},"priceModifier":false,"currency":false},"additionalProperties":true}},"affectsPrice":{"type":"boolean","default":true},"system":{"type":"string"},"note":{"type":"string"}},"additionalProperties":false};function validate37(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate37.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.dimensions === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "dimensions"},message:"must have required property '"+"dimensions"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((((key0 === "@type") || (key0 === "@id")) || (key0 === "dimensions")) || (key0 === "exclusions"))){const err2 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data["@type"] !== undefined){if("pagefront:Configurator" !== data["@type"]){const err3 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Configurator"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data["@id"] !== undefined){let data1 = data["@id"];if(typeof data1 === "string"){if(func1(data1) < 1){const err4 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}else {const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.dimensions !== undefined){let data2 = data.dimensions;if(Array.isArray(data2)){if(data2.length < 1){const err6 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.name === undefined){const err7 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data3){if(!(((((key1 === "name") || (key1 === "options")) || (key1 === "affectsPrice")) || (key1 === "system")) || (key1 === "note"))){const err8 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data3.name !== undefined){if(typeof data3.name !== "string"){const err9 = {instancePath:instancePath+"/dimensions/" + i0+"/name",schemaPath:"#/$defs/configuratorDimension/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data3.options !== undefined){let data5 = data3.options;if(Array.isArray(data5)){const len1 = data5.length;for(let i1=0; i1<len1; i1++){let data6 = data5[i1];if(data6 && typeof data6 == "object" && !Array.isArray(data6)){if(data6.value === undefined){const err10 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/required",keyword:"required",params:{missingProperty: "value"},message:"must have required property '"+"value"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data6.value !== undefined){let data7 = data6.value;const _errs19 = errors;let valid8 = false;const _errs20 = errors;if(typeof data7 !== "string"){const err11 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}var _valid0 = _errs20 === errors;valid8 = valid8 || _valid0;const _errs22 = errors;if(!((typeof data7 == "number") && (isFinite(data7)))){const err12 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs22 === errors;valid8 = valid8 || _valid0;const _errs24 = errors;if(typeof data7 !== "boolean"){const err13 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}var _valid0 = _errs24 === errors;valid8 = valid8 || _valid0;if(!valid8){const err14 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/value",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/value/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}if(data6.description !== undefined){if(typeof data6.description !== "string"){const err15 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/description",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data6.priceModifier !== undefined){const err16 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/priceModifier",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/priceModifier/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}if(data6.currency !== undefined){const err17 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1+"/currency",schemaPath:"#/$defs/configuratorDimension/properties/options/items/properties/currency/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/dimensions/" + i0+"/options/" + i1,schemaPath:"#/$defs/configuratorDimension/properties/options/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}}else {const err19 = {instancePath:instancePath+"/dimensions/" + i0+"/options",schemaPath:"#/$defs/configuratorDimension/properties/options/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data3.affectsPrice !== undefined){if(typeof data3.affectsPrice !== "boolean"){const err20 = {instancePath:instancePath+"/dimensions/" + i0+"/affectsPrice",schemaPath:"#/$defs/configuratorDimension/properties/affectsPrice/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data3.system !== undefined){if(typeof data3.system !== "string"){const err21 = {instancePath:instancePath+"/dimensions/" + i0+"/system",schemaPath:"#/$defs/configuratorDimension/properties/system/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}if(data3.note !== undefined){if(typeof data3.note !== "string"){const err22 = {instancePath:instancePath+"/dimensions/" + i0+"/note",schemaPath:"#/$defs/configuratorDimension/properties/note/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/dimensions/" + i0,schemaPath:"#/$defs/configuratorDimension/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath:instancePath+"/dimensions",schemaPath:"#/properties/dimensions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.exclusions !== undefined){let data14 = data.exclusions;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(data15 && typeof data15 == "object" && !Array.isArray(data15)){for(const key2 in data15){let data16 = data15[key2];const _errs41 = errors;let valid13 = false;const _errs42 = errors;if(typeof data16 !== "string"){const err25 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}var _valid1 = _errs42 === errors;valid13 = valid13 || _valid1;const _errs44 = errors;if(!((typeof data16 == "number") && (isFinite(data16)))){const err26 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid1 = _errs44 === errors;valid13 = valid13 || _valid1;const _errs46 = errors;if(typeof data16 !== "boolean"){const err27 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid1 = _errs46 === errors;valid13 = valid13 || _valid1;if(!valid13){const err28 = {instancePath:instancePath+"/exclusions/" + i2+"/" + key2.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/$defs/configurationSelection/additionalProperties/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs41;if(vErrors !== null){if(_errs41){vErrors.length = _errs41;}else {vErrors = null;}}}}}else {const err29 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/$defs/configurationSelection/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}if(data15 && typeof data15 == "object" && !Array.isArray(data15)){if(Object.keys(data15).length < 1){const err30 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/minProperties",keyword:"minProperties",params:{limit: 1},message:"must NOT have fewer than 1 properties"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}else {const err31 = {instancePath:instancePath+"/exclusions/" + i2,schemaPath:"#/properties/exclusions/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}}else {const err32 = {instancePath:instancePath+"/exclusions",schemaPath:"#/properties/exclusions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}}else {const err33 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}validate37.errors = vErrors;return errors === 0;}validate37.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};const schema72 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:MadeToOrderTerms"},"productionLeadTime":{"$ref":"#/$defs/duration"},"cancellationPolicy":{"type":"string"},"returnsExceptions":{"type":"array","items":{"type":"string"}},"aftermarketServices":{"type":"array","items":{"$ref":"#/$defs/aftermarketService"}}},"additionalProperties":false};const schema73 = {"type":"object","required":["@type"],"properties":{"@type":{"const":"pagefront:Duration"},"minDays":{"type":"integer","minimum":0},"maxDays":{"type":"integer","minimum":0},"description":{"type":"string"}},"additionalProperties":false};const schema74 = {"type":"object","required":["@type","service"],"properties":{"@type":{"const":"pagefront:AftermarketService"},"service":{"type":"string"},"limit":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false};function validate39(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate39.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@type"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(((((key0 === "@type") || (key0 === "productionLeadTime")) || (key0 === "cancellationPolicy")) || (key0 === "returnsExceptions")) || (key0 === "aftermarketServices"))){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data["@type"] !== undefined){if("pagefront:MadeToOrderTerms" !== data["@type"]){const err2 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:MadeToOrderTerms"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.productionLeadTime !== undefined){let data1 = data.productionLeadTime;if(data1 && typeof data1 == "object" && !Array.isArray(data1)){if(data1["@type"] === undefined){const err3 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key1 in data1){if(!((((key1 === "@type") || (key1 === "minDays")) || (key1 === "maxDays")) || (key1 === "description"))){const err4 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data1["@type"] !== undefined){if("pagefront:Duration" !== data1["@type"]){const err5 = {instancePath:instancePath+"/productionLeadTime/@type",schemaPath:"#/$defs/duration/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Duration"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data1.minDays !== undefined){let data3 = data1.minDays;if(!(((typeof data3 == "number") && (!(data3 % 1) && !isNaN(data3))) && (isFinite(data3)))){const err6 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}if((typeof data3 == "number") && (isFinite(data3))){if(data3 < 0 || isNaN(data3)){const err7 = {instancePath:instancePath+"/productionLeadTime/minDays",schemaPath:"#/$defs/duration/properties/minDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}}if(data1.maxDays !== undefined){let data4 = data1.maxDays;if(!(((typeof data4 == "number") && (!(data4 % 1) && !isNaN(data4))) && (isFinite(data4)))){const err8 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}if((typeof data4 == "number") && (isFinite(data4))){if(data4 < 0 || isNaN(data4)){const err9 = {instancePath:instancePath+"/productionLeadTime/maxDays",schemaPath:"#/$defs/duration/properties/maxDays/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}}if(data1.description !== undefined){if(typeof data1.description !== "string"){const err10 = {instancePath:instancePath+"/productionLeadTime/description",schemaPath:"#/$defs/duration/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath:instancePath+"/productionLeadTime",schemaPath:"#/$defs/duration/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.cancellationPolicy !== undefined){if(typeof data.cancellationPolicy !== "string"){const err12 = {instancePath:instancePath+"/cancellationPolicy",schemaPath:"#/properties/cancellationPolicy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.returnsExceptions !== undefined){let data7 = data.returnsExceptions;if(Array.isArray(data7)){const len0 = data7.length;for(let i0=0; i0<len0; i0++){if(typeof data7[i0] !== "string"){const err13 = {instancePath:instancePath+"/returnsExceptions/" + i0,schemaPath:"#/properties/returnsExceptions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/returnsExceptions",schemaPath:"#/properties/returnsExceptions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data.aftermarketServices !== undefined){let data9 = data.aftermarketServices;if(Array.isArray(data9)){const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(data10 && typeof data10 == "object" && !Array.isArray(data10)){if(data10["@type"] === undefined){const err15 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data10.service === undefined){const err16 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/required",keyword:"required",params:{missingProperty: "service"},message:"must have required property '"+"service"+"'"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}for(const key2 in data10){if(!((((key2 === "@type") || (key2 === "service")) || (key2 === "limit")) || (key2 === "description"))){const err17 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data10["@type"] !== undefined){if("pagefront:AftermarketService" !== data10["@type"]){const err18 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/@type",schemaPath:"#/$defs/aftermarketService/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AftermarketService"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data10.service !== undefined){if(typeof data10.service !== "string"){const err19 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/service",schemaPath:"#/$defs/aftermarketService/properties/service/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data10.limit !== undefined){if(typeof data10.limit !== "string"){const err20 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/limit",schemaPath:"#/$defs/aftermarketService/properties/limit/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data10.description !== undefined){if(typeof data10.description !== "string"){const err21 = {instancePath:instancePath+"/aftermarketServices/" + i1+"/description",schemaPath:"#/$defs/aftermarketService/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}}else {const err22 = {instancePath:instancePath+"/aftermarketServices/" + i1,schemaPath:"#/$defs/aftermarketService/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}}else {const err23 = {instancePath:instancePath+"/aftermarketServices",schemaPath:"#/properties/aftermarketServices/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}}else {const err24 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}validate39.errors = vErrors;return errors === 0;}validate39.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate21.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}const _errs1 = errors;let valid0 = true;const _errs2 = errors;if(data && typeof data == "object" && !Array.isArray(data)){let missing0;if((data["@type"] === undefined) && (missing0 = "@type")){const err0 = {};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}else {if(data["@type"] !== undefined){if("ProductGroup" !== data["@type"]){const err1 = {};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}}}var _valid0 = _errs2 === errors;errors = _errs1;if(vErrors !== null){if(_errs1){vErrors.length = _errs1;}else {vErrors = null;}}let ifClause0;if(_valid0){const _errs4 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productGroupID === undefined){const err2 = {instancePath,schemaPath:"#/then/required",keyword:"required",params:{missingProperty: "productGroupID"},message:"must have required property '"+"productGroupID"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}var _valid0 = _errs4 === errors;valid0 = _valid0;ifClause0 = "then";}else {const _errs5 = errors;const _errs6 = errors;let valid2 = false;const _errs7 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.sku === undefined){const err3 = {instancePath,schemaPath:"#/else/anyOf/0/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}var _valid1 = _errs7 === errors;valid2 = valid2 || _valid1;const _errs8 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin13 === undefined){const err4 = {instancePath,schemaPath:"#/else/anyOf/1/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}var _valid1 = _errs8 === errors;valid2 = valid2 || _valid1;const _errs9 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.gtin === undefined){const err5 = {instancePath,schemaPath:"#/else/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}var _valid1 = _errs9 === errors;valid2 = valid2 || _valid1;const _errs10 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.mpn === undefined){const err6 = {instancePath,schemaPath:"#/else/anyOf/3/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}var _valid1 = _errs10 === errors;valid2 = valid2 || _valid1;const _errs11 = errors;if(data && typeof data == "object" && !Array.isArray(data)){if(data.productID === undefined){const err7 = {instancePath,schemaPath:"#/else/anyOf/4/required",keyword:"required",params:{missingProperty: "productID"},message:"must have required property '"+"productID"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}var _valid1 = _errs11 === errors;valid2 = valid2 || _valid1;if(!valid2){const err8 = {instancePath,schemaPath:"#/else/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}else {errors = _errs6;if(vErrors !== null){if(_errs6){vErrors.length = _errs6;}else {vErrors = null;}}}if(data && typeof data == "object" && !Array.isArray(data)){if(data.url === undefined){const err9 = {instancePath,schemaPath:"#/else/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}var _valid0 = _errs5 === errors;valid0 = _valid0;ifClause0 = "else";}if(!valid0){const err10 = {instancePath,schemaPath:"#/if",keyword:"if",params:{failingKeyword: ifClause0},message:"must match \""+ifClause0+"\" schema"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err11 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}if(data["@type"] === undefined){const err12 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}if(data["@id"] === undefined){const err13 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}if(data.name === undefined){const err14 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}if(data.inLanguage === undefined){const err15 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}if(data["@context"] !== undefined){let data1 = data["@context"];const _errs14 = errors;let valid4 = false;let passing0 = null;const _errs15 = errors;if("https://schema.org" !== data1){const err16 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}var _valid2 = _errs15 === errors;if(_valid2){valid4 = true;passing0 = 0;}const _errs16 = errors;if(Array.isArray(data1)){if(data1.length < 1){const err17 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}const len0 = data1.length;for(let i0=0; i0<len0; i0++){let data2 = data1[i0];const _errs19 = errors;let valid7 = false;let passing1 = null;const _errs20 = errors;if(typeof data2 === "string"){if(!(formats0(data2))){const err18 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}var _valid3 = _errs20 === errors;if(_valid3){valid7 = true;passing1 = 0;}const _errs22 = errors;if(!(data2 && typeof data2 == "object" && !Array.isArray(data2))){const err20 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}var _valid3 = _errs22 === errors;if(_valid3 && valid7){valid7 = false;passing1 = [passing1, 1];}else {if(_valid3){valid7 = true;passing1 = 1;}}if(!valid7){const err21 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}else {errors = _errs19;if(vErrors !== null){if(_errs19){vErrors.length = _errs19;}else {vErrors = null;}}}}}else {const err22 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}var _valid2 = _errs16 === errors;if(_valid2 && valid4){valid4 = false;passing0 = [passing0, 1];}else {if(_valid2){valid4 = true;passing0 = 1;}}if(!valid4){const err23 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}else {errors = _errs14;if(vErrors !== null){if(_errs14){vErrors.length = _errs14;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err24 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data["@id"] !== undefined){let data4 = data["@id"];if(typeof data4 === "string"){if(!(formats0(data4))){const err25 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}}if(data.url !== undefined){let data5 = data.url;if(typeof data5 === "string"){if(!(formats0(data5))){const err27 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}}else {const err28 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}}if(data.name !== undefined){let data6 = data.name;if(typeof data6 === "string"){if(func1(data6) < 1){const err29 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}else {const err30 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err31 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}}if(data.sku !== undefined){if(typeof data.sku !== "string"){const err32 = {instancePath:instancePath+"/sku",schemaPath:"#/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}}if(data.gtin13 !== undefined){let data9 = data.gtin13;const _errs38 = errors;let valid9 = false;let passing2 = null;const _errs39 = errors;if(typeof data9 === "string"){if(!pattern5.test(data9)){const err33 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}}else {const err34 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}var _valid4 = _errs39 === errors;if(_valid4){valid9 = true;passing2 = 0;}const _errs41 = errors;if(Array.isArray(data9)){if(data9.length < 1){const err35 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}const len1 = data9.length;for(let i1=0; i1<len1; i1++){let data10 = data9[i1];if(typeof data10 === "string"){if(!pattern5.test(data10)){const err36 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}}else {const err37 = {instancePath:instancePath+"/gtin13/" + i1,schemaPath:"#/$defs/gtin13Value/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}}else {const err38 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid4 = _errs41 === errors;if(_valid4 && valid9){valid9 = false;passing2 = [passing2, 1];}else {if(_valid4){valid9 = true;passing2 = 1;}}if(!valid9){const err39 = {instancePath:instancePath+"/gtin13",schemaPath:"#/$defs/gtin13Value/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.gtin !== undefined){let data11 = data.gtin;const _errs47 = errors;let valid13 = false;let passing3 = null;const _errs48 = errors;if(typeof data11 !== "string"){const err40 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err40];}else {vErrors.push(err40);}errors++;}var _valid5 = _errs48 === errors;if(_valid5){valid13 = true;passing3 = 0;}const _errs50 = errors;if(Array.isArray(data11)){if(data11.length < 1){const err41 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}const len2 = data11.length;for(let i2=0; i2<len2; i2++){if(typeof data11[i2] !== "string"){const err42 = {instancePath:instancePath+"/gtin/" + i2,schemaPath:"#/$defs/gtinValue/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}}}else {const err43 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}var _valid5 = _errs50 === errors;if(_valid5 && valid13){valid13 = false;passing3 = [passing3, 1];}else {if(_valid5){valid13 = true;passing3 = 1;}}if(!valid13){const err44 = {instancePath:instancePath+"/gtin",schemaPath:"#/$defs/gtinValue/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}else {errors = _errs47;if(vErrors !== null){if(_errs47){vErrors.length = _errs47;}else {vErrors = null;}}}}if(data.mpn !== undefined){if(typeof data.mpn !== "string"){const err45 = {instancePath:instancePath+"/mpn",schemaPath:"#/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.productID !== undefined){if(typeof data.productID !== "string"){const err46 = {instancePath:instancePath+"/productID",schemaPath:"#/properties/productID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}}if(data.productGroupID !== undefined){if(typeof data.productGroupID !== "string"){const err47 = {instancePath:instancePath+"/productGroupID",schemaPath:"#/properties/productGroupID/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}if(data.variesBy !== undefined){let data16 = data.variesBy;if(Array.isArray(data16)){const len3 = data16.length;for(let i3=0; i3<len3; i3++){if(typeof data16[i3] !== "string"){const err48 = {instancePath:instancePath+"/variesBy/" + i3,schemaPath:"#/properties/variesBy/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}}}else {const err49 = {instancePath:instancePath+"/variesBy",schemaPath:"#/properties/variesBy/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}}if(data.hasVariant !== undefined){let data18 = data.hasVariant;if(Array.isArray(data18)){const len4 = data18.length;for(let i4=0; i4<len4; i4++){if(!(validate22(data18[i4], {instancePath:instancePath+"/hasVariant/" + i4,parentData:data18,parentDataProperty:i4,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);errors = vErrors.length;}}}else {const err50 = {instancePath:instancePath+"/hasVariant",schemaPath:"#/properties/hasVariant/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.brand !== undefined){let data20 = data.brand;if(data20 && typeof data20 == "object" && !Array.isArray(data20)){if(data20["pagefront:sheetUrl"] !== undefined){let data21 = data20["pagefront:sheetUrl"];if(typeof data21 === "string"){if(!(formats0(data21))){const err51 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}else {const err52 = {instancePath:instancePath+"/brand/pagefront:sheetUrl",schemaPath:"#/properties/brand/properties/pagefront%3AsheetUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}}else {const err53 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err54 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}if(data.category !== undefined){let data23 = data.category;const _errs74 = errors;let valid21 = false;let passing4 = null;const _errs75 = errors;if(typeof data23 !== "string"){const err55 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid6 = _errs75 === errors;if(_valid6){valid21 = true;passing4 = 0;}const _errs77 = errors;if(data23 && typeof data23 == "object" && !Array.isArray(data23)){if(data23["@type"] === undefined){const err56 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}if(data23.codeValue === undefined){const err57 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}if(data23["@type"] !== undefined){if("CategoryCode" !== data23["@type"]){const err58 = {instancePath:instancePath+"/category/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}if(data23.codeValue !== undefined){let data25 = data23.codeValue;if(typeof data25 === "string"){if(func1(data25) < 1){const err59 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}}else {const err60 = {instancePath:instancePath+"/category/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}}if(data23.inCodeSet !== undefined){let data26 = data23.inCodeSet;const _errs85 = errors;let valid24 = false;let passing5 = null;const _errs86 = errors;if(typeof data26 === "string"){if(!(formats0(data26))){const err61 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}else {const err62 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}var _valid7 = _errs86 === errors;if(_valid7){valid24 = true;passing5 = 0;}const _errs88 = errors;if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err63 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}var _valid7 = _errs88 === errors;if(_valid7 && valid24){valid24 = false;passing5 = [passing5, 1];}else {if(_valid7){valid24 = true;passing5 = 1;}}if(!valid24){const err64 = {instancePath:instancePath+"/category/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}else {errors = _errs85;if(vErrors !== null){if(_errs85){vErrors.length = _errs85;}else {vErrors = null;}}}}if(data23.name !== undefined){if(typeof data23.name !== "string"){const err65 = {instancePath:instancePath+"/category/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}}else {const err66 = {instancePath:instancePath+"/category",schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}var _valid6 = _errs77 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 1];}else {if(_valid6){valid21 = true;passing4 = 1;}const _errs92 = errors;if(Array.isArray(data23)){if(data23.length < 1){const err67 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}const len5 = data23.length;for(let i5=0; i5<len5; i5++){let data28 = data23[i5];const _errs95 = errors;let valid27 = false;let passing6 = null;const _errs96 = errors;if(typeof data28 !== "string"){const err68 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}var _valid8 = _errs96 === errors;if(_valid8){valid27 = true;passing6 = 0;}const _errs98 = errors;if(data28 && typeof data28 == "object" && !Array.isArray(data28)){if(data28["@type"] === undefined){const err69 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}if(data28.codeValue === undefined){const err70 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/required",keyword:"required",params:{missingProperty: "codeValue"},message:"must have required property '"+"codeValue"+"'"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}if(data28["@type"] !== undefined){if("CategoryCode" !== data28["@type"]){const err71 = {instancePath:instancePath+"/category/" + i5+"/@type",schemaPath:"#/$defs/categoryCode/properties/%40type/const",keyword:"const",params:{allowedValue: "CategoryCode"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data28.codeValue !== undefined){let data30 = data28.codeValue;if(typeof data30 === "string"){if(func1(data30) < 1){const err72 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}else {const err73 = {instancePath:instancePath+"/category/" + i5+"/codeValue",schemaPath:"#/$defs/categoryCode/properties/codeValue/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}}if(data28.inCodeSet !== undefined){let data31 = data28.inCodeSet;const _errs106 = errors;let valid30 = false;let passing7 = null;const _errs107 = errors;if(typeof data31 === "string"){if(!(formats0(data31))){const err74 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}else {const err75 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs107 === errors;if(_valid9){valid30 = true;passing7 = 0;}const _errs109 = errors;if(!(data31 && typeof data31 == "object" && !Array.isArray(data31))){const err76 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}var _valid9 = _errs109 === errors;if(_valid9 && valid30){valid30 = false;passing7 = [passing7, 1];}else {if(_valid9){valid30 = true;passing7 = 1;}}if(!valid30){const err77 = {instancePath:instancePath+"/category/" + i5+"/inCodeSet",schemaPath:"#/$defs/categoryCode/properties/inCodeSet/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}else {errors = _errs106;if(vErrors !== null){if(_errs106){vErrors.length = _errs106;}else {vErrors = null;}}}}if(data28.name !== undefined){if(typeof data28.name !== "string"){const err78 = {instancePath:instancePath+"/category/" + i5+"/name",schemaPath:"#/$defs/categoryCode/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}}}else {const err79 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/$defs/categoryCode/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}var _valid8 = _errs98 === errors;if(_valid8 && valid27){valid27 = false;passing6 = [passing6, 1];}else {if(_valid8){valid27 = true;passing6 = 1;}}if(!valid27){const err80 = {instancePath:instancePath+"/category/" + i5,schemaPath:"#/properties/category/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}else {errors = _errs95;if(vErrors !== null){if(_errs95){vErrors.length = _errs95;}else {vErrors = null;}}}}}else {const err81 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}var _valid6 = _errs92 === errors;if(_valid6 && valid21){valid21 = false;passing4 = [passing4, 2];}else {if(_valid6){valid21 = true;passing4 = 2;}}}if(!valid21){const err82 = {instancePath:instancePath+"/category",schemaPath:"#/properties/category/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}else {errors = _errs74;if(vErrors !== null){if(_errs74){vErrors.length = _errs74;}else {vErrors = null;}}}}if(data.color !== undefined){if(typeof data.color !== "string"){const err83 = {instancePath:instancePath+"/color",schemaPath:"#/properties/color/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}if(data.material !== undefined){if(typeof data.material !== "string"){const err84 = {instancePath:instancePath+"/material",schemaPath:"#/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data.weight !== undefined){let data35 = data.weight;if(!(data35 && typeof data35 == "object" && !Array.isArray(data35))){const err85 = {instancePath:instancePath+"/weight",schemaPath:"#/properties/weight/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}}if(data.height !== undefined){let data36 = data.height;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err86 = {instancePath:instancePath+"/height",schemaPath:"#/properties/height/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}}if(data.width !== undefined){let data37 = data.width;if(!(data37 && typeof data37 == "object" && !Array.isArray(data37))){const err87 = {instancePath:instancePath+"/width",schemaPath:"#/properties/width/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data.depth !== undefined){let data38 = data.depth;if(!(data38 && typeof data38 == "object" && !Array.isArray(data38))){const err88 = {instancePath:instancePath+"/depth",schemaPath:"#/properties/depth/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}if(data.countryOfOrigin !== undefined){let data39 = data.countryOfOrigin;if(typeof data39 === "string"){if(!pattern9.test(data39)){const err89 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}else {const err90 = {instancePath:instancePath+"/countryOfOrigin",schemaPath:"#/properties/countryOfOrigin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}if(data.image !== undefined){let data40 = data.image;if(Array.isArray(data40)){const len6 = data40.length;for(let i6=0; i6<len6; i6++){let data41 = data40[i6];if(data41 && typeof data41 == "object" && !Array.isArray(data41)){if(data41["@type"] === undefined){const err91 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}if(data41.url === undefined){const err92 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}if(data41["@type"] !== undefined){if("ImageObject" !== data41["@type"]){const err93 = {instancePath:instancePath+"/image/" + i6+"/@type",schemaPath:"#/$defs/imageObject/properties/%40type/const",keyword:"const",params:{allowedValue: "ImageObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}if(data41.url !== undefined){let data43 = data41.url;if(typeof data43 === "string"){if(!(formats0(data43))){const err94 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}else {const err95 = {instancePath:instancePath+"/image/" + i6+"/url",schemaPath:"#/$defs/imageObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data41.caption !== undefined){if(typeof data41.caption !== "string"){const err96 = {instancePath:instancePath+"/image/" + i6+"/caption",schemaPath:"#/$defs/imageObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}}if(data41.additionalProperty !== undefined){let data45 = data41.additionalProperty;if(Array.isArray(data45)){const len7 = data45.length;for(let i7=0; i7<len7; i7++){let data46 = data45[i7];const _errs143 = errors;let valid38 = true;const _errs144 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){let missing1;if((data46.name === undefined) && (missing1 = "name")){const err97 = {};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}else {if(data46.name !== undefined){if("role" !== data46.name){const err98 = {};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}}}var _valid10 = _errs144 === errors;errors = _errs143;if(vErrors !== null){if(_errs143){vErrors.length = _errs143;}else {vErrors = null;}}if(_valid10){const _errs146 = errors;if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(data46.value !== undefined){let data48 = data46.value;if(!((((((((data48 === "hero") || (data48 === "packshot")) || (data48 === "lifestyle")) || (data48 === "detail")) || (data48 === "flatlay")) || (data48 === "swatch")) || (data48 === "size_chart")) || (data48 === "context"))){const err99 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema40.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}}var _valid10 = _errs146 === errors;valid38 = _valid10;if(valid38){var props2 = {};props2.value = true;props2.name = true;}}if(!valid38){const err100 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}if(data46 && typeof data46 == "object" && !Array.isArray(data46)){if(props2 !== true){props2 = props2 || {};props2["@type"] = true;props2.name = true;props2.value = true;}if(data46["@type"] !== undefined){if("PropertyValue" !== data46["@type"]){const err101 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/@type",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}}if(data46.name !== undefined){if(typeof data46.name !== "string"){const err102 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/name",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data46.value !== undefined){if(typeof data46.value !== "string"){const err103 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7+"/value",schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}}else {const err104 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty/" + i7,schemaPath:"#/$defs/imageObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}}}else {const err105 = {instancePath:instancePath+"/image/" + i6+"/additionalProperty",schemaPath:"#/$defs/imageObject/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}}else {const err106 = {instancePath:instancePath+"/image/" + i6,schemaPath:"#/$defs/imageObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}}}else {const err107 = {instancePath:instancePath+"/image",schemaPath:"#/properties/image/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}if(data.video !== undefined){let data52 = data.video;if(Array.isArray(data52)){const len8 = data52.length;for(let i8=0; i8<len8; i8++){let data53 = data52[i8];const _errs158 = errors;let valid45 = false;const _errs159 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.url === undefined){const err108 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/0/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}}var _valid11 = _errs159 === errors;valid45 = valid45 || _valid11;const _errs160 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.contentUrl === undefined){const err109 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/1/required",keyword:"required",params:{missingProperty: "contentUrl"},message:"must have required property '"+"contentUrl"+"'"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}var _valid11 = _errs160 === errors;valid45 = valid45 || _valid11;const _errs161 = errors;if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53.embedUrl === undefined){const err110 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf/2/required",keyword:"required",params:{missingProperty: "embedUrl"},message:"must have required property '"+"embedUrl"+"'"};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}var _valid11 = _errs161 === errors;valid45 = valid45 || _valid11;if(!valid45){const err111 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}else {errors = _errs158;if(vErrors !== null){if(_errs158){vErrors.length = _errs158;}else {vErrors = null;}}}if(data53 && typeof data53 == "object" && !Array.isArray(data53)){if(data53["@type"] === undefined){const err112 = {instancePath:instancePath+"/video/" + i8,schemaPath:"#/$defs/videoObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}if(data53["@type"] !== undefined){if("VideoObject" !== data53["@type"]){const err113 = {instancePath:instancePath+"/video/" + i8+"/@type",schemaPath:"#/$defs/videoObject/properties/%40type/const",keyword:"const",params:{allowedValue: "VideoObject"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data53.url !== undefined){let data55 = data53.url;if(typeof data55 === "string"){if(!(formats0(data55))){const err114 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/video/" + i8+"/url",schemaPath:"#/$defs/videoObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data53.contentUrl !== undefined){let data56 = data53.contentUrl;if(typeof data56 === "string"){if(!(formats0(data56))){const err116 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}else {const err117 = {instancePath:instancePath+"/video/" + i8+"/contentUrl",schemaPath:"#/$defs/videoObject/properties/contentUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data53.embedUrl !== undefined){let data57 = data53.embedUrl;if(typeof data57 === "string"){if(!(formats0(data57))){const err118 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}}else {const err119 = {instancePath:instancePath+"/video/" + i8+"/embedUrl",schemaPath:"#/$defs/videoObject/properties/embedUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}}if(data53.thumbnailUrl !== undefined){let data58 = data53.thumbnailUrl;if(typeof data58 === "string"){if(!(formats0(data58))){const err120 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}else {const err121 = {instancePath:instancePath+"/video/" + i8+"/thumbnailUrl",schemaPath:"#/$defs/videoObject/properties/thumbnailUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}}if(data53.duration !== undefined){let data59 = data53.duration;if(typeof data59 === "string"){if(!pattern10.test(data59)){const err122 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/pattern",keyword:"pattern",params:{pattern: "^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"},message:"must match pattern \""+"^P(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"+"\""};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}}else {const err123 = {instancePath:instancePath+"/video/" + i8+"/duration",schemaPath:"#/$defs/videoObject/properties/duration/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}if(data53.uploadDate !== undefined){if(typeof data53.uploadDate !== "string"){const err124 = {instancePath:instancePath+"/video/" + i8+"/uploadDate",schemaPath:"#/$defs/videoObject/properties/uploadDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}if(data53.caption !== undefined){if(typeof data53.caption !== "string"){const err125 = {instancePath:instancePath+"/video/" + i8+"/caption",schemaPath:"#/$defs/videoObject/properties/caption/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data53.transcript !== undefined){if(typeof data53.transcript !== "string"){const err126 = {instancePath:instancePath+"/video/" + i8+"/transcript",schemaPath:"#/$defs/videoObject/properties/transcript/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}}if(data53.description !== undefined){if(typeof data53.description !== "string"){const err127 = {instancePath:instancePath+"/video/" + i8+"/description",schemaPath:"#/$defs/videoObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}}if(data53.name !== undefined){if(typeof data53.name !== "string"){const err128 = {instancePath:instancePath+"/video/" + i8+"/name",schemaPath:"#/$defs/videoObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data53.additionalProperty !== undefined){let data65 = data53.additionalProperty;if(Array.isArray(data65)){const len9 = data65.length;for(let i9=0; i9<len9; i9++){let data66 = data65[i9];const _errs189 = errors;let valid50 = true;const _errs190 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){let missing2;if((data66.name === undefined) && (missing2 = "name")){const err129 = {};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}else {if(data66.name !== undefined){if("role" !== data66.name){const err130 = {};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}}}var _valid12 = _errs190 === errors;errors = _errs189;if(vErrors !== null){if(_errs189){vErrors.length = _errs189;}else {vErrors = null;}}if(_valid12){const _errs192 = errors;if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(data66.value !== undefined){let data68 = data66.value;if(!((((((((data68 === "overview") || (data68 === "tutorial")) || (data68 === "lifestyle")) || (data68 === "construction")) || (data68 === "demonstration")) || (data68 === "comparison")) || (data68 === "unboxing")) || (data68 === "spin"))){const err131 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/then/properties/value/enum",keyword:"enum",params:{allowedValues: schema41.properties.additionalProperty.items.allOf[0].then.properties.value.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}var _valid12 = _errs192 === errors;valid50 = _valid12;if(valid50){var props3 = {};props3.value = true;props3.name = true;}}if(!valid50){const err132 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/allOf/0/if",keyword:"if",params:{failingKeyword: "then"},message:"must match \"then\" schema"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}if(data66 && typeof data66 == "object" && !Array.isArray(data66)){if(props3 !== true){props3 = props3 || {};props3["@type"] = true;props3.name = true;props3.value = true;}if(data66["@type"] !== undefined){if("PropertyValue" !== data66["@type"]){const err133 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/@type",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/%40type/const",keyword:"const",params:{allowedValue: "PropertyValue"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}if(data66.name !== undefined){if(typeof data66.name !== "string"){const err134 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/name",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}}if(data66.value !== undefined){if(typeof data66.value !== "string"){const err135 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9+"/value",schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/properties/value/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err135];}else {vErrors.push(err135);}errors++;}}}else {const err136 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty/" + i9,schemaPath:"#/$defs/videoObject/properties/additionalProperty/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err136];}else {vErrors.push(err136);}errors++;}}}else {const err137 = {instancePath:instancePath+"/video/" + i8+"/additionalProperty",schemaPath:"#/$defs/videoObject/properties/additionalProperty/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+"/video/" + i8,schemaPath:"#/$defs/videoObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err138];}else {vErrors.push(err138);}errors++;}}}else {const err139 = {instancePath:instancePath+"/video",schemaPath:"#/properties/video/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err139];}else {vErrors.push(err139);}errors++;}}if(data.additionalProperty !== undefined){if(!(Array.isArray(data.additionalProperty))){const err140 = {instancePath:instancePath+"/additionalProperty",schemaPath:"#/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err140];}else {vErrors.push(err140);}errors++;}}if(data.hasCertification !== undefined){let data73 = data.hasCertification;if(Array.isArray(data73)){const len10 = data73.length;for(let i10=0; i10<len10; i10++){let data74 = data73[i10];if(data74 && typeof data74 == "object" && !Array.isArray(data74)){if(data74["@type"] === undefined){const err141 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err141];}else {vErrors.push(err141);}errors++;}if(data74.name === undefined){const err142 = {instancePath:instancePath+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err142];}else {vErrors.push(err142);}errors++;}if(data74["@type"] !== undefined){if("Certification" !== data74["@type"]){const err143 = {instancePath:instancePath+"/hasCertification/" + i10+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err143];}else {vErrors.push(err143);}errors++;}}if(data74.name !== undefined){if(typeof data74.name !== "string"){const err144 = {instancePath:instancePath+"/hasCertification/" + i10+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err144];}else {vErrors.push(err144);}errors++;}}if(data74.issuedBy !== undefined){let data77 = data74.issuedBy;if(!(data77 && typeof data77 == "object" && !Array.isArray(data77))){const err145 = {instancePath:instancePath+"/hasCertification/" + i10+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err145];}else {vErrors.push(err145);}errors++;}}if(data74.about !== undefined){if(typeof data74.about !== "string"){const err146 = {instancePath:instancePath+"/hasCertification/" + i10+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err146];}else {vErrors.push(err146);}errors++;}}if(data74.additionalProperty !== undefined){if(!(Array.isArray(data74.additionalProperty))){const err147 = {instancePath:instancePath+"/hasCertification/" + i10+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/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+"/hasCertification/" + i10,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err148];}else {vErrors.push(err148);}errors++;}}}else {const err149 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err149];}else {vErrors.push(err149);}errors++;}}if(data.manufacturer !== undefined){let data80 = data.manufacturer;if(!(data80 && typeof data80 == "object" && !Array.isArray(data80))){const err150 = {instancePath:instancePath+"/manufacturer",schemaPath:"#/properties/manufacturer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err150];}else {vErrors.push(err150);}errors++;}}if(data.offers !== undefined){let data81 = data.offers;if(Array.isArray(data81)){if(data81.length < 1){const err151 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err151];}else {vErrors.push(err151);}errors++;}const len11 = data81.length;for(let i11=0; i11<len11; i11++){let data82 = data81[i11];const _errs221 = errors;let valid60 = false;let passing8 = null;const _errs222 = errors;if(!(validate24(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate24.errors : vErrors.concat(validate24.errors);errors = vErrors.length;}var _valid13 = _errs222 === errors;if(_valid13){valid60 = true;passing8 = 0;var props4 = true;}const _errs223 = errors;if(!(validate28(data82, {instancePath:instancePath+"/offers/" + i11,parentData:data81,parentDataProperty:i11,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate28.errors : vErrors.concat(validate28.errors);errors = vErrors.length;}var _valid13 = _errs223 === errors;if(_valid13 && valid60){valid60 = false;passing8 = [passing8, 1];}else {if(_valid13){valid60 = true;passing8 = 1;if(props4 !== true){props4 = true;}}}if(!valid60){const err152 = {instancePath:instancePath+"/offers/" + i11,schemaPath:"#/properties/offers/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err152];}else {vErrors.push(err152);}errors++;}else {errors = _errs221;if(vErrors !== null){if(_errs221){vErrors.length = _errs221;}else {vErrors = null;}}}}}else {const err153 = {instancePath:instancePath+"/offers",schemaPath:"#/properties/offers/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err153];}else {vErrors.push(err153);}errors++;}}if(data.aggregateRating !== undefined){let data83 = data.aggregateRating;if(!(data83 && typeof data83 == "object" && !Array.isArray(data83))){const err154 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err154];}else {vErrors.push(err154);}errors++;}}if(data.review !== undefined){if(!(Array.isArray(data.review))){const err155 = {instancePath:instancePath+"/review",schemaPath:"#/properties/review/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err155];}else {vErrors.push(err155);}errors++;}}if(data.isVariantOf !== undefined){let data85 = data.isVariantOf;if(!(data85 && typeof data85 == "object" && !Array.isArray(data85))){const err156 = {instancePath:instancePath+"/isVariantOf",schemaPath:"#/properties/isVariantOf/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err156];}else {vErrors.push(err156);}errors++;}}if(data.isRelatedTo !== undefined){if(!(Array.isArray(data.isRelatedTo))){const err157 = {instancePath:instancePath+"/isRelatedTo",schemaPath:"#/properties/isRelatedTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err157];}else {vErrors.push(err157);}errors++;}}if(data.isSimilarTo !== undefined){if(!(Array.isArray(data.isSimilarTo))){const err158 = {instancePath:instancePath+"/isSimilarTo",schemaPath:"#/properties/isSimilarTo/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err158];}else {vErrors.push(err158);}errors++;}}if(data.isPartOf !== undefined){let data88 = data.isPartOf;const _errs235 = errors;let valid61 = false;let passing9 = null;const _errs236 = errors;if(!(data88 && typeof data88 == "object" && !Array.isArray(data88))){const err159 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err159];}else {vErrors.push(err159);}errors++;}var _valid14 = _errs236 === errors;if(_valid14){valid61 = true;passing9 = 0;}const _errs238 = errors;if(!(Array.isArray(data88))){const err160 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err160];}else {vErrors.push(err160);}errors++;}var _valid14 = _errs238 === errors;if(_valid14 && valid61){valid61 = false;passing9 = [passing9, 1];}else {if(_valid14){valid61 = true;passing9 = 1;}}if(!valid61){const err161 = {instancePath:instancePath+"/isPartOf",schemaPath:"#/properties/isPartOf/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err161];}else {vErrors.push(err161);}errors++;}else {errors = _errs235;if(vErrors !== null){if(_errs235){vErrors.length = _errs235;}else {vErrors = null;}}}}if(data.hasPart !== undefined){let data89 = data.hasPart;const _errs241 = errors;let valid62 = false;let passing10 = null;const _errs242 = errors;if(!(data89 && typeof data89 == "object" && !Array.isArray(data89))){const err162 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err162];}else {vErrors.push(err162);}errors++;}var _valid15 = _errs242 === errors;if(_valid15){valid62 = true;passing10 = 0;}const _errs244 = errors;if(!(Array.isArray(data89))){const err163 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err163];}else {vErrors.push(err163);}errors++;}var _valid15 = _errs244 === errors;if(_valid15 && valid62){valid62 = false;passing10 = [passing10, 1];}else {if(_valid15){valid62 = true;passing10 = 1;}}if(!valid62){const err164 = {instancePath:instancePath+"/hasPart",schemaPath:"#/properties/hasPart/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err164];}else {vErrors.push(err164);}errors++;}else {errors = _errs241;if(vErrors !== null){if(_errs241){vErrors.length = _errs241;}else {vErrors = null;}}}}if(data.question !== undefined){let data90 = data.question;if(Array.isArray(data90)){const len12 = data90.length;for(let i12=0; i12<len12; i12++){let data91 = data90[i12];if(data91 && typeof data91 == "object" && !Array.isArray(data91)){if(data91["@type"] === undefined){const err165 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err165];}else {vErrors.push(err165);}errors++;}if(data91.name === undefined){const err166 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err166];}else {vErrors.push(err166);}errors++;}if(data91.acceptedAnswer === undefined){const err167 = {instancePath:instancePath+"/question/" + i12,schemaPath:"#/$defs/questionObject/required",keyword:"required",params:{missingProperty: "acceptedAnswer"},message:"must have required property '"+"acceptedAnswer"+"'"};if(vErrors === null){vErrors = [err167];}else {vErrors.push(err167);}errors++;}if(data91["@type"] !== undefined){if("Question" !== data91["@type"]){const err168 = {instancePath:instancePath+"/question/" + i12+"/@type",schemaPath:"#/$defs/questionObject/properties/%40type/const",keyword:"const",params:{allowedValue: "Question"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err168];}else {vErrors.push(err168);}errors++;}}if(data91.name !== undefined){let data93 = data91.name;if(typeof data93 === "string"){if(func1(data93) < 1){const err169 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err169];}else {vErrors.push(err169);}errors++;}}else {const err170 = {instancePath:instancePath+"/question/" + i12+"/name",schemaPath:"#/$defs/questionObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err170];}else {vErrors.push(err170);}errors++;}}if(data91.acceptedAnswer !== undefined){let data94 = data91.acceptedAnswer;if(data94 && typeof data94 == "object" && !Array.isArray(data94)){if(data94["@type"] === undefined){const err171 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err171];}else {vErrors.push(err171);}errors++;}if(data94.text === undefined){const err172 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err172];}else {vErrors.push(err172);}errors++;}if(data94["@type"] !== undefined){if("Answer" !== data94["@type"]){const err173 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/@type",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err173];}else {vErrors.push(err173);}errors++;}}if(data94.text !== undefined){let data96 = data94.text;if(typeof data96 === "string"){if(func1(data96) < 1){const err174 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err174];}else {vErrors.push(err174);}errors++;}}else {const err175 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer/text",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err175];}else {vErrors.push(err175);}errors++;}}}else {const err176 = {instancePath:instancePath+"/question/" + i12+"/acceptedAnswer",schemaPath:"#/$defs/questionObject/properties/acceptedAnswer/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err176];}else {vErrors.push(err176);}errors++;}}if(data91.suggestedAnswer !== undefined){let data97 = data91.suggestedAnswer;if(Array.isArray(data97)){const len13 = data97.length;for(let i13=0; i13<len13; i13++){let data98 = data97[i13];if(data98 && typeof data98 == "object" && !Array.isArray(data98)){if(data98["@type"] === undefined){const err177 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err177];}else {vErrors.push(err177);}errors++;}if(data98.text === undefined){const err178 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err178];}else {vErrors.push(err178);}errors++;}if(data98["@type"] !== undefined){if("Answer" !== data98["@type"]){const err179 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/@type",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/%40type/const",keyword:"const",params:{allowedValue: "Answer"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err179];}else {vErrors.push(err179);}errors++;}}if(data98.text !== undefined){let data100 = data98.text;if(typeof data100 === "string"){if(func1(data100) < 1){const err180 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err180];}else {vErrors.push(err180);}errors++;}}else {const err181 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13+"/text",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err181];}else {vErrors.push(err181);}errors++;}}}else {const err182 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer/" + i13,schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err182];}else {vErrors.push(err182);}errors++;}}}else {const err183 = {instancePath:instancePath+"/question/" + i12+"/suggestedAnswer",schemaPath:"#/$defs/questionObject/properties/suggestedAnswer/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+"/question/" + i12,schemaPath:"#/$defs/questionObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err184];}else {vErrors.push(err184);}errors++;}}}else {const err185 = {instancePath:instancePath+"/question",schemaPath:"#/properties/question/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err185];}else {vErrors.push(err185);}errors++;}}if(data["pagefront:document"] !== undefined){let data101 = data["pagefront:document"];if(Array.isArray(data101)){const len14 = data101.length;for(let i14=0; i14<len14; i14++){let data102 = data101[i14];if(data102 && typeof data102 == "object" && !Array.isArray(data102)){if(data102["@type"] === undefined){const err186 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err186];}else {vErrors.push(err186);}errors++;}if(data102.url === undefined){const err187 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err187];}else {vErrors.push(err187);}errors++;}if(data102.role === undefined){const err188 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err188];}else {vErrors.push(err188);}errors++;}for(const key0 in data102){if(!(((((((key0 === "@type") || (key0 === "url")) || (key0 === "role")) || (key0 === "name")) || (key0 === "inLanguage")) || (key0 === "description")) || (key0 === "encodingFormat"))){const err189 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err189];}else {vErrors.push(err189);}errors++;}}if(data102["@type"] !== undefined){if("pagefront:Document" !== data102["@type"]){const err190 = {instancePath:instancePath+"/pagefront:document/" + i14+"/@type",schemaPath:"#/$defs/documentObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Document"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err190];}else {vErrors.push(err190);}errors++;}}if(data102.url !== undefined){let data104 = data102.url;if(typeof data104 === "string"){if(!(formats0(data104))){const err191 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err191];}else {vErrors.push(err191);}errors++;}}else {const err192 = {instancePath:instancePath+"/pagefront:document/" + i14+"/url",schemaPath:"#/$defs/documentObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err192];}else {vErrors.push(err192);}errors++;}}if(data102.role !== undefined){let data105 = data102.role;if(typeof data105 !== "string"){const err193 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err193];}else {vErrors.push(err193);}errors++;}if(!((((((((((((((((((data105 === "manual") || (data105 === "assembly")) || (data105 === "care_guide")) || (data105 === "spec_sheet")) || (data105 === "compatibility")) || (data105 === "warranty")) || (data105 === "certificate")) || (data105 === "environmental_declaration")) || (data105 === "audit_report")) || (data105 === "lab_test")) || (data105 === "safety_data_sheet")) || (data105 === "installation_guide")) || (data105 === "user_guide")) || (data105 === "quick_start")) || (data105 === "brochure")) || (data105 === "repairability_index")) || (data105 === "recall_notice")) || (data105 === "declaration_of_conformity"))){const err194 = {instancePath:instancePath+"/pagefront:document/" + i14+"/role",schemaPath:"#/$defs/documentObject/properties/role/enum",keyword:"enum",params:{allowedValues: schema52.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err194];}else {vErrors.push(err194);}errors++;}}if(data102.name !== undefined){if(typeof data102.name !== "string"){const err195 = {instancePath:instancePath+"/pagefront:document/" + i14+"/name",schemaPath:"#/$defs/documentObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err195];}else {vErrors.push(err195);}errors++;}}if(data102.inLanguage !== undefined){if(typeof data102.inLanguage !== "string"){const err196 = {instancePath:instancePath+"/pagefront:document/" + i14+"/inLanguage",schemaPath:"#/$defs/documentObject/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err196];}else {vErrors.push(err196);}errors++;}}if(data102.description !== undefined){if(typeof data102.description !== "string"){const err197 = {instancePath:instancePath+"/pagefront:document/" + i14+"/description",schemaPath:"#/$defs/documentObject/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err197];}else {vErrors.push(err197);}errors++;}}if(data102.encodingFormat !== undefined){if(typeof data102.encodingFormat !== "string"){const err198 = {instancePath:instancePath+"/pagefront:document/" + i14+"/encodingFormat",schemaPath:"#/$defs/documentObject/properties/encodingFormat/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err198];}else {vErrors.push(err198);}errors++;}}}else {const err199 = {instancePath:instancePath+"/pagefront:document/" + i14,schemaPath:"#/$defs/documentObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err199];}else {vErrors.push(err199);}errors++;}}}else {const err200 = {instancePath:instancePath+"/pagefront:document",schemaPath:"#/properties/pagefront%3Adocument/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err200];}else {vErrors.push(err200);}errors++;}}if(data["pagefront:relatedProduct"] !== undefined){let data110 = data["pagefront:relatedProduct"];if(Array.isArray(data110)){const len15 = data110.length;for(let i15=0; i15<len15; i15++){let data111 = data110[i15];const _errs293 = errors;let valid78 = false;const _errs294 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@id"] === undefined){const err201 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err201];}else {vErrors.push(err201);}errors++;}}var _valid16 = _errs294 === errors;valid78 = valid78 || _valid16;const _errs295 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.sku === undefined){const err202 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/1/required",keyword:"required",params:{missingProperty: "sku"},message:"must have required property '"+"sku"+"'"};if(vErrors === null){vErrors = [err202];}else {vErrors.push(err202);}errors++;}}var _valid16 = _errs295 === errors;valid78 = valid78 || _valid16;const _errs296 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin === undefined){const err203 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/2/required",keyword:"required",params:{missingProperty: "gtin"},message:"must have required property '"+"gtin"+"'"};if(vErrors === null){vErrors = [err203];}else {vErrors.push(err203);}errors++;}}var _valid16 = _errs296 === errors;valid78 = valid78 || _valid16;const _errs297 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.gtin13 === undefined){const err204 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/3/required",keyword:"required",params:{missingProperty: "gtin13"},message:"must have required property '"+"gtin13"+"'"};if(vErrors === null){vErrors = [err204];}else {vErrors.push(err204);}errors++;}}var _valid16 = _errs297 === errors;valid78 = valid78 || _valid16;const _errs298 = errors;if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111.mpn === undefined){const err205 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf/4/required",keyword:"required",params:{missingProperty: "mpn"},message:"must have required property '"+"mpn"+"'"};if(vErrors === null){vErrors = [err205];}else {vErrors.push(err205);}errors++;}}var _valid16 = _errs298 === errors;valid78 = valid78 || _valid16;if(!valid78){const err206 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err206];}else {vErrors.push(err206);}errors++;}else {errors = _errs293;if(vErrors !== null){if(_errs293){vErrors.length = _errs293;}else {vErrors = null;}}}if(data111 && typeof data111 == "object" && !Array.isArray(data111)){if(data111["@type"] === undefined){const err207 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err207];}else {vErrors.push(err207);}errors++;}if(data111.relationship === undefined){const err208 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/required",keyword:"required",params:{missingProperty: "relationship"},message:"must have required property '"+"relationship"+"'"};if(vErrors === null){vErrors = [err208];}else {vErrors.push(err208);}errors++;}for(const key1 in data111){if(!(func8.call(schema53.properties, key1))){const err209 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err209];}else {vErrors.push(err209);}errors++;}}if(data111["@type"] !== undefined){if("pagefront:RelatedProduct" !== data111["@type"]){const err210 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@type",schemaPath:"#/$defs/relatedProductObject/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:RelatedProduct"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err210];}else {vErrors.push(err210);}errors++;}}if(data111.relationship !== undefined){let data113 = data111.relationship;if(typeof data113 !== "string"){const err211 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err211];}else {vErrors.push(err211);}errors++;}if(!(((((((((((data113 === "accessory") || (data113 === "consumable")) || (data113 === "required_part")) || (data113 === "spare_part")) || (data113 === "often_bought_with")) || (data113 === "recommended_with")) || (data113 === "replaces")) || (data113 === "replaced_by")) || (data113 === "bundle_component")) || (data113 === "compatible_with")) || (data113 === "service"))){const err212 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/relationship",schemaPath:"#/$defs/relatedProductObject/properties/relationship/enum",keyword:"enum",params:{allowedValues: schema53.properties.relationship.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err212];}else {vErrors.push(err212);}errors++;}}if(data111["@id"] !== undefined){let data114 = data111["@id"];if(typeof data114 === "string"){if(!(formats0(data114))){const err213 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err213];}else {vErrors.push(err213);}errors++;}}else {const err214 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/@id",schemaPath:"#/$defs/relatedProductObject/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err214];}else {vErrors.push(err214);}errors++;}}if(data111.sku !== undefined){if(typeof data111.sku !== "string"){const err215 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/sku",schemaPath:"#/$defs/relatedProductObject/properties/sku/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err215];}else {vErrors.push(err215);}errors++;}}if(data111.gtin !== undefined){if(typeof data111.gtin !== "string"){const err216 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin",schemaPath:"#/$defs/relatedProductObject/properties/gtin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err216];}else {vErrors.push(err216);}errors++;}}if(data111.gtin13 !== undefined){let data117 = data111.gtin13;if(typeof data117 === "string"){if(!pattern5.test(data117)){const err217 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/pattern",keyword:"pattern",params:{pattern: "^[0-9]{13}$"},message:"must match pattern \""+"^[0-9]{13}$"+"\""};if(vErrors === null){vErrors = [err217];}else {vErrors.push(err217);}errors++;}}else {const err218 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/gtin13",schemaPath:"#/$defs/relatedProductObject/properties/gtin13/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err218];}else {vErrors.push(err218);}errors++;}}if(data111.mpn !== undefined){if(typeof data111.mpn !== "string"){const err219 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/mpn",schemaPath:"#/$defs/relatedProductObject/properties/mpn/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err219];}else {vErrors.push(err219);}errors++;}}if(data111.name !== undefined){if(typeof data111.name !== "string"){const err220 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/name",schemaPath:"#/$defs/relatedProductObject/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err220];}else {vErrors.push(err220);}errors++;}}if(data111.url !== undefined){let data120 = data111.url;if(typeof data120 === "string"){if(!(formats0(data120))){const err221 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err221];}else {vErrors.push(err221);}errors++;}}else {const err222 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/url",schemaPath:"#/$defs/relatedProductObject/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err222];}else {vErrors.push(err222);}errors++;}}if(data111.image !== undefined){let data121 = data111.image;if(typeof data121 === "string"){if(!(formats0(data121))){const err223 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err223];}else {vErrors.push(err223);}errors++;}}else {const err224 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15+"/image",schemaPath:"#/$defs/relatedProductObject/properties/image/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err224];}else {vErrors.push(err224);}errors++;}}}else {const err225 = {instancePath:instancePath+"/pagefront:relatedProduct/" + i15,schemaPath:"#/$defs/relatedProductObject/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err225];}else {vErrors.push(err225);}errors++;}}}else {const err226 = {instancePath:instancePath+"/pagefront:relatedProduct",schemaPath:"#/properties/pagefront%3ArelatedProduct/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err226];}else {vErrors.push(err226);}errors++;}}if(data["pagefront:featureGroup"] !== undefined){let data122 = data["pagefront:featureGroup"];if(Array.isArray(data122)){if(data122.length < 1){const err227 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err227];}else {vErrors.push(err227);}errors++;}const len16 = data122.length;for(let i16=0; i16<len16; i16++){if(!(validate31(data122[i16], {instancePath:instancePath+"/pagefront:featureGroup/" + i16,parentData:data122,parentDataProperty:i16,rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate31.errors : vErrors.concat(validate31.errors);errors = vErrors.length;}}}else {const err228 = {instancePath:instancePath+"/pagefront:featureGroup",schemaPath:"#/properties/pagefront%3AfeatureGroup/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err228];}else {vErrors.push(err228);}errors++;}}if(data["pagefront:productHighlights"] !== undefined){let data124 = data["pagefront:productHighlights"];if(Array.isArray(data124)){if(data124.length < 1){const err229 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err229];}else {vErrors.push(err229);}errors++;}const len17 = data124.length;for(let i17=0; i17<len17; i17++){if(typeof data124[i17] !== "string"){const err230 = {instancePath:instancePath+"/pagefront:productHighlights/" + i17,schemaPath:"#/properties/pagefront%3AproductHighlights/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err230];}else {vErrors.push(err230);}errors++;}}}else {const err231 = {instancePath:instancePath+"/pagefront:productHighlights",schemaPath:"#/properties/pagefront%3AproductHighlights/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err231];}else {vErrors.push(err231);}errors++;}}if(data["pagefront:legalEntity"] !== undefined){let data126 = data["pagefront:legalEntity"];if(Array.isArray(data126)){if(data126.length < 1){const err232 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/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 len18 = data126.length;for(let i18=0; i18<len18; i18++){let data127 = data126[i18];if(data127 && typeof data127 == "object" && !Array.isArray(data127)){if(data127["@type"] === undefined){const err233 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err233];}else {vErrors.push(err233);}errors++;}if(data127.role === undefined){const err234 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "role"},message:"must have required property '"+"role"+"'"};if(vErrors === null){vErrors = [err234];}else {vErrors.push(err234);}errors++;}if(data127.organization === undefined){const err235 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err235];}else {vErrors.push(err235);}errors++;}for(const key2 in data127){if(!(((key2 === "@type") || (key2 === "role")) || (key2 === "organization"))){const err236 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err236];}else {vErrors.push(err236);}errors++;}}if(data127["@type"] !== undefined){if("pagefront:LegalEntity" !== data127["@type"]){const err237 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/@type",schemaPath:"#/$defs/legalEntity/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:LegalEntity"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err237];}else {vErrors.push(err237);}errors++;}}if(data127.role !== undefined){let data129 = data127.role;if(typeof data129 !== "string"){const err238 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err238];}else {vErrors.push(err238);}errors++;}if(!(((((data129 === "brand_owner") || (data129 === "licensee")) || (data129 === "authorized_representative")) || (data129 === "importer")) || (data129 === "manufacturer"))){const err239 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/role",schemaPath:"#/$defs/legalEntity/properties/role/enum",keyword:"enum",params:{allowedValues: schema56.properties.role.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err239];}else {vErrors.push(err239);}errors++;}}if(data127.organization !== undefined){let data130 = data127.organization;const _errs337 = errors;let valid88 = false;const _errs338 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130.name === undefined){const err240 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err240];}else {vErrors.push(err240);}errors++;}}var _valid17 = _errs338 === errors;valid88 = valid88 || _valid17;const _errs339 = errors;if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@id"] === undefined){const err241 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err241];}else {vErrors.push(err241);}errors++;}}var _valid17 = _errs339 === errors;valid88 = valid88 || _valid17;if(!valid88){const err242 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err242];}else {vErrors.push(err242);}errors++;}else {errors = _errs337;if(vErrors !== null){if(_errs337){vErrors.length = _errs337;}else {vErrors = null;}}}if(data130 && typeof data130 == "object" && !Array.isArray(data130)){if(data130["@type"] === undefined){const err243 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err243];}else {vErrors.push(err243);}errors++;}if(data130["@type"] !== undefined){if("Organization" !== data130["@type"]){const err244 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@type",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40type/const",keyword:"const",params:{allowedValue: "Organization"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err244];}else {vErrors.push(err244);}errors++;}}if(data130["@id"] !== undefined){let data132 = data130["@id"];if(typeof data132 === "string"){if(!(formats0(data132))){const err245 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err245];}else {vErrors.push(err245);}errors++;}}else {const err246 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/@id",schemaPath:"#/$defs/legalEntity/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err246];}else {vErrors.push(err246);}errors++;}}if(data130.name !== undefined){let data133 = data130.name;if(typeof data133 === "string"){if(func1(data133) < 1){const err247 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err247];}else {vErrors.push(err247);}errors++;}}else {const err248 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/name",schemaPath:"#/$defs/legalEntity/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err248];}else {vErrors.push(err248);}errors++;}}if(data130.address !== undefined){let data134 = data130.address;if(!(data134 && typeof data134 == "object" && !Array.isArray(data134))){const err249 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/address",schemaPath:"#/$defs/legalEntity/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err249];}else {vErrors.push(err249);}errors++;}}if(data130.url !== undefined){let data135 = data130.url;if(typeof data135 === "string"){if(!(formats0(data135))){const err250 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err250];}else {vErrors.push(err250);}errors++;}}else {const err251 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/url",schemaPath:"#/$defs/legalEntity/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err251];}else {vErrors.push(err251);}errors++;}}if(data130.email !== undefined){let data136 = data130.email;if(typeof data136 === "string"){if(!(formats50.test(data136))){const err252 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err252];}else {vErrors.push(err252);}errors++;}}else {const err253 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/email",schemaPath:"#/$defs/legalEntity/properties/organization/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err253];}else {vErrors.push(err253);}errors++;}}if(data130["pagefront:sheetUrl"] !== undefined){let data137 = data130["pagefront:sheetUrl"];if(typeof data137 === "string"){if(!(formats0(data137))){const err254 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err254];}else {vErrors.push(err254);}errors++;}}else {const err255 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18+"/organization/pagefront:sheetUrl",schemaPath:"#/$defs/legalEntity/properties/organization/properties/pagefront%3AsheetUrl/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+"/pagefront:legalEntity/" + i18+"/organization",schemaPath:"#/$defs/legalEntity/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err256];}else {vErrors.push(err256);}errors++;}}}else {const err257 = {instancePath:instancePath+"/pagefront:legalEntity/" + i18,schemaPath:"#/$defs/legalEntity/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err257];}else {vErrors.push(err257);}errors++;}}}else {const err258 = {instancePath:instancePath+"/pagefront:legalEntity",schemaPath:"#/properties/pagefront%3AlegalEntity/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err258];}else {vErrors.push(err258);}errors++;}}if(data["pagefront:safetyWarning"] !== undefined){let data138 = data["pagefront:safetyWarning"];if(Array.isArray(data138)){if(data138.length < 1){const err259 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err259];}else {vErrors.push(err259);}errors++;}const len19 = data138.length;for(let i19=0; i19<len19; i19++){let data139 = data138[i19];if(data139 && typeof data139 == "object" && !Array.isArray(data139)){if(data139["@type"] === undefined){const err260 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err260];}else {vErrors.push(err260);}errors++;}if(data139.text === undefined){const err261 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/required",keyword:"required",params:{missingProperty: "text"},message:"must have required property '"+"text"+"'"};if(vErrors === null){vErrors = [err261];}else {vErrors.push(err261);}errors++;}for(const key3 in data139){if(!((((key3 === "@type") || (key3 === "text")) || (key3 === "pictogram")) || (key3 === "hazardCategory"))){const err262 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err262];}else {vErrors.push(err262);}errors++;}}if(data139["@type"] !== undefined){if("pagefront:SafetyWarning" !== data139["@type"]){const err263 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/@type",schemaPath:"#/$defs/safetyWarning/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyWarning"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err263];}else {vErrors.push(err263);}errors++;}}if(data139.text !== undefined){let data141 = data139.text;if(typeof data141 === "string"){if(func1(data141) < 1){const err264 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err264];}else {vErrors.push(err264);}errors++;}}else {const err265 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/text",schemaPath:"#/$defs/safetyWarning/properties/text/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err265];}else {vErrors.push(err265);}errors++;}}if(data139.pictogram !== undefined){let data142 = data139.pictogram;if(typeof data142 === "string"){if(!(formats0(data142))){const err266 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err266];}else {vErrors.push(err266);}errors++;}}else {const err267 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/pictogram",schemaPath:"#/$defs/safetyWarning/properties/pictogram/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err267];}else {vErrors.push(err267);}errors++;}}if(data139.hazardCategory !== undefined){if(typeof data139.hazardCategory !== "string"){const err268 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19+"/hazardCategory",schemaPath:"#/$defs/safetyWarning/properties/hazardCategory/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err268];}else {vErrors.push(err268);}errors++;}}}else {const err269 = {instancePath:instancePath+"/pagefront:safetyWarning/" + i19,schemaPath:"#/$defs/safetyWarning/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err269];}else {vErrors.push(err269);}errors++;}}}else {const err270 = {instancePath:instancePath+"/pagefront:safetyWarning",schemaPath:"#/properties/pagefront%3AsafetyWarning/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err270];}else {vErrors.push(err270);}errors++;}}if(data["pagefront:safetyNotice"] !== undefined){let data144 = data["pagefront:safetyNotice"];if(Array.isArray(data144)){if(data144.length < 1){const err271 = {instancePath:instancePath+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err271];}else {vErrors.push(err271);}errors++;}const len20 = data144.length;for(let i20=0; i20<len20; i20++){let data145 = data144[i20];if(data145 && typeof data145 == "object" && !Array.isArray(data145)){if(data145["@type"] === undefined){const err272 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err272];}else {vErrors.push(err272);}errors++;}if(data145.noticeType === undefined){const err273 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/required",keyword:"required",params:{missingProperty: "noticeType"},message:"must have required property '"+"noticeType"+"'"};if(vErrors === null){vErrors = [err273];}else {vErrors.push(err273);}errors++;}for(const key4 in data145){if(!((((((((key4 === "@type") || (key4 === "noticeType")) || (key4 === "hazard")) || (key4 === "remedy")) || (key4 === "description")) || (key4 === "reference")) || (key4 === "datePublished")) || (key4 === "url"))){const err274 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key4},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err274];}else {vErrors.push(err274);}errors++;}}if(data145["@type"] !== undefined){if("pagefront:SafetyNotice" !== data145["@type"]){const err275 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/@type",schemaPath:"#/$defs/safetyNotice/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SafetyNotice"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err275];}else {vErrors.push(err275);}errors++;}}if(data145.noticeType !== undefined){let data147 = data145.noticeType;if(typeof data147 !== "string"){const err276 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err276];}else {vErrors.push(err276);}errors++;}if(!((data147 === "recall") || (data147 === "warning"))){const err277 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/noticeType",schemaPath:"#/$defs/safetyNotice/properties/noticeType/enum",keyword:"enum",params:{allowedValues: schema58.properties.noticeType.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err277];}else {vErrors.push(err277);}errors++;}}if(data145.hazard !== undefined){if(typeof data145.hazard !== "string"){const err278 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/hazard",schemaPath:"#/$defs/safetyNotice/properties/hazard/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err278];}else {vErrors.push(err278);}errors++;}}if(data145.remedy !== undefined){let data149 = data145.remedy;if(typeof data149 !== "string"){const err279 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err279];}else {vErrors.push(err279);}errors++;}if(!(((data149 === "repair") || (data149 === "replacement")) || (data149 === "refund"))){const err280 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/remedy",schemaPath:"#/$defs/safetyNotice/properties/remedy/enum",keyword:"enum",params:{allowedValues: schema58.properties.remedy.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err280];}else {vErrors.push(err280);}errors++;}}if(data145.description !== undefined){if(typeof data145.description !== "string"){const err281 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/description",schemaPath:"#/$defs/safetyNotice/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err281];}else {vErrors.push(err281);}errors++;}}if(data145.reference !== undefined){let data151 = data145.reference;if(typeof data151 === "string"){if(!(formats0(data151))){const err282 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err282];}else {vErrors.push(err282);}errors++;}}else {const err283 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/reference",schemaPath:"#/$defs/safetyNotice/properties/reference/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err283];}else {vErrors.push(err283);}errors++;}}if(data145.datePublished !== undefined){let data152 = data145.datePublished;if(typeof data152 === "string"){if(!(formats42.validate(data152))){const err284 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/format",keyword:"format",params:{format: "date"},message:"must match format \""+"date"+"\""};if(vErrors === null){vErrors = [err284];}else {vErrors.push(err284);}errors++;}}else {const err285 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/datePublished",schemaPath:"#/$defs/safetyNotice/properties/datePublished/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err285];}else {vErrors.push(err285);}errors++;}}if(data145.url !== undefined){let data153 = data145.url;if(typeof data153 === "string"){if(!(formats0(data153))){const err286 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err286];}else {vErrors.push(err286);}errors++;}}else {const err287 = {instancePath:instancePath+"/pagefront:safetyNotice/" + i20+"/url",schemaPath:"#/$defs/safetyNotice/properties/url/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+"/pagefront:safetyNotice/" + i20,schemaPath:"#/$defs/safetyNotice/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+"/pagefront:safetyNotice",schemaPath:"#/properties/pagefront%3AsafetyNotice/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err289];}else {vErrors.push(err289);}errors++;}}if(data["pagefront:sizeChart"] !== undefined){if(!(validate33(data["pagefront:sizeChart"], {instancePath:instancePath+"/pagefront:sizeChart",parentData:data,parentDataProperty:"pagefront:sizeChart",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate33.errors : vErrors.concat(validate33.errors);errors = vErrors.length;}}if(data["pagefront:sizeRecommendation"] !== undefined){if(!(validate35(data["pagefront:sizeRecommendation"], {instancePath:instancePath+"/pagefront:sizeRecommendation",parentData:data,parentDataProperty:"pagefront:sizeRecommendation",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate35.errors : vErrors.concat(validate35.errors);errors = vErrors.length;}}if(data["pagefront:materialComposition"] !== undefined){let data156 = data["pagefront:materialComposition"];if(Array.isArray(data156)){const len21 = data156.length;for(let i21=0; i21<len21; i21++){let data157 = data156[i21];if(data157 && typeof data157 == "object" && !Array.isArray(data157)){if(data157["@type"] === undefined){const err290 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err290];}else {vErrors.push(err290);}errors++;}if(data157.material === undefined){const err291 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err291];}else {vErrors.push(err291);}errors++;}for(const key5 in data157){if(!(((((((key5 === "@type") || (key5 === "material")) || (key5 === "percentage")) || (key5 === "purity")) || (key5 === "purityPercentage")) || (key5 === "provenance")) || (key5 === "weightGrams"))){const err292 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key5},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err292];}else {vErrors.push(err292);}errors++;}}if(data157["@type"] !== undefined){if("pagefront:Material" !== data157["@type"]){const err293 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err293];}else {vErrors.push(err293);}errors++;}}if(data157.material !== undefined){if(typeof data157.material !== "string"){const err294 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err294];}else {vErrors.push(err294);}errors++;}}if(data157.percentage !== undefined){let data160 = data157.percentage;if((typeof data160 == "number") && (isFinite(data160))){if(data160 > 100 || isNaN(data160)){const err295 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err295];}else {vErrors.push(err295);}errors++;}if(data160 < 0 || isNaN(data160)){const err296 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err296];}else {vErrors.push(err296);}errors++;}}else {const err297 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err297];}else {vErrors.push(err297);}errors++;}}if(data157.purity !== undefined){if(typeof data157.purity !== "string"){const err298 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err298];}else {vErrors.push(err298);}errors++;}}if(data157.purityPercentage !== undefined){let data162 = data157.purityPercentage;if((typeof data162 == "number") && (isFinite(data162))){if(data162 > 100 || isNaN(data162)){const err299 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err299];}else {vErrors.push(err299);}errors++;}if(data162 < 0 || isNaN(data162)){const err300 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err300];}else {vErrors.push(err300);}errors++;}}else {const err301 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err301];}else {vErrors.push(err301);}errors++;}}if(data157.provenance !== undefined){let data163 = data157.provenance;if(typeof data163 !== "string"){const err302 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err302];}else {vErrors.push(err302);}errors++;}if(!((((((data163 === "virgin") || (data163 === "recycled")) || (data163 === "fair_mined")) || (data163 === "lab_grown")) || (data163 === "reclaimed")) || (data163 === "deadstock"))){const err303 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema64.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err303];}else {vErrors.push(err303);}errors++;}}if(data157.weightGrams !== undefined){let data164 = data157.weightGrams;if((typeof data164 == "number") && (isFinite(data164))){if(data164 < 0 || isNaN(data164)){const err304 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err304];}else {vErrors.push(err304);}errors++;}}else {const err305 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err305];}else {vErrors.push(err305);}errors++;}}}else {const err306 = {instancePath:instancePath+"/pagefront:materialComposition/" + i21,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err306];}else {vErrors.push(err306);}errors++;}}}else {const err307 = {instancePath:instancePath+"/pagefront:materialComposition",schemaPath:"#/properties/pagefront%3AmaterialComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err307];}else {vErrors.push(err307);}errors++;}}if(data["pagefront:fabricComposition"] !== undefined){let data165 = data["pagefront:fabricComposition"];if(Array.isArray(data165)){const len22 = data165.length;for(let i22=0; i22<len22; i22++){let data166 = data165[i22];if(data166 && typeof data166 == "object" && !Array.isArray(data166)){if(data166["@type"] === undefined){const err308 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err308];}else {vErrors.push(err308);}errors++;}if(data166.material === undefined){const err309 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/required",keyword:"required",params:{missingProperty: "material"},message:"must have required property '"+"material"+"'"};if(vErrors === null){vErrors = [err309];}else {vErrors.push(err309);}errors++;}for(const key6 in data166){if(!(((((((key6 === "@type") || (key6 === "material")) || (key6 === "percentage")) || (key6 === "purity")) || (key6 === "purityPercentage")) || (key6 === "provenance")) || (key6 === "weightGrams"))){const err310 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key6},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err310];}else {vErrors.push(err310);}errors++;}}if(data166["@type"] !== undefined){if("pagefront:Material" !== data166["@type"]){const err311 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/@type",schemaPath:"#/$defs/material/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Material"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err311];}else {vErrors.push(err311);}errors++;}}if(data166.material !== undefined){if(typeof data166.material !== "string"){const err312 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/material",schemaPath:"#/$defs/material/properties/material/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err312];}else {vErrors.push(err312);}errors++;}}if(data166.percentage !== undefined){let data169 = data166.percentage;if((typeof data169 == "number") && (isFinite(data169))){if(data169 > 100 || isNaN(data169)){const err313 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err313];}else {vErrors.push(err313);}errors++;}if(data169 < 0 || isNaN(data169)){const err314 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err314];}else {vErrors.push(err314);}errors++;}}else {const err315 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/percentage",schemaPath:"#/$defs/material/properties/percentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err315];}else {vErrors.push(err315);}errors++;}}if(data166.purity !== undefined){if(typeof data166.purity !== "string"){const err316 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purity",schemaPath:"#/$defs/material/properties/purity/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err316];}else {vErrors.push(err316);}errors++;}}if(data166.purityPercentage !== undefined){let data171 = data166.purityPercentage;if((typeof data171 == "number") && (isFinite(data171))){if(data171 > 100 || isNaN(data171)){const err317 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/maximum",keyword:"maximum",params:{comparison: "<=", limit: 100},message:"must be <= 100"};if(vErrors === null){vErrors = [err317];}else {vErrors.push(err317);}errors++;}if(data171 < 0 || isNaN(data171)){const err318 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err318];}else {vErrors.push(err318);}errors++;}}else {const err319 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/purityPercentage",schemaPath:"#/$defs/material/properties/purityPercentage/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err319];}else {vErrors.push(err319);}errors++;}}if(data166.provenance !== undefined){let data172 = data166.provenance;if(typeof data172 !== "string"){const err320 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err320];}else {vErrors.push(err320);}errors++;}if(!((((((data172 === "virgin") || (data172 === "recycled")) || (data172 === "fair_mined")) || (data172 === "lab_grown")) || (data172 === "reclaimed")) || (data172 === "deadstock"))){const err321 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/provenance",schemaPath:"#/$defs/material/properties/provenance/enum",keyword:"enum",params:{allowedValues: schema64.properties.provenance.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err321];}else {vErrors.push(err321);}errors++;}}if(data166.weightGrams !== undefined){let data173 = data166.weightGrams;if((typeof data173 == "number") && (isFinite(data173))){if(data173 < 0 || isNaN(data173)){const err322 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err322];}else {vErrors.push(err322);}errors++;}}else {const err323 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22+"/weightGrams",schemaPath:"#/$defs/material/properties/weightGrams/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err323];}else {vErrors.push(err323);}errors++;}}}else {const err324 = {instancePath:instancePath+"/pagefront:fabricComposition/" + i22,schemaPath:"#/$defs/material/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err324];}else {vErrors.push(err324);}errors++;}}}else {const err325 = {instancePath:instancePath+"/pagefront:fabricComposition",schemaPath:"#/properties/pagefront%3AfabricComposition/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err325];}else {vErrors.push(err325);}errors++;}}if(data["pagefront:construction"] !== undefined){let data174 = data["pagefront:construction"];if(data174 && typeof data174 == "object" && !Array.isArray(data174)){if(data174["@type"] === undefined){const err326 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err326];}else {vErrors.push(err326);}errors++;}if(data174["@type"] !== undefined){if("pagefront:Construction" !== data174["@type"]){const err327 = {instancePath:instancePath+"/pagefront:construction/@type",schemaPath:"#/$defs/construction/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Construction"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err327];}else {vErrors.push(err327);}errors++;}}if(data174.stitch !== undefined){if(typeof data174.stitch !== "string"){const err328 = {instancePath:instancePath+"/pagefront:construction/stitch",schemaPath:"#/$defs/construction/properties/stitch/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err328];}else {vErrors.push(err328);}errors++;}}if(data174.gauge !== undefined){let data177 = data174.gauge;if(!((typeof data177 == "number") && (isFinite(data177)))){const err329 = {instancePath:instancePath+"/pagefront:construction/gauge",schemaPath:"#/$defs/construction/properties/gauge/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err329];}else {vErrors.push(err329);}errors++;}}if(data174.machine !== undefined){if(typeof data174.machine !== "string"){const err330 = {instancePath:instancePath+"/pagefront:construction/machine",schemaPath:"#/$defs/construction/properties/machine/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err330];}else {vErrors.push(err330);}errors++;}}if(data174.constructionNotes !== undefined){if(typeof data174.constructionNotes !== "string"){const err331 = {instancePath:instancePath+"/pagefront:construction/constructionNotes",schemaPath:"#/$defs/construction/properties/constructionNotes/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err331];}else {vErrors.push(err331);}errors++;}}}else {const err332 = {instancePath:instancePath+"/pagefront:construction",schemaPath:"#/$defs/construction/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err332];}else {vErrors.push(err332);}errors++;}}if(data["pagefront:manufacturingChain"] !== undefined){let data180 = data["pagefront:manufacturingChain"];if(Array.isArray(data180)){const len23 = data180.length;for(let i23=0; i23<len23; i23++){let data181 = data180[i23];if(data181 && typeof data181 == "object" && !Array.isArray(data181)){if(data181["@type"] === undefined){const err333 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err333];}else {vErrors.push(err333);}errors++;}if(data181.stage === undefined){const err334 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "stage"},message:"must have required property '"+"stage"+"'"};if(vErrors === null){vErrors = [err334];}else {vErrors.push(err334);}errors++;}if(data181.country === undefined){const err335 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/required",keyword:"required",params:{missingProperty: "country"},message:"must have required property '"+"country"+"'"};if(vErrors === null){vErrors = [err335];}else {vErrors.push(err335);}errors++;}for(const key7 in data181){if(!(((((key7 === "@type") || (key7 === "stage")) || (key7 === "country")) || (key7 === "facility")) || (key7 === "facilityCountry"))){const err336 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key7},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err336];}else {vErrors.push(err336);}errors++;}}if(data181["@type"] !== undefined){if("pagefront:ManufacturingStage" !== data181["@type"]){const err337 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/@type",schemaPath:"#/$defs/manufacturingStage/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:ManufacturingStage"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err337];}else {vErrors.push(err337);}errors++;}}if(data181.stage !== undefined){if(typeof data181.stage !== "string"){const err338 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/stage",schemaPath:"#/$defs/manufacturingStage/properties/stage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err338];}else {vErrors.push(err338);}errors++;}}if(data181.country !== undefined){let data184 = data181.country;if(typeof data184 === "string"){if(!pattern9.test(data184)){const err339 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err339];}else {vErrors.push(err339);}errors++;}}else {const err340 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/country",schemaPath:"#/$defs/manufacturingStage/properties/country/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err340];}else {vErrors.push(err340);}errors++;}}if(data181.facility !== undefined){if(typeof data181.facility !== "string"){const err341 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facility",schemaPath:"#/$defs/manufacturingStage/properties/facility/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err341];}else {vErrors.push(err341);}errors++;}}if(data181.facilityCountry !== undefined){let data186 = data181.facilityCountry;if(typeof data186 === "string"){if(!pattern9.test(data186)){const err342 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/pattern",keyword:"pattern",params:{pattern: "^[A-Z]{2}$"},message:"must match pattern \""+"^[A-Z]{2}$"+"\""};if(vErrors === null){vErrors = [err342];}else {vErrors.push(err342);}errors++;}}else {const err343 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23+"/facilityCountry",schemaPath:"#/$defs/manufacturingStage/properties/facilityCountry/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err343];}else {vErrors.push(err343);}errors++;}}}else {const err344 = {instancePath:instancePath+"/pagefront:manufacturingChain/" + i23,schemaPath:"#/$defs/manufacturingStage/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err344];}else {vErrors.push(err344);}errors++;}}}else {const err345 = {instancePath:instancePath+"/pagefront:manufacturingChain",schemaPath:"#/properties/pagefront%3AmanufacturingChain/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err345];}else {vErrors.push(err345);}errors++;}}if(data["pagefront:gemstone"] !== undefined){let data187 = data["pagefront:gemstone"];if(data187 && typeof data187 == "object" && !Array.isArray(data187)){if(data187["@type"] === undefined){const err346 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err346];}else {vErrors.push(err346);}errors++;}if(data187.type === undefined){const err347 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err347];}else {vErrors.push(err347);}errors++;}for(const key8 in data187){if(!(func8.call(schema68.properties, key8))){const err348 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key8},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err348];}else {vErrors.push(err348);}errors++;}}if(data187["@type"] !== undefined){if("pagefront:Gemstone" !== data187["@type"]){const err349 = {instancePath:instancePath+"/pagefront:gemstone/@type",schemaPath:"#/$defs/gemstone/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:Gemstone"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err349];}else {vErrors.push(err349);}errors++;}}if(data187.type !== undefined){if(typeof data187.type !== "string"){const err350 = {instancePath:instancePath+"/pagefront:gemstone/type",schemaPath:"#/$defs/gemstone/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err350];}else {vErrors.push(err350);}errors++;}}if(data187.origin !== undefined){let data190 = data187.origin;if(typeof data190 !== "string"){const err351 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err351];}else {vErrors.push(err351);}errors++;}if(!((((data190 === "natural_mined") || (data190 === "lab_grown")) || (data190 === "treated")) || (data190 === "synthetic"))){const err352 = {instancePath:instancePath+"/pagefront:gemstone/origin",schemaPath:"#/$defs/gemstone/properties/origin/enum",keyword:"enum",params:{allowedValues: schema68.properties.origin.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err352];}else {vErrors.push(err352);}errors++;}}if(data187.shape !== undefined){if(typeof data187.shape !== "string"){const err353 = {instancePath:instancePath+"/pagefront:gemstone/shape",schemaPath:"#/$defs/gemstone/properties/shape/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err353];}else {vErrors.push(err353);}errors++;}}if(data187.caratWeight !== undefined){let data192 = data187.caratWeight;if((typeof data192 == "number") && (isFinite(data192))){if(data192 < 0 || isNaN(data192)){const err354 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/minimum",keyword:"minimum",params:{comparison: ">=", limit: 0},message:"must be >= 0"};if(vErrors === null){vErrors = [err354];}else {vErrors.push(err354);}errors++;}}else {const err355 = {instancePath:instancePath+"/pagefront:gemstone/caratWeight",schemaPath:"#/$defs/gemstone/properties/caratWeight/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err355];}else {vErrors.push(err355);}errors++;}}if(data187.colorGrade !== undefined){if(typeof data187.colorGrade !== "string"){const err356 = {instancePath:instancePath+"/pagefront:gemstone/colorGrade",schemaPath:"#/$defs/gemstone/properties/colorGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err356];}else {vErrors.push(err356);}errors++;}}if(data187.clarityGrade !== undefined){if(typeof data187.clarityGrade !== "string"){const err357 = {instancePath:instancePath+"/pagefront:gemstone/clarityGrade",schemaPath:"#/$defs/gemstone/properties/clarityGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err357];}else {vErrors.push(err357);}errors++;}}if(data187.cutGrade !== undefined){if(typeof data187.cutGrade !== "string"){const err358 = {instancePath:instancePath+"/pagefront:gemstone/cutGrade",schemaPath:"#/$defs/gemstone/properties/cutGrade/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err358];}else {vErrors.push(err358);}errors++;}}if(data187.certifyingBody !== undefined){if(typeof data187.certifyingBody !== "string"){const err359 = {instancePath:instancePath+"/pagefront:gemstone/certifyingBody",schemaPath:"#/$defs/gemstone/properties/certifyingBody/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err359];}else {vErrors.push(err359);}errors++;}}}else {const err360 = {instancePath:instancePath+"/pagefront:gemstone",schemaPath:"#/$defs/gemstone/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err360];}else {vErrors.push(err360);}errors++;}}if(data["pagefront:configurator"] !== undefined){if(!(validate37(data["pagefront:configurator"], {instancePath:instancePath+"/pagefront:configurator",parentData:data,parentDataProperty:"pagefront:configurator",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate37.errors : vErrors.concat(validate37.errors);errors = vErrors.length;}}if(data["pagefront:madeToOrderTerms"] !== undefined){if(!(validate39(data["pagefront:madeToOrderTerms"], {instancePath:instancePath+"/pagefront:madeToOrderTerms",parentData:data,parentDataProperty:"pagefront:madeToOrderTerms",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate39.errors : vErrors.concat(validate39.errors);errors = vErrors.length;}}if(data["pagefront:manufacturerWarranty"] !== undefined){let data199 = data["pagefront:manufacturerWarranty"];if(!(data199 && typeof data199 == "object" && !Array.isArray(data199))){const err361 = {instancePath:instancePath+"/pagefront:manufacturerWarranty",schemaPath:"#/properties/pagefront%3AmanufacturerWarranty/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err361];}else {vErrors.push(err361);}errors++;}}if(data["pagefront:careInstructions"] !== undefined){let data200 = data["pagefront:careInstructions"];if(Array.isArray(data200)){const len24 = data200.length;for(let i24=0; i24<len24; i24++){if(typeof data200[i24] !== "string"){const err362 = {instancePath:instancePath+"/pagefront:careInstructions/" + i24,schemaPath:"#/properties/pagefront%3AcareInstructions/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err362];}else {vErrors.push(err362);}errors++;}}}else {const err363 = {instancePath:instancePath+"/pagefront:careInstructions",schemaPath:"#/properties/pagefront%3AcareInstructions/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err363];}else {vErrors.push(err363);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data202 = data["pagefront:availableLanguages"];if(Array.isArray(data202)){const len25 = data202.length;for(let i25=0; i25<len25; i25++){let data203 = data202[i25];if(data203 && typeof data203 == "object" && !Array.isArray(data203)){if(data203.lang === undefined){const err364 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err364];}else {vErrors.push(err364);}errors++;}if(data203.url === undefined){const err365 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err365];}else {vErrors.push(err365);}errors++;}for(const key9 in data203){if(!((key9 === "lang") || (key9 === "url"))){const err366 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key9},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err366];}else {vErrors.push(err366);}errors++;}}if(data203.lang !== undefined){if(typeof data203.lang !== "string"){const err367 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err367];}else {vErrors.push(err367);}errors++;}}if(data203.url !== undefined){let data205 = data203.url;if(typeof data205 === "string"){if(!(formats0(data205))){const err368 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err368];}else {vErrors.push(err368);}errors++;}}else {const err369 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err369];}else {vErrors.push(err369);}errors++;}}}else {const err370 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i25,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err370];}else {vErrors.push(err370);}errors++;}}}else {const err371 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err371];}else {vErrors.push(err371);}errors++;}}}else {const err372 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err372];}else {vErrors.push(err372);}errors++;}validate21.errors = vErrors;return errors === 0;}validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate20(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/product/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate20.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern4.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate21(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate20.errors = vErrors;return errors === 0;}validate20.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};export const validateOrganization = validate42;const schema75 = {"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json","title":"Pagefront Commerce Organization Sheet v0.9","description":"Formal schema for the Pagefront Commerce Organization Sheet — the sheet describing the entity behind products (brand owner, manufacturer, seller), introduced with commerce format 0.9 alongside the reference-capable legalEntity and the seller-sheet return/shipping model. The data block roots on Schema.org Organization (recognized subtypes permitted; @type is not constrained to a single value). pagefront:commerceRole is the required role discriminator, an array of one or more values from the closed enum brand_owner / manufacturer / seller. pagefront:fulfillmentTerms carries the store-wide shipping defaults as an array of Schema.org-native OfferShippingDetails objects; only the attachment shell is validated, the payload is Schema.org content. pagefront:socialAccount carries the organization's official social accounts (platform / url / handle; publisher-stated only), distinct from sameAs, which carries identity authority records only. pagefront:authorizedResellers carries the brand's authorization claim over its distribution — a pagefront:AuthorizedResellers object with an optional exhaustive flag and a reseller array whose entries name an Organization either as a reference stub (@id) or inline (name plus url and/or address), with optional Schema.org-native areaServed; valid only where commerceRole includes brand_owner (linter ORG-W-006). There is no GTIN-equivalent identifier requirement: identity is @id + name. Validates the envelope and pagefront-namespaced extensions strictly; Schema.org-typed blocks permit additional unspecified properties.","type":"object","required":["format_version","schema_org_version","canonical_url","sheet_url","generated_at","data"],"properties":{"$schema":{"type":"string","format":"uri"},"format_version":{"const":"0.9"},"schema_org_version":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"},"canonical_url":{"type":"string","format":"uri"},"sheet_url":{"type":"string","format":"uri"},"generated_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"data":{"$ref":"#/$defs/dataBlock"}},"additionalProperties":false,"$defs":{"dataBlock":{"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true},"certification":{"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true}}};const schema76 = {"type":"object","required":["@context","@type","@id","name","inLanguage","pagefront:commerceRole"],"properties":{"@context":{"oneOf":[{"const":"https://schema.org"},{"type":"array","items":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"minItems":1}]},"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"legalName":{"type":"string"},"inLanguage":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"slogan":{"type":"string"},"logo":{"oneOf":[{"type":"string","format":"uri"},{"type":"object"}]},"iso6523Code":{"type":"string"},"identifier":{"oneOf":[{"type":"string"},{"type":"object"},{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"object"}]}}]},"sameAs":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"email":{"type":"string","format":"email"},"address":{"type":"object"},"contactPoint":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"foundingDate":{"type":"string"},"numberOfEmployees":{"type":"object"},"parentOrganization":{"type":"object"},"subOrganization":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"location":{"oneOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]},"brand":{"type":"object"},"aggregateRating":{"type":"object"},"hasCertification":{"type":"array","items":{"$ref":"#/$defs/certification"}},"hasMerchantReturnPolicy":{"type":"object"},"paymentAccepted":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"pagefront:commerceRole":{"type":"array","minItems":1,"items":{"type":"string","enum":["brand_owner","manufacturer","seller"]}},"pagefront:fulfillmentTerms":{"type":"array","items":{"type":"object","required":["@type"],"properties":{"@type":{"const":"OfferShippingDetails"}},"additionalProperties":true}},"pagefront:socialAccount":{"type":"array","items":{"type":"object","required":["platform","url"],"properties":{"@type":{"const":"pagefront:SocialAccount"},"platform":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"handle":{"type":"string","minLength":1}},"additionalProperties":true}},"pagefront:authorizedResellers":{"type":"object","required":["reseller"],"properties":{"@type":{"const":"pagefront:AuthorizedResellers"},"exhaustive":{"type":"boolean"},"reseller":{"type":"array","minItems":1,"items":{"type":"object","required":["organization"],"properties":{"organization":{"type":"object","properties":{"@type":{"type":"string"},"@id":{"type":"string","format":"uri"},"name":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"},"address":{"type":"object"}},"anyOf":[{"required":["@id"]},{"required":["name","url"]},{"required":["name","address"]}],"additionalProperties":true},"areaServed":{"oneOf":[{"type":"object"},{"type":"array","minItems":1,"items":{"type":"object"}}]}},"additionalProperties":false}}},"additionalProperties":false},"pagefront:availableLanguages":{"type":"array","items":{"type":"object","required":["lang","url"],"properties":{"lang":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":true};const schema77 = {"type":"object","required":["@type","name"],"properties":{"@type":{"const":"Certification"},"name":{"type":"string"},"issuedBy":{"type":"object"},"about":{"type":"string"},"additionalProperty":{"type":"array"}},"additionalProperties":true};function validate43(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){let vErrors = null;let errors = 0;const evaluated0 = validate43.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data["@context"] === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@context"},message:"must have required property '"+"@context"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data["@type"] === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data["@id"] === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.name === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.inLanguage === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "inLanguage"},message:"must have required property '"+"inLanguage"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data["pagefront:commerceRole"] === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "pagefront:commerceRole"},message:"must have required property '"+"pagefront:commerceRole"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}if(data["@context"] !== undefined){let data0 = data["@context"];const _errs3 = errors;let valid1 = false;let passing0 = null;const _errs4 = errors;if("https://schema.org" !== data0){const err6 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/const",keyword:"const",params:{allowedValue: "https://schema.org"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs4 === errors;if(_valid0){valid1 = true;passing0 = 0;}const _errs5 = errors;if(Array.isArray(data0)){if(data0.length < 1){const err7 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/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 = data0.length;for(let i0=0; i0<len0; i0++){let data1 = data0[i0];const _errs8 = errors;let valid4 = false;let passing1 = null;const _errs9 = errors;if(typeof data1 === "string"){if(!(formats0(data1))){const err8 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}else {const err9 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}var _valid1 = _errs9 === errors;if(_valid1){valid4 = true;passing1 = 0;}const _errs11 = errors;if(!(data1 && typeof data1 == "object" && !Array.isArray(data1))){const err10 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}var _valid1 = _errs11 === errors;if(_valid1 && valid4){valid4 = false;passing1 = [passing1, 1];}else {if(_valid1){valid4 = true;passing1 = 1;}}if(!valid4){const err11 = {instancePath:instancePath+"/@context/" + i0,schemaPath:"#/properties/%40context/oneOf/1/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing1},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}else {errors = _errs8;if(vErrors !== null){if(_errs8){vErrors.length = _errs8;}else {vErrors = null;}}}}}else {const err12 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}var _valid0 = _errs5 === errors;if(_valid0 && valid1){valid1 = false;passing0 = [passing0, 1];}else {if(_valid0){valid1 = true;passing0 = 1;}}if(!valid1){const err13 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}else {errors = _errs3;if(vErrors !== null){if(_errs3){vErrors.length = _errs3;}else {vErrors = null;}}}}if(data["@type"] !== undefined){if(typeof data["@type"] !== "string"){const err14 = {instancePath:instancePath+"/@type",schemaPath:"#/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data["@id"] !== undefined){let data3 = data["@id"];if(typeof data3 === "string"){if(!(formats0(data3))){const err15 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}else {const err16 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}if(data.name !== undefined){let data4 = data.name;if(typeof data4 === "string"){if(func1(data4) < 1){const err17 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}else {const err18 = {instancePath:instancePath+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}if(data.legalName !== undefined){if(typeof data.legalName !== "string"){const err19 = {instancePath:instancePath+"/legalName",schemaPath:"#/properties/legalName/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.inLanguage !== undefined){if(typeof data.inLanguage !== "string"){const err20 = {instancePath:instancePath+"/inLanguage",schemaPath:"#/properties/inLanguage/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}}if(data.url !== undefined){let data7 = data.url;if(typeof data7 === "string"){if(!(formats0(data7))){const err21 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err21];}else {vErrors.push(err21);}errors++;}}else {const err22 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err22];}else {vErrors.push(err22);}errors++;}}if(data.description !== undefined){if(typeof data.description !== "string"){const err23 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err23];}else {vErrors.push(err23);}errors++;}}if(data.slogan !== undefined){if(typeof data.slogan !== "string"){const err24 = {instancePath:instancePath+"/slogan",schemaPath:"#/properties/slogan/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err24];}else {vErrors.push(err24);}errors++;}}if(data.logo !== undefined){let data10 = data.logo;const _errs30 = errors;let valid5 = false;let passing2 = null;const _errs31 = errors;if(typeof data10 === "string"){if(!(formats0(data10))){const err25 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err25];}else {vErrors.push(err25);}errors++;}}else {const err26 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err26];}else {vErrors.push(err26);}errors++;}var _valid2 = _errs31 === errors;if(_valid2){valid5 = true;passing2 = 0;}const _errs33 = errors;if(!(data10 && typeof data10 == "object" && !Array.isArray(data10))){const err27 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err27];}else {vErrors.push(err27);}errors++;}var _valid2 = _errs33 === errors;if(_valid2 && valid5){valid5 = false;passing2 = [passing2, 1];}else {if(_valid2){valid5 = true;passing2 = 1;}}if(!valid5){const err28 = {instancePath:instancePath+"/logo",schemaPath:"#/properties/logo/oneOf",keyword:"oneOf",params:{passingSchemas: passing2},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err28];}else {vErrors.push(err28);}errors++;}else {errors = _errs30;if(vErrors !== null){if(_errs30){vErrors.length = _errs30;}else {vErrors = null;}}}}if(data.iso6523Code !== undefined){if(typeof data.iso6523Code !== "string"){const err29 = {instancePath:instancePath+"/iso6523Code",schemaPath:"#/properties/iso6523Code/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err29];}else {vErrors.push(err29);}errors++;}}if(data.identifier !== undefined){let data12 = data.identifier;const _errs38 = errors;let valid6 = false;let passing3 = null;const _errs39 = errors;if(typeof data12 !== "string"){const err30 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err30];}else {vErrors.push(err30);}errors++;}var _valid3 = _errs39 === errors;if(_valid3){valid6 = true;passing3 = 0;}const _errs41 = errors;if(!(data12 && typeof data12 == "object" && !Array.isArray(data12))){const err31 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err31];}else {vErrors.push(err31);}errors++;}var _valid3 = _errs41 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 1];}else {if(_valid3){valid6 = true;passing3 = 1;}const _errs43 = errors;if(Array.isArray(data12)){const len1 = data12.length;for(let i1=0; i1<len1; i1++){let data13 = data12[i1];const _errs46 = errors;let valid9 = false;let passing4 = null;const _errs47 = errors;if(typeof data13 !== "string"){const err32 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err32];}else {vErrors.push(err32);}errors++;}var _valid4 = _errs47 === errors;if(_valid4){valid9 = true;passing4 = 0;}const _errs49 = errors;if(!(data13 && typeof data13 == "object" && !Array.isArray(data13))){const err33 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err33];}else {vErrors.push(err33);}errors++;}var _valid4 = _errs49 === errors;if(_valid4 && valid9){valid9 = false;passing4 = [passing4, 1];}else {if(_valid4){valid9 = true;passing4 = 1;}}if(!valid9){const err34 = {instancePath:instancePath+"/identifier/" + i1,schemaPath:"#/properties/identifier/oneOf/2/items/oneOf",keyword:"oneOf",params:{passingSchemas: passing4},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err34];}else {vErrors.push(err34);}errors++;}else {errors = _errs46;if(vErrors !== null){if(_errs46){vErrors.length = _errs46;}else {vErrors = null;}}}}}else {const err35 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err35];}else {vErrors.push(err35);}errors++;}var _valid3 = _errs43 === errors;if(_valid3 && valid6){valid6 = false;passing3 = [passing3, 2];}else {if(_valid3){valid6 = true;passing3 = 2;}}}if(!valid6){const err36 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/oneOf",keyword:"oneOf",params:{passingSchemas: passing3},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err36];}else {vErrors.push(err36);}errors++;}else {errors = _errs38;if(vErrors !== null){if(_errs38){vErrors.length = _errs38;}else {vErrors = null;}}}}if(data.sameAs !== undefined){let data14 = data.sameAs;const _errs52 = errors;let valid10 = false;let passing5 = null;const _errs53 = errors;if(typeof data14 === "string"){if(!(formats0(data14))){const err37 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err37];}else {vErrors.push(err37);}errors++;}}else {const err38 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err38];}else {vErrors.push(err38);}errors++;}var _valid5 = _errs53 === errors;if(_valid5){valid10 = true;passing5 = 0;}const _errs55 = errors;if(Array.isArray(data14)){const len2 = data14.length;for(let i2=0; i2<len2; i2++){let data15 = data14[i2];if(typeof data15 === "string"){if(!(formats0(data15))){const err39 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err39];}else {vErrors.push(err39);}errors++;}}else {const err40 = {instancePath:instancePath+"/sameAs/" + i2,schemaPath:"#/properties/sameAs/oneOf/1/items/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+"/sameAs",schemaPath:"#/properties/sameAs/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err41];}else {vErrors.push(err41);}errors++;}var _valid5 = _errs55 === errors;if(_valid5 && valid10){valid10 = false;passing5 = [passing5, 1];}else {if(_valid5){valid10 = true;passing5 = 1;}}if(!valid10){const err42 = {instancePath:instancePath+"/sameAs",schemaPath:"#/properties/sameAs/oneOf",keyword:"oneOf",params:{passingSchemas: passing5},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err42];}else {vErrors.push(err42);}errors++;}else {errors = _errs52;if(vErrors !== null){if(_errs52){vErrors.length = _errs52;}else {vErrors = null;}}}}if(data.email !== undefined){let data16 = data.email;if(typeof data16 === "string"){if(!(formats50.test(data16))){const err43 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format: "email"},message:"must match format \""+"email"+"\""};if(vErrors === null){vErrors = [err43];}else {vErrors.push(err43);}errors++;}}else {const err44 = {instancePath:instancePath+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err44];}else {vErrors.push(err44);}errors++;}}if(data.address !== undefined){let data17 = data.address;if(!(data17 && typeof data17 == "object" && !Array.isArray(data17))){const err45 = {instancePath:instancePath+"/address",schemaPath:"#/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err45];}else {vErrors.push(err45);}errors++;}}if(data.contactPoint !== undefined){let data18 = data.contactPoint;const _errs64 = errors;let valid13 = false;let passing6 = null;const _errs65 = errors;if(!(data18 && typeof data18 == "object" && !Array.isArray(data18))){const err46 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err46];}else {vErrors.push(err46);}errors++;}var _valid6 = _errs65 === errors;if(_valid6){valid13 = true;passing6 = 0;}const _errs67 = errors;if(Array.isArray(data18)){const len3 = data18.length;for(let i3=0; i3<len3; i3++){let data19 = data18[i3];if(!(data19 && typeof data19 == "object" && !Array.isArray(data19))){const err47 = {instancePath:instancePath+"/contactPoint/" + i3,schemaPath:"#/properties/contactPoint/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err47];}else {vErrors.push(err47);}errors++;}}}else {const err48 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err48];}else {vErrors.push(err48);}errors++;}var _valid6 = _errs67 === errors;if(_valid6 && valid13){valid13 = false;passing6 = [passing6, 1];}else {if(_valid6){valid13 = true;passing6 = 1;}}if(!valid13){const err49 = {instancePath:instancePath+"/contactPoint",schemaPath:"#/properties/contactPoint/oneOf",keyword:"oneOf",params:{passingSchemas: passing6},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err49];}else {vErrors.push(err49);}errors++;}else {errors = _errs64;if(vErrors !== null){if(_errs64){vErrors.length = _errs64;}else {vErrors = null;}}}}if(data.foundingDate !== undefined){if(typeof data.foundingDate !== "string"){const err50 = {instancePath:instancePath+"/foundingDate",schemaPath:"#/properties/foundingDate/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err50];}else {vErrors.push(err50);}errors++;}}if(data.numberOfEmployees !== undefined){let data21 = data.numberOfEmployees;if(!(data21 && typeof data21 == "object" && !Array.isArray(data21))){const err51 = {instancePath:instancePath+"/numberOfEmployees",schemaPath:"#/properties/numberOfEmployees/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err51];}else {vErrors.push(err51);}errors++;}}if(data.parentOrganization !== undefined){let data22 = data.parentOrganization;if(!(data22 && typeof data22 == "object" && !Array.isArray(data22))){const err52 = {instancePath:instancePath+"/parentOrganization",schemaPath:"#/properties/parentOrganization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err52];}else {vErrors.push(err52);}errors++;}}if(data.subOrganization !== undefined){let data23 = data.subOrganization;const _errs78 = errors;let valid16 = false;let passing7 = null;const _errs79 = errors;if(!(data23 && typeof data23 == "object" && !Array.isArray(data23))){const err53 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err53];}else {vErrors.push(err53);}errors++;}var _valid7 = _errs79 === errors;if(_valid7){valid16 = true;passing7 = 0;}const _errs81 = errors;if(Array.isArray(data23)){const len4 = data23.length;for(let i4=0; i4<len4; i4++){let data24 = data23[i4];if(!(data24 && typeof data24 == "object" && !Array.isArray(data24))){const err54 = {instancePath:instancePath+"/subOrganization/" + i4,schemaPath:"#/properties/subOrganization/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err54];}else {vErrors.push(err54);}errors++;}}}else {const err55 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err55];}else {vErrors.push(err55);}errors++;}var _valid7 = _errs81 === errors;if(_valid7 && valid16){valid16 = false;passing7 = [passing7, 1];}else {if(_valid7){valid16 = true;passing7 = 1;}}if(!valid16){const err56 = {instancePath:instancePath+"/subOrganization",schemaPath:"#/properties/subOrganization/oneOf",keyword:"oneOf",params:{passingSchemas: passing7},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err56];}else {vErrors.push(err56);}errors++;}else {errors = _errs78;if(vErrors !== null){if(_errs78){vErrors.length = _errs78;}else {vErrors = null;}}}}if(data.location !== undefined){let data25 = data.location;const _errs86 = errors;let valid19 = false;let passing8 = null;const _errs87 = errors;if(!(data25 && typeof data25 == "object" && !Array.isArray(data25))){const err57 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err57];}else {vErrors.push(err57);}errors++;}var _valid8 = _errs87 === errors;if(_valid8){valid19 = true;passing8 = 0;}const _errs89 = errors;if(Array.isArray(data25)){const len5 = data25.length;for(let i5=0; i5<len5; i5++){let data26 = data25[i5];if(!(data26 && typeof data26 == "object" && !Array.isArray(data26))){const err58 = {instancePath:instancePath+"/location/" + i5,schemaPath:"#/properties/location/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err58];}else {vErrors.push(err58);}errors++;}}}else {const err59 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err59];}else {vErrors.push(err59);}errors++;}var _valid8 = _errs89 === errors;if(_valid8 && valid19){valid19 = false;passing8 = [passing8, 1];}else {if(_valid8){valid19 = true;passing8 = 1;}}if(!valid19){const err60 = {instancePath:instancePath+"/location",schemaPath:"#/properties/location/oneOf",keyword:"oneOf",params:{passingSchemas: passing8},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err60];}else {vErrors.push(err60);}errors++;}else {errors = _errs86;if(vErrors !== null){if(_errs86){vErrors.length = _errs86;}else {vErrors = null;}}}}if(data.brand !== undefined){let data27 = data.brand;if(!(data27 && typeof data27 == "object" && !Array.isArray(data27))){const err61 = {instancePath:instancePath+"/brand",schemaPath:"#/properties/brand/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err61];}else {vErrors.push(err61);}errors++;}}if(data.aggregateRating !== undefined){let data28 = data.aggregateRating;if(!(data28 && typeof data28 == "object" && !Array.isArray(data28))){const err62 = {instancePath:instancePath+"/aggregateRating",schemaPath:"#/properties/aggregateRating/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err62];}else {vErrors.push(err62);}errors++;}}if(data.hasCertification !== undefined){let data29 = data.hasCertification;if(Array.isArray(data29)){const len6 = data29.length;for(let i6=0; i6<len6; i6++){let data30 = data29[i6];if(data30 && typeof data30 == "object" && !Array.isArray(data30)){if(data30["@type"] === undefined){const err63 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err63];}else {vErrors.push(err63);}errors++;}if(data30.name === undefined){const err64 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err64];}else {vErrors.push(err64);}errors++;}if(data30["@type"] !== undefined){if("Certification" !== data30["@type"]){const err65 = {instancePath:instancePath+"/hasCertification/" + i6+"/@type",schemaPath:"#/$defs/certification/properties/%40type/const",keyword:"const",params:{allowedValue: "Certification"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err65];}else {vErrors.push(err65);}errors++;}}if(data30.name !== undefined){if(typeof data30.name !== "string"){const err66 = {instancePath:instancePath+"/hasCertification/" + i6+"/name",schemaPath:"#/$defs/certification/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err66];}else {vErrors.push(err66);}errors++;}}if(data30.issuedBy !== undefined){let data33 = data30.issuedBy;if(!(data33 && typeof data33 == "object" && !Array.isArray(data33))){const err67 = {instancePath:instancePath+"/hasCertification/" + i6+"/issuedBy",schemaPath:"#/$defs/certification/properties/issuedBy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err67];}else {vErrors.push(err67);}errors++;}}if(data30.about !== undefined){if(typeof data30.about !== "string"){const err68 = {instancePath:instancePath+"/hasCertification/" + i6+"/about",schemaPath:"#/$defs/certification/properties/about/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err68];}else {vErrors.push(err68);}errors++;}}if(data30.additionalProperty !== undefined){if(!(Array.isArray(data30.additionalProperty))){const err69 = {instancePath:instancePath+"/hasCertification/" + i6+"/additionalProperty",schemaPath:"#/$defs/certification/properties/additionalProperty/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err69];}else {vErrors.push(err69);}errors++;}}}else {const err70 = {instancePath:instancePath+"/hasCertification/" + i6,schemaPath:"#/$defs/certification/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err70];}else {vErrors.push(err70);}errors++;}}}else {const err71 = {instancePath:instancePath+"/hasCertification",schemaPath:"#/properties/hasCertification/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err71];}else {vErrors.push(err71);}errors++;}}if(data.hasMerchantReturnPolicy !== undefined){let data36 = data.hasMerchantReturnPolicy;if(!(data36 && typeof data36 == "object" && !Array.isArray(data36))){const err72 = {instancePath:instancePath+"/hasMerchantReturnPolicy",schemaPath:"#/properties/hasMerchantReturnPolicy/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err72];}else {vErrors.push(err72);}errors++;}}if(data.paymentAccepted !== undefined){let data37 = data.paymentAccepted;const _errs115 = errors;let valid26 = false;let passing9 = null;const _errs116 = errors;if(typeof data37 !== "string"){const err73 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err73];}else {vErrors.push(err73);}errors++;}var _valid9 = _errs116 === errors;if(_valid9){valid26 = true;passing9 = 0;}const _errs118 = errors;if(Array.isArray(data37)){const len7 = data37.length;for(let i7=0; i7<len7; i7++){if(typeof data37[i7] !== "string"){const err74 = {instancePath:instancePath+"/paymentAccepted/" + i7,schemaPath:"#/properties/paymentAccepted/oneOf/1/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err74];}else {vErrors.push(err74);}errors++;}}}else {const err75 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err75];}else {vErrors.push(err75);}errors++;}var _valid9 = _errs118 === errors;if(_valid9 && valid26){valid26 = false;passing9 = [passing9, 1];}else {if(_valid9){valid26 = true;passing9 = 1;}}if(!valid26){const err76 = {instancePath:instancePath+"/paymentAccepted",schemaPath:"#/properties/paymentAccepted/oneOf",keyword:"oneOf",params:{passingSchemas: passing9},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err76];}else {vErrors.push(err76);}errors++;}else {errors = _errs115;if(vErrors !== null){if(_errs115){vErrors.length = _errs115;}else {vErrors = null;}}}}if(data["pagefront:commerceRole"] !== undefined){let data39 = data["pagefront:commerceRole"];if(Array.isArray(data39)){if(data39.length < 1){const err77 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err77];}else {vErrors.push(err77);}errors++;}const len8 = data39.length;for(let i8=0; i8<len8; i8++){let data40 = data39[i8];if(typeof data40 !== "string"){const err78 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err78];}else {vErrors.push(err78);}errors++;}if(!(((data40 === "brand_owner") || (data40 === "manufacturer")) || (data40 === "seller"))){const err79 = {instancePath:instancePath+"/pagefront:commerceRole/" + i8,schemaPath:"#/properties/pagefront%3AcommerceRole/items/enum",keyword:"enum",params:{allowedValues: schema76.properties["pagefront:commerceRole"].items.enum},message:"must be equal to one of the allowed values"};if(vErrors === null){vErrors = [err79];}else {vErrors.push(err79);}errors++;}}}else {const err80 = {instancePath:instancePath+"/pagefront:commerceRole",schemaPath:"#/properties/pagefront%3AcommerceRole/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err80];}else {vErrors.push(err80);}errors++;}}if(data["pagefront:fulfillmentTerms"] !== undefined){let data41 = data["pagefront:fulfillmentTerms"];if(Array.isArray(data41)){const len9 = data41.length;for(let i9=0; i9<len9; i9++){let data42 = data41[i9];if(data42 && typeof data42 == "object" && !Array.isArray(data42)){if(data42["@type"] === undefined){const err81 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/required",keyword:"required",params:{missingProperty: "@type"},message:"must have required property '"+"@type"+"'"};if(vErrors === null){vErrors = [err81];}else {vErrors.push(err81);}errors++;}if(data42["@type"] !== undefined){if("OfferShippingDetails" !== data42["@type"]){const err82 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9+"/@type",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/properties/%40type/const",keyword:"const",params:{allowedValue: "OfferShippingDetails"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err82];}else {vErrors.push(err82);}errors++;}}}else {const err83 = {instancePath:instancePath+"/pagefront:fulfillmentTerms/" + i9,schemaPath:"#/properties/pagefront%3AfulfillmentTerms/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err83];}else {vErrors.push(err83);}errors++;}}}else {const err84 = {instancePath:instancePath+"/pagefront:fulfillmentTerms",schemaPath:"#/properties/pagefront%3AfulfillmentTerms/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err84];}else {vErrors.push(err84);}errors++;}}if(data["pagefront:socialAccount"] !== undefined){let data44 = data["pagefront:socialAccount"];if(Array.isArray(data44)){const len10 = data44.length;for(let i10=0; i10<len10; i10++){let data45 = data44[i10];if(data45 && typeof data45 == "object" && !Array.isArray(data45)){if(data45.platform === undefined){const err85 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "platform"},message:"must have required property '"+"platform"+"'"};if(vErrors === null){vErrors = [err85];}else {vErrors.push(err85);}errors++;}if(data45.url === undefined){const err86 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err86];}else {vErrors.push(err86);}errors++;}if(data45["@type"] !== undefined){if("pagefront:SocialAccount" !== data45["@type"]){const err87 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/@type",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:SocialAccount"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err87];}else {vErrors.push(err87);}errors++;}}if(data45.platform !== undefined){let data47 = data45.platform;if(typeof data47 === "string"){if(func1(data47) < 1){const err88 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err88];}else {vErrors.push(err88);}errors++;}}else {const err89 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/platform",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/platform/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err89];}else {vErrors.push(err89);}errors++;}}if(data45.url !== undefined){let data48 = data45.url;if(typeof data48 === "string"){if(!(formats0(data48))){const err90 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err90];}else {vErrors.push(err90);}errors++;}}else {const err91 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/url",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err91];}else {vErrors.push(err91);}errors++;}}if(data45.handle !== undefined){let data49 = data45.handle;if(typeof data49 === "string"){if(func1(data49) < 1){const err92 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err92];}else {vErrors.push(err92);}errors++;}}else {const err93 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10+"/handle",schemaPath:"#/properties/pagefront%3AsocialAccount/items/properties/handle/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err93];}else {vErrors.push(err93);}errors++;}}}else {const err94 = {instancePath:instancePath+"/pagefront:socialAccount/" + i10,schemaPath:"#/properties/pagefront%3AsocialAccount/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err94];}else {vErrors.push(err94);}errors++;}}}else {const err95 = {instancePath:instancePath+"/pagefront:socialAccount",schemaPath:"#/properties/pagefront%3AsocialAccount/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err95];}else {vErrors.push(err95);}errors++;}}if(data["pagefront:authorizedResellers"] !== undefined){let data50 = data["pagefront:authorizedResellers"];if(data50 && typeof data50 == "object" && !Array.isArray(data50)){if(data50.reseller === undefined){const err96 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/required",keyword:"required",params:{missingProperty: "reseller"},message:"must have required property '"+"reseller"+"'"};if(vErrors === null){vErrors = [err96];}else {vErrors.push(err96);}errors++;}for(const key0 in data50){if(!(((key0 === "@type") || (key0 === "exhaustive")) || (key0 === "reseller"))){const err97 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err97];}else {vErrors.push(err97);}errors++;}}if(data50["@type"] !== undefined){if("pagefront:AuthorizedResellers" !== data50["@type"]){const err98 = {instancePath:instancePath+"/pagefront:authorizedResellers/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/%40type/const",keyword:"const",params:{allowedValue: "pagefront:AuthorizedResellers"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err98];}else {vErrors.push(err98);}errors++;}}if(data50.exhaustive !== undefined){if(typeof data50.exhaustive !== "boolean"){const err99 = {instancePath:instancePath+"/pagefront:authorizedResellers/exhaustive",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/exhaustive/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err99];}else {vErrors.push(err99);}errors++;}}if(data50.reseller !== undefined){let data53 = data50.reseller;if(Array.isArray(data53)){if(data53.length < 1){const err100 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err100];}else {vErrors.push(err100);}errors++;}const len11 = data53.length;for(let i11=0; i11<len11; i11++){let data54 = data53[i11];if(data54 && typeof data54 == "object" && !Array.isArray(data54)){if(data54.organization === undefined){const err101 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/required",keyword:"required",params:{missingProperty: "organization"},message:"must have required property '"+"organization"+"'"};if(vErrors === null){vErrors = [err101];}else {vErrors.push(err101);}errors++;}for(const key1 in data54){if(!((key1 === "organization") || (key1 === "areaServed"))){const err102 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err102];}else {vErrors.push(err102);}errors++;}}if(data54.organization !== undefined){let data55 = data54.organization;const _errs157 = errors;let valid41 = false;const _errs158 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@id"] === undefined){const err103 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/0/required",keyword:"required",params:{missingProperty: "@id"},message:"must have required property '"+"@id"+"'"};if(vErrors === null){vErrors = [err103];}else {vErrors.push(err103);}errors++;}}var _valid10 = _errs158 === errors;valid41 = valid41 || _valid10;const _errs159 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err104 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err104];}else {vErrors.push(err104);}errors++;}if(data55.url === undefined){const err105 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/1/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err105];}else {vErrors.push(err105);}errors++;}}var _valid10 = _errs159 === errors;valid41 = valid41 || _valid10;const _errs160 = errors;if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55.name === undefined){const err106 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "name"},message:"must have required property '"+"name"+"'"};if(vErrors === null){vErrors = [err106];}else {vErrors.push(err106);}errors++;}if(data55.address === undefined){const err107 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf/2/required",keyword:"required",params:{missingProperty: "address"},message:"must have required property '"+"address"+"'"};if(vErrors === null){vErrors = [err107];}else {vErrors.push(err107);}errors++;}}var _valid10 = _errs160 === errors;valid41 = valid41 || _valid10;if(!valid41){const err108 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err108];}else {vErrors.push(err108);}errors++;}else {errors = _errs157;if(vErrors !== null){if(_errs157){vErrors.length = _errs157;}else {vErrors = null;}}}if(data55 && typeof data55 == "object" && !Array.isArray(data55)){if(data55["@type"] !== undefined){if(typeof data55["@type"] !== "string"){const err109 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@type",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err109];}else {vErrors.push(err109);}errors++;}}if(data55["@id"] !== undefined){let data57 = data55["@id"];if(typeof data57 === "string"){if(!(formats0(data57))){const err110 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err110];}else {vErrors.push(err110);}errors++;}}else {const err111 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/@id",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err111];}else {vErrors.push(err111);}errors++;}}if(data55.name !== undefined){let data58 = data55.name;if(typeof data58 === "string"){if(func1(data58) < 1){const err112 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/minLength",keyword:"minLength",params:{limit: 1},message:"must NOT have fewer than 1 characters"};if(vErrors === null){vErrors = [err112];}else {vErrors.push(err112);}errors++;}}else {const err113 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/name",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/name/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err113];}else {vErrors.push(err113);}errors++;}}if(data55.url !== undefined){let data59 = data55.url;if(typeof data59 === "string"){if(!(formats0(data59))){const err114 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err114];}else {vErrors.push(err114);}errors++;}}else {const err115 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/url",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err115];}else {vErrors.push(err115);}errors++;}}if(data55.address !== undefined){let data60 = data55.address;if(!(data60 && typeof data60 == "object" && !Array.isArray(data60))){const err116 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization/address",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/properties/address/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err116];}else {vErrors.push(err116);}errors++;}}}else {const err117 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/organization",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/organization/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err117];}else {vErrors.push(err117);}errors++;}}if(data54.areaServed !== undefined){let data61 = data54.areaServed;const _errs173 = errors;let valid43 = false;let passing10 = null;const _errs174 = errors;if(!(data61 && typeof data61 == "object" && !Array.isArray(data61))){const err118 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/0/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err118];}else {vErrors.push(err118);}errors++;}var _valid11 = _errs174 === errors;if(_valid11){valid43 = true;passing10 = 0;}const _errs176 = errors;if(Array.isArray(data61)){if(data61.length < 1){const err119 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/minItems",keyword:"minItems",params:{limit: 1},message:"must NOT have fewer than 1 items"};if(vErrors === null){vErrors = [err119];}else {vErrors.push(err119);}errors++;}const len12 = data61.length;for(let i12=0; i12<len12; i12++){let data62 = data61[i12];if(!(data62 && typeof data62 == "object" && !Array.isArray(data62))){const err120 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed/" + i12,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err120];}else {vErrors.push(err120);}errors++;}}}else {const err121 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf/1/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err121];}else {vErrors.push(err121);}errors++;}var _valid11 = _errs176 === errors;if(_valid11 && valid43){valid43 = false;passing10 = [passing10, 1];}else {if(_valid11){valid43 = true;passing10 = 1;}}if(!valid43){const err122 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11+"/areaServed",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/properties/areaServed/oneOf",keyword:"oneOf",params:{passingSchemas: passing10},message:"must match exactly one schema in oneOf"};if(vErrors === null){vErrors = [err122];}else {vErrors.push(err122);}errors++;}else {errors = _errs173;if(vErrors !== null){if(_errs173){vErrors.length = _errs173;}else {vErrors = null;}}}}}else {const err123 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller/" + i11,schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err123];}else {vErrors.push(err123);}errors++;}}}else {const err124 = {instancePath:instancePath+"/pagefront:authorizedResellers/reseller",schemaPath:"#/properties/pagefront%3AauthorizedResellers/properties/reseller/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err124];}else {vErrors.push(err124);}errors++;}}}else {const err125 = {instancePath:instancePath+"/pagefront:authorizedResellers",schemaPath:"#/properties/pagefront%3AauthorizedResellers/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err125];}else {vErrors.push(err125);}errors++;}}if(data["pagefront:availableLanguages"] !== undefined){let data63 = data["pagefront:availableLanguages"];if(Array.isArray(data63)){const len13 = data63.length;for(let i13=0; i13<len13; i13++){let data64 = data63[i13];if(data64 && typeof data64 == "object" && !Array.isArray(data64)){if(data64.lang === undefined){const err126 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "lang"},message:"must have required property '"+"lang"+"'"};if(vErrors === null){vErrors = [err126];}else {vErrors.push(err126);}errors++;}if(data64.url === undefined){const err127 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};if(vErrors === null){vErrors = [err127];}else {vErrors.push(err127);}errors++;}for(const key2 in data64){if(!((key2 === "lang") || (key2 === "url"))){const err128 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err128];}else {vErrors.push(err128);}errors++;}}if(data64.lang !== undefined){if(typeof data64.lang !== "string"){const err129 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/lang",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/lang/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err129];}else {vErrors.push(err129);}errors++;}}if(data64.url !== undefined){let data66 = data64.url;if(typeof data66 === "string"){if(!(formats0(data66))){const err130 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err130];}else {vErrors.push(err130);}errors++;}}else {const err131 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13+"/url",schemaPath:"#/properties/pagefront%3AavailableLanguages/items/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err131];}else {vErrors.push(err131);}errors++;}}}else {const err132 = {instancePath:instancePath+"/pagefront:availableLanguages/" + i13,schemaPath:"#/properties/pagefront%3AavailableLanguages/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err132];}else {vErrors.push(err132);}errors++;}}}else {const err133 = {instancePath:instancePath+"/pagefront:availableLanguages",schemaPath:"#/properties/pagefront%3AavailableLanguages/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err133];}else {vErrors.push(err133);}errors++;}}}else {const err134 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err134];}else {vErrors.push(err134);}errors++;}validate43.errors = vErrors;return errors === 0;}validate43.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};function validate42(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}){/*# sourceURL="https://themachineweb.org/pagefront/spec/commerce/organization/v0.9.json" */;let vErrors = null;let errors = 0;const evaluated0 = validate42.evaluated;if(evaluated0.dynamicProps){evaluated0.props = undefined;}if(evaluated0.dynamicItems){evaluated0.items = undefined;}if(data && typeof data == "object" && !Array.isArray(data)){if(data.format_version === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "format_version"},message:"must have required property '"+"format_version"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.schema_org_version === undefined){const err1 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "schema_org_version"},message:"must have required property '"+"schema_org_version"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.canonical_url === undefined){const err2 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "canonical_url"},message:"must have required property '"+"canonical_url"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.sheet_url === undefined){const err3 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "sheet_url"},message:"must have required property '"+"sheet_url"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.generated_at === undefined){const err4 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "generated_at"},message:"must have required property '"+"generated_at"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data === undefined){const err5 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}for(const key0 in data){if(!((((((((key0 === "$schema") || (key0 === "format_version")) || (key0 === "schema_org_version")) || (key0 === "canonical_url")) || (key0 === "sheet_url")) || (key0 === "generated_at")) || (key0 === "expires_at")) || (key0 === "data"))){const err6 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.$schema !== undefined){let data0 = data.$schema;if(typeof data0 === "string"){if(!(formats0(data0))){const err7 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}else {const err8 = {instancePath:instancePath+"/$schema",schemaPath:"#/properties/%24schema/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.format_version !== undefined){if("0.9" !== data.format_version){const err9 = {instancePath:instancePath+"/format_version",schemaPath:"#/properties/format_version/const",keyword:"const",params:{allowedValue: "0.9"},message:"must be equal to constant"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.schema_org_version !== undefined){let data2 = data.schema_org_version;if(typeof data2 === "string"){if(!pattern4.test(data2)){const err10 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/pattern",keyword:"pattern",params:{pattern: "^\\d+(\\.\\d+)?$"},message:"must match pattern \""+"^\\d+(\\.\\d+)?$"+"\""};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}else {const err11 = {instancePath:instancePath+"/schema_org_version",schemaPath:"#/properties/schema_org_version/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.canonical_url !== undefined){let data3 = data.canonical_url;if(typeof data3 === "string"){if(!(formats0(data3))){const err12 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}else {const err13 = {instancePath:instancePath+"/canonical_url",schemaPath:"#/properties/canonical_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.sheet_url !== undefined){let data4 = data.sheet_url;if(typeof data4 === "string"){if(!(formats0(data4))){const err14 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}else {const err15 = {instancePath:instancePath+"/sheet_url",schemaPath:"#/properties/sheet_url/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}if(data.generated_at !== undefined){let data5 = data.generated_at;if(typeof data5 === "string"){if(!(formats6.validate(data5))){const err16 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}else {const err17 = {instancePath:instancePath+"/generated_at",schemaPath:"#/properties/generated_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}if(data.expires_at !== undefined){let data6 = data.expires_at;if(typeof data6 === "string"){if(!(formats6.validate(data6))){const err18 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}}else {const err19 = {instancePath:instancePath+"/expires_at",schemaPath:"#/properties/expires_at/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err19];}else {vErrors.push(err19);}errors++;}}if(data.data !== undefined){if(!(validate43(data.data, {instancePath:instancePath+"/data",parentData:data,parentDataProperty:"data",rootData,dynamicAnchors}))){vErrors = vErrors === null ? validate43.errors : vErrors.concat(validate43.errors);errors = vErrors.length;}}}else {const err20 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err20];}else {vErrors.push(err20);}errors++;}validate42.errors = vErrors;return errors === 0;}validate42.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|