[{"data":1,"prerenderedAt":1845},["ShallowReactive",2],{"navigation-docsDE":3,"navigation-blogDE":484,"docs-DE-\u002Fde\u002Fdocs\u002Fdigital-product-passport\u002Fmulti-component-example":485,"docsNav-DE-\u002Fdocs":1196,"docsSecNav-DE-\u002Fde\u002Fdocs\u002Fdigital-product-passport\u002Fmulti-component-example":1335},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,22,40,52,73,87,113,127,154,165,180,204,392,468],{"title":10,"path":6,"stem":11,"description":12,"icon":13,"tags":14},"Documentation","docs\u002Findex","Introduction to documentation on EPCIS and OpenEPCIS tools","heroicons-outline:document-text",[15,16,17,18,19,20,21],"openepcis","epcis-2-0","epcis-documentation","epcis-standard","open-core","open-source","epcis-tools",{"title":23,"path":24,"stem":25,"children":26,"description":28,"icon":29,"tags":39},"Introduction","\u002Fdocs\u002Fintroduction","docs\u002F01.introduction\u002Findex",[27],{"title":23,"path":24,"stem":25,"description":28,"icon":29,"tags":30},"Why EPCIS is necessary and how it can help organizations of all sizes and types.","heroicons-outline:globe-alt",[16,31,32,33,34,35,36,37,38],"epcis","epcis-1-2","gs1-epcis-standard","supply-chain","traceability","data-sharing","tracking","tracing",[16,31,32,33,34,35,36,37,38],{"title":41,"path":42,"stem":43,"children":44,"description":46,"icon":47,"tags":51},"EPCIS","\u002Fdocs\u002Fepcis","docs\u002F02.epcis\u002Findex",[45],{"title":41,"path":42,"stem":43,"description":46,"icon":47,"tags":48},"Discover the specifics of EPCIS, how it works, and what OpenEPCIS is.","i-custom-open-epcis",[16,31,32,33,49,50],"iso-iec-19987","iso-iec-19988",[16,31,32,33,49,50],{"title":53,"path":54,"stem":55,"children":56,"description":58,"icon":59,"tags":72},"Format Converter","\u002Fdocs\u002Fformat-converter","docs\u002F03.format-converter\u002Findex",[57],{"title":53,"path":54,"stem":55,"description":58,"icon":59,"tags":60},"OpenEPCIS solution to convert EPCIS 2.0 and 1.2 document or single event from XML to JSON\u002FJSON-LD and vice versa.","heroicons-outline:arrows-right-left",[16,61,62,63,64,65,66,21,67,68,69,70,71],"json","json-ld","xml","events","format-converter","convert","convert-epcis-events","format","converter","epcis-tool","tools",[16,61,62,63,64,65,66,21,67,68,69,70,71],{"title":74,"path":75,"stem":76,"children":77,"description":79,"icon":80,"tags":86},"Version Converter","\u002Fdocs\u002Fversion-converter","docs\u002F04.version-converter\u002Findex",[78],{"title":74,"path":75,"stem":76,"description":79,"icon":80,"tags":81},"OpenEPCIS solution to convert EPCIS XML document from version 1.2 to 2.0 and vice versa.","heroicons:arrows-up-down",[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],"version-converter","convert-epcis-version","version","epcis-version",[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],{"title":88,"path":89,"stem":90,"children":91,"description":93,"icon":94,"tags":112},"Identifier Converter","\u002Fdocs\u002Fidentifier-converter","docs\u002F05.identifier-converter\u002Findex",[92],{"title":88,"path":89,"stem":90,"description":93,"icon":94,"tags":95},"OpenEPCIS solution to convert EPCIS instance or class identifier from URN to digital link WebURI and vice versa.","i-heroicons-link",[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],"gs1-digital-link","urn-format","epc-uri","epc","weburi","gs1-standard","gs1","sscc","gtin","giai","grai","gdti","lgtin","sgtin","gln","gcp",[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],{"title":114,"path":115,"stem":116,"children":117,"description":119,"icon":120,"tags":126},"Event Hash Generator","\u002Fdocs\u002Fevent-hash-generator","docs\u002F06.event-hash-generator\u002Findex",[118],{"title":114,"path":115,"stem":116,"description":119,"icon":120,"tags":121},"OpenEPCIS solution to generate unique event hash for EPCIS XML or JSON\u002FJSON-LD document or event list.","heroicons-outline:finger-print",[16,122,61,62,63,64,21,123,124,125,70,71],"event-hash","event","hash","generator",[16,122,61,62,63,64,21,123,124,125,70,71],{"title":128,"path":129,"stem":130,"children":131,"description":133,"icon":134,"tags":153},"Test Data Generator","\u002Fdocs\u002Ftest-data-generator","docs\u002F07.test-data-generator\u002Findex",[132,136],{"title":128,"path":129,"stem":130,"description":133,"icon":134,"tags":135},"OpenEPCIS solution to generate a large set of EPCIS test data events for all use cases\u002Fsupply chain requirements.","heroicons-outline:cog",[16,122,61,62,63,64,21,123,124,125,70,71],{"title":137,"path":138,"stem":139,"children":140,"description":133,"icon":142,"tags":152},"EPCIS Implementation Guidelines","\u002Fdocs\u002Ftest-data-generator\u002Fgs1-epcis-implementation-guidelines","docs\u002F07.test-data-generator\u002F01.gs1-epcis-implementation-guidelines\u002Findex",[141],{"title":137,"path":138,"stem":139,"description":133,"icon":142,"tags":143},"heroicons-outline:badge-check",[16,61,62,144,21,145,146,147,35,148,149,150,151],"testing","test-data-generator","design","design-template","process-automation","compliance","supply-chain-management","load-tests",[16,61,62,144,21,145,146,147,35,148,149,150,151],[16,122,61,62,63,64,21,123,124,125,70,71],{"title":155,"path":156,"stem":157,"children":158,"description":160,"icon":161,"tags":164},"Test Resource Management","\u002Fdocs\u002Ftest-resource-management","docs\u002F08.test-resource-management\u002Findex",[159],{"title":155,"path":156,"stem":157,"description":160,"icon":161,"tags":162},"Collection of EPCIS 1.2\u002F2.0 documents\u002Fevents in XML\u002FJSON\u002FJSON-LD formats, intended for various testing purposes","heroicons-outline:archive-box",[16,61,62,144,21,163,35,148,149,150,151],"performance-tests",[16,61,62,144,21,163,35,148,149,150,151],{"title":166,"path":167,"stem":168,"children":169,"description":171,"icon":172,"tags":179},"Vocabulary Management","\u002Fdocs\u002Fvocabulary-management","docs\u002F09.vocabulary-management\u002Findex",[170],{"title":166,"path":167,"stem":168,"description":171,"icon":172,"tags":173},"Collection of standardized constants and strings for EPCIS event data.","heroicons-outline:book-open",[16,174,15,175,21,176,35,177,149,150,178],"constants","centralization","standardization","vocabulary","data-dictionary",[16,174,15,175,21,176,35,177,149,150,178],{"title":181,"path":182,"stem":183,"children":184,"description":186,"icon":187,"tags":203},"Dependency Management","\u002Fdocs\u002Fdependency-management","docs\u002F10.dependency-management\u002Findex",[185],{"title":181,"path":182,"stem":183,"description":186,"icon":187,"tags":188},"Centralized Maven Bill of Materials (BOM) for all the OpenEPCIS modules.","heroicons-outline:folder",[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],"maven-bom","dependency-management","java-dependencies","pom","software-dependencies","version-control","open-source-java","build-management","modular-software","dependency-resolution","java-libraries","maven-project","centralized-dependencies","dependency-consistency",[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],{"title":205,"path":206,"stem":207,"children":208,"description":210,"icon":211,"tags":391},"Digital Product Passport","\u002Fdocs\u002Fdigital-product-passport","docs\u002F11.digital-product-passport\u002Findex",[209,218,230,262,296,323,337,346,354,364],{"title":205,"path":206,"stem":207,"description":210,"icon":211,"tags":212},"Introduction to Digital Product Passport and how EPCIS enables product traceability for DPP compliance.","heroicons-outline:identification",[213,214,215,31,216,35,217],"digital-product-passport","dpp","eu-regulation","sustainability","circular-economy",{"title":219,"path":220,"stem":221,"children":222,"description":224,"icon":225,"tags":229},"ESPR Framework","\u002Fdocs\u002Fdigital-product-passport\u002Fespr-framework","docs\u002F11.digital-product-passport\u002F00.espr-framework\u002Findex",[223],{"title":219,"path":220,"stem":221,"description":224,"icon":225,"tags":226},"Guide to the EU Ecodesign for Sustainable Products Regulation (ESPR) 2024\u002F1781 and how OpenEPCIS supports Digital Product Passport requirements.","heroicons-outline:shield-check",[227,228,216,214,215],"espr","ecodesign",[227,228,216,214,215],{"title":231,"path":232,"stem":233,"children":234,"description":236,"icon":237,"tags":261},"Battery DPP","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002Findex",[235,241,246,252],{"title":231,"path":232,"stem":233,"description":236,"icon":237,"tags":238},"GS1-native implementation of EU Battery Regulation 2023\u002F1542 Digital Product Passport using EPCIS 2.0","heroicons:battery-100",[239,240,214,31,102,35,216],"battery","eu-battery-regulation",{"title":242,"path":243,"stem":244,"description":245,"icon":172},"Implementation Guide","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002F01.implementation-guide","Step-by-step guide for implementing a GS1-native Battery Digital Product Passport with OpenEPCIS extensions",{"title":247,"path":248,"stem":249,"description":250,"icon":251},"Event Types","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp\u002Fevent-types","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002F02.event-types","Complete reference for all EPCIS event types and sensor measurements in the Battery DPP","heroicons-outline:collection",{"title":253,"path":254,"stem":255,"description":256,"icon":13,"tags":257},"Complete Examples","\u002Fdocs\u002Fdigital-product-passport\u002Fbattery-dpp\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F01.battery-dpp\u002F05.complete-examples","Reference Battery Digital Product Passport examples mapped to EU Battery Regulation 2023\u002F1542 Annex XIII",[239,258,259,62,260],"examples","annex-xiii","carbon-footprint",[239,240,214,31,102,35,216],{"title":263,"path":264,"stem":265,"children":266,"description":268,"icon":269,"tags":295},"EUDR","\u002Fdocs\u002Fdigital-product-passport\u002Feudr","docs\u002F11.digital-product-passport\u002F02.eudr\u002Findex",[267,274,279,283,288],{"title":263,"path":264,"stem":265,"description":268,"icon":269,"tags":270},"GS1-native implementation of EU Deforestation Regulation 2023\u002F1115 compliance using EPCIS 2.0","heroicons-outline:globe-europe-africa",[271,272,273,214,31,102,35,216],"eudr","deforestation","timber",{"title":242,"path":275,"stem":276,"description":277,"icon":278},"\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F02.eudr\u002F01.implementation-guide","Step-by-step guide for implementing EU Deforestation Regulation compliance using GS1 standards",null,{"title":247,"path":280,"stem":281,"description":282,"icon":278},"\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Fevent-types","docs\u002F11.digital-product-passport\u002F02.eudr\u002F02.event-types","EPCIS event types for EU Deforestation Regulation compliance",{"title":284,"path":285,"stem":286,"description":287,"icon":278},"URL Patterns","\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Furl-patterns","docs\u002F11.digital-product-passport\u002F02.eudr\u002F03.url-patterns","GS1 Digital Link URL patterns for EUDR implementations",{"title":253,"path":289,"stem":290,"description":291,"icon":13,"tags":292},"\u002Fdocs\u002Fdigital-product-passport\u002Feudr\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F02.eudr\u002F04.complete-examples","Reference EUDR examples — timber product passport, derived product, regulatory notification, harvesting \u002F origin-declaration \u002F processing \u002F supply-chain-transfer \u002F exemption events",[271,258,273,293,294],"due-diligence","geolocation",[271,272,273,214,31,102,35,216],{"title":297,"path":298,"stem":299,"children":300,"description":302,"icon":303,"tags":322},"Textile DPP","\u002Fdocs\u002Fdigital-product-passport\u002Ftextile","docs\u002F11.digital-product-passport\u002F03.textile\u002Findex",[301,309,316],{"title":297,"path":298,"stem":299,"description":302,"icon":303,"tags":304},"Digital Product Passport vocabulary for textiles and apparel under the EU Sustainable Textiles Strategy and ESPR 2024\u002F1781.","heroicons-outline:sparkles",[305,306,307,214,216,308],"textile","apparel","footwear","fibre-composition",{"title":242,"path":310,"stem":311,"description":312,"icon":313,"tags":314},"\u002Fdocs\u002Fdigital-product-passport\u002Ftextile\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F03.textile\u002F01.implementation-guide","How to assemble a Textile Digital Product Passport against the published openepcis-dpp-ready textile vocabulary","heroicons-outline:scissors",[305,306,307,315],"implementation",{"title":253,"path":317,"stem":318,"description":319,"icon":13,"tags":320},"\u002Fdocs\u002Fdigital-product-passport\u002Ftextile\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F03.textile\u002F02.complete-examples","Reference Textile Digital Product Passport documents covering apparel and footwear",[305,258,306,307,321,62],"fiber-composition",[305,306,307,214,216,308],{"title":324,"path":325,"stem":326,"children":327,"description":329,"icon":59,"tags":336},"Interoperability","\u002Fdocs\u002Fdigital-product-passport\u002Finteroperability","docs\u002F11.digital-product-passport\u002F04.interoperability\u002Findex",[328],{"title":324,"path":325,"stem":326,"description":329,"icon":59,"tags":330},"Guide to OpenEPCIS DPP interoperability with GS1, UNTP, CIRPASS2, and ESPR standards.",[331,332,102,333,227,334,335],"interoperability","untp","cirpass2","standards","alignment",[331,332,102,333,227,334,335],{"title":338,"path":339,"stem":340,"description":341,"icon":29,"tags":342},"DPP Resolution Flow","\u002Fdocs\u002Fdigital-product-passport\u002Fdpp-resolution-flow","docs\u002F11.digital-product-passport\u002F05.dpp-resolution-flow","How OpenEPCIS combined GS1 Digital Link, the IETF linkset format and content negotiation into one DPP resolution flow",[343,96,344,345],"walkthrough","linkset","content-negotiation",{"title":347,"path":348,"stem":349,"description":350,"icon":351,"tags":352},"Resolver Setup","\u002Fdocs\u002Fdigital-product-passport\u002Fresolver-setup","docs\u002F11.digital-product-passport\u002F06.resolver-setup","How to expose your DPP behind a GS1 Digital Link resolver","heroicons-outline:server",[353,96,344],"resolver",{"title":355,"path":356,"stem":357,"description":358,"icon":359,"tags":360},"Multi-Component Example","\u002Fdocs\u002Fdigital-product-passport\u002Fmulti-component-example","docs\u002F11.digital-product-passport\u002F07.multi-component-example","How a composite product references separately-passported components via standard GS1 Digital Link and EPCIS aggregation","heroicons-outline:puzzle-piece",[361,362,363,333],"example","components","aggregation",{"title":365,"path":366,"stem":367,"children":368,"description":370,"icon":371,"tags":390},"Electronics DPP","\u002Fdocs\u002Fdigital-product-passport\u002Felectronics","docs\u002F11.digital-product-passport\u002F08.electronics\u002Findex",[369,378,383],{"title":365,"path":366,"stem":367,"description":370,"icon":371,"tags":372},"Digital Product Passport vocabulary for electronic devices under ESPR, the French Repairability Index, EU Right to Repair and WEEE.","heroicons-outline:device-phone-mobile",[373,374,375,376,377],"electronics","repairability","weee","energy-label","right-to-repair",{"title":242,"path":379,"stem":380,"description":381,"icon":172,"tags":382},"\u002Fdocs\u002Fdigital-product-passport\u002Felectronics\u002Fimplementation-guide","docs\u002F11.digital-product-passport\u002F08.electronics\u002F01.implementation-guide","How to assemble an Electronics Digital Product Passport against the published openepcis-dpp-ready electronics vocabulary",[373,315,374,375,376],{"title":253,"path":384,"stem":385,"description":386,"icon":13,"tags":387},"\u002Fdocs\u002Fdigital-product-passport\u002Felectronics\u002Fcomplete-examples","docs\u002F11.digital-product-passport\u002F08.electronics\u002F02.complete-examples","Reference Electronics Digital Product Passport documents covering smartphone, laptop, display and server",[373,258,388,389,62],"smartphone","laptop",[373,374,375,376,377],[213,214,215,31,216,35,217],{"title":393,"path":394,"stem":395,"children":396,"description":398,"icon":399},"OpenEPCIS Overview","\u002Fdocs\u002Fplatform-overview","docs\u002F14.platform-overview\u002Findex",[397,400,406,412,418],{"title":393,"path":394,"stem":395,"description":398,"icon":399},"A GS1-conformant supply-chain data platform — Resolver, Masterdata, EPCIS Events — in open source and business editions.","lucide:layout-dashboard",{"title":401,"path":402,"stem":403,"description":404,"icon":405},"Architecture","\u002Fdocs\u002Fplatform-overview\u002Farchitecture","docs\u002F14.platform-overview\u002F01.architecture","How OpenEPCIS handles identity, isolation, events, and GS1 conformance — the four things that distinguish the platform.","lucide:cpu",{"title":407,"path":408,"stem":409,"description":410,"icon":411},"Feature Matrix","\u002Fdocs\u002Fplatform-overview\u002Ffeature-matrix","docs\u002F14.platform-overview\u002F02.feature-matrix","OpenEPCIS capabilities by edition, aligned to the relevant GS1 standards.","lucide:check-square",{"title":413,"path":414,"stem":415,"description":416,"icon":417},"Roadmap","\u002Fdocs\u002Fplatform-overview\u002Froadmap","docs\u002F14.platform-overview\u002F03.roadmap","Three horizons — Now, Next, Later. Skeleton awaiting user-confirmed dates.","lucide:map",{"title":419,"path":420,"stem":421,"children":422,"description":424,"icon":425},"Modules","\u002Fdocs\u002Fplatform-overview\u002Fmodules","docs\u002F14.platform-overview\u002Fmodules\u002Findex",[423,426,432,438,444,450,456,462],{"title":419,"path":420,"stem":421,"description":424,"icon":425},"Seven module families that organise the OpenEPCIS platform — Resolver, Masterdata, EPCIS Events, Formats & Validation, Integration, Testdata, Platform.","lucide:layers",{"title":427,"path":428,"stem":429,"description":430,"icon":431},"GS1 Conformant Resolver","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fresolver","docs\u002F14.platform-overview\u002Fmodules\u002F01.resolver","Resolves GS1 Digital Link URIs to product information, masterdata, EPCIS endpoints, and twelve more standard link types.","lucide:link-2",{"title":433,"path":434,"stem":435,"description":436,"icon":437},"GS1 Web Vocabulary & Masterdata","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fmasterdata","docs\u002F14.platform-overview\u002Fmodules\u002F02.masterdata","Web Vocabulary models, masterdata-to-resolver REST pattern, GS1 Germany Activate Plus \u002F GEPIR sync, and the event-driven masterdata bus.","lucide:database",{"title":439,"path":440,"stem":441,"description":442,"icon":443},"EPCIS Events — Capture, Query, Subscriptions","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fepcis-events","docs\u002F14.platform-overview\u002Fmodules\u002F03.epcis-events","EPCIS 2.0 REST and SOAP, live streaming subscriptions, resilient pagination, OpenSearch event store.","lucide:activity",{"title":445,"path":446,"stem":447,"description":448,"icon":449},"Formats, Validation & Identity","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fformats","docs\u002F14.platform-overview\u002Fmodules\u002F04.formats","XML ↔ JSON-LD conversion, multi-layer validation, identifier translation, idempotent event hashing.","lucide:file-check",{"title":451,"path":452,"stem":453,"description":454,"icon":455},"Integration & Gateways","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fintegration","docs\u002F14.platform-overview\u002Fmodules\u002F05.integration","Cloud storage, file service, natural-language AI assistant.","lucide:plug",{"title":457,"path":458,"stem":459,"description":460,"icon":461},"Testdata & Developer Tooling","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Ftestdata","docs\u002F14.platform-overview\u002Fmodules\u002F06.testdata","Synthetic EPCIS test event generation, reference event collections, conformance test suite, SDKs.","lucide:wrench",{"title":463,"path":464,"stem":465,"description":466,"icon":467},"Platform, Build & Observability","\u002Fdocs\u002Fplatform-overview\u002Fmodules\u002Fplatform","docs\u002F14.platform-overview\u002Fmodules\u002F07.platform","How OpenEPCIS is built, deployed, and observed.","lucide:server",{"title":469,"path":470,"stem":471,"children":472,"description":474,"icon":29,"tags":483},"Vision","\u002Fdocs\u002Fvision","docs\u002F15.vision\u002Findex",[473],{"title":469,"path":470,"stem":471,"description":474,"icon":29,"tags":475},"How UNTP, DIDs, Verifiable Credentials, and EPCIS work together to create unified product identity infrastructure for the connected supply chain.",[476,477,478,479,332,480,481,482],"vision","digital-twin","did","verifiable-credentials","rfid","industry-4-0","web-3-0",[476,477,478,479,332,480,481,482],[],{"doc":486,"usedFallback":1195},{"id":487,"title":488,"body":489,"description":358,"extension":1175,"icon":359,"lastUpdated":278,"meta":1176,"navigation":1187,"path":356,"seo":1189,"sitemap":1190,"stem":357,"__hash__":1194},"docsEN\u002Fdocs\u002F11.digital-product-passport\u002F07.multi-component-example.md","Multi-Component DPPs: An E-Bike Walkthrough",{"type":490,"value":491,"toc":1165},"minimark",[492,497,501,514,532,536,611,614,618,621,626,633,637,652,1044,1051,1055,1083,1098,1102,1128,1132,1135,1139,1161],[493,494,496],"h2",{"id":495},"overview","Overview",[498,499,500],"p",{},"Complex products — e-bikes, EVs, industrial equipment — are made of parts that each have their own regulatory profile. A battery falls under EU 2023\u002F1542, an electronic motor controller under WEEE and ESPR, a leather saddle potentially under ESPR plus EUDR. Trying to cram every datum into one monolithic passport quickly turns the document into a kitchen sink no audience actually wants.",[498,502,503,504,508,509,513],{},"The cleaner pattern: ",[505,506,507],"strong",{},"each component is itself an identified, resolvable product."," The composite product just ",[510,511,512],"em",{},"references"," its components by their Digital Link URLs. Consumers, recyclers, regulators and customs officers each follow the link they care about and land on a focused passport.",[515,516,517],"blockquote",{},[498,518,519,522,523,527,528,531],{},[505,520,521],{},"Status of this pattern."," Component linking is an active topic in CIRPASS-2 and adjacent specs. There is no canonical OpenEPCIS property like ",[524,525,526],"code",{},"dpp:hasPart"," yet — the worked example below uses ",[505,529,530],{},"EPCIS Aggregation events"," to express the parent ↔ child relationship, which is part of the published EPCIS 2.0 spec and works today without inventing vocabulary.",[493,533,535],{"id":534},"the-e-bike-by-regulation","The e-bike, by regulation",[537,538,539,555],"table",{},[540,541,542],"thead",{},[543,544,545,549,552],"tr",{},[546,547,548],"th",{},"Component",[546,550,551],{},"Primary regulation",[546,553,554],{},"DPP module that fits",[556,557,558,570,580,590,601],"tbody",{},[543,559,560,564,567],{},[561,562,563],"td",{},"Frame",[561,565,566],{},"ESPR 2024\u002F1781",[561,568,569],{},"DPP core",[543,571,572,575,578],{},[561,573,574],{},"Battery pack",[561,576,577],{},"EU 2023\u002F1542",[561,579,231],{},[543,581,582,585,588],{},[561,583,584],{},"Motor + controller",[561,586,587],{},"ESPR + WEEE",[561,589,365],{},[543,591,592,595,598],{},[561,593,594],{},"Leather saddle",[561,596,597],{},"ESPR (+ EUDR for the leather)",[561,599,600],{},"Textile + EUDR",[543,602,603,606,609],{},[561,604,605],{},"Tires",[561,607,608],{},"Future ESPR delegated act",[561,610,569],{},[498,612,613],{},"Each row is an independently-identifiable product with its own GTIN, its own serial, its own resolver entry, and its own passport.",[493,615,617],{"id":616},"pattern-composite-product-references-components","Pattern: composite product references components",[498,619,620],{},"The composite product gets one Digital Link URL. Its passport carries a small list of component URLs — each one resolves on its own to a focused passport built from the right DPP module. Conceptually:",[622,623],"diagram-image",{"alt":624,"src":625},"An e-bike passport linking its component passports","\u002Fdiagrams\u002Fdpp-multi-component-ebike",[498,627,628,629,632],{},"The e-bike's own JSON-LD only needs the composite-level data: brand, model, dimensions, headline circularity claims, plus a list of component URLs. Each component URL is the canonical Digital Link of ",[510,630,631],{},"that"," component's passport — no embedding, no duplication.",[493,634,636],{"id":635},"expressing-the-composition-epcis-aggregationevent","Expressing the composition: EPCIS AggregationEvent",[498,638,639,640,643,644,647,648,651],{},"EPCIS 2.0 already models \"X is made of Y, Z, …\" as an ",[505,641,642],{},"AggregationEvent",": a ",[524,645,646],{},"parentID"," plus a list of ",[524,649,650],{},"childEPCs",". This is the no-invention way to make the parent ↔ child relationship machine-readable today.",[653,654,658],"pre",{"className":655,"code":656,"language":61,"meta":657,"style":657},"language-json shiki shiki-themes material-theme-lighter github-light github-dark monokai","{\n  \"@context\": [\"https:\u002F\u002Fref.gs1.org\u002Fstandards\u002Fepcis\u002Fepcis-context.jsonld\"],\n  \"type\": \"EPCISDocument\",\n  \"schemaVersion\": \"2.0\",\n  \"epcisBody\": {\n    \"eventList\": [{\n      \"type\": \"AggregationEvent\",\n      \"eventTime\": \"2025-01-25T14:00:00Z\",\n      \"eventTimeZoneOffset\": \"+01:00\",\n      \"action\": \"ADD\",\n      \"bizStep\": \"assembling\",\n      \"disposition\": \"active\",\n      \"parentID\": \"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000010\u002F21\u002FEBIKE-2025-001\",\n      \"childEPCs\": [\n        \"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000027\u002F21\u002FBAT-EBIKE-001\",\n        \"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000034\u002F21\u002FMOTOR-001\",\n        \"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000041\u002F21\u002FSADDLE-001\",\n        \"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000058\u002F21\u002FFRAME-001\"\n      ],\n      \"readPoint\": { \"id\": \"https:\u002F\u002Fid.gs1.org\u002F414\u002F9521234000010\" }\n    }]\n  }\n}\n","",[524,659,660,669,701,724,745,760,777,798,819,840,861,882,903,923,937,950,962,974,985,991,1026,1032,1038],{"__ignoreMap":657},[661,662,665],"span",{"class":663,"line":664},"line",1,[661,666,668],{"class":667},"swvn1","{\n",[661,670,672,676,680,683,686,689,692,696,698],{"class":663,"line":671},2,[661,673,675],{"class":674},"saDeg","  \"",[661,677,679],{"class":678},"sEff5","@context",[661,681,682],{"class":674},"\"",[661,684,685],{"class":667},":",[661,687,688],{"class":667}," [",[661,690,682],{"class":691},"sh1VR",[661,693,695],{"class":694},"sINAO","https:\u002F\u002Fref.gs1.org\u002Fstandards\u002Fepcis\u002Fepcis-context.jsonld",[661,697,682],{"class":691},[661,699,700],{"class":667},"],\n",[661,702,704,706,709,711,713,716,719,721],{"class":663,"line":703},3,[661,705,675],{"class":674},[661,707,708],{"class":678},"type",[661,710,682],{"class":674},[661,712,685],{"class":667},[661,714,715],{"class":691}," \"",[661,717,718],{"class":694},"EPCISDocument",[661,720,682],{"class":691},[661,722,723],{"class":667},",\n",[661,725,727,729,732,734,736,738,741,743],{"class":663,"line":726},4,[661,728,675],{"class":674},[661,730,731],{"class":678},"schemaVersion",[661,733,682],{"class":674},[661,735,685],{"class":667},[661,737,715],{"class":691},[661,739,740],{"class":694},"2.0",[661,742,682],{"class":691},[661,744,723],{"class":667},[661,746,748,750,753,755,757],{"class":663,"line":747},5,[661,749,675],{"class":674},[661,751,752],{"class":678},"epcisBody",[661,754,682],{"class":674},[661,756,685],{"class":667},[661,758,759],{"class":667}," {\n",[661,761,763,766,770,772,774],{"class":663,"line":762},6,[661,764,765],{"class":674},"    \"",[661,767,769],{"class":768},"s_MOj","eventList",[661,771,682],{"class":674},[661,773,685],{"class":667},[661,775,776],{"class":667}," [{\n",[661,778,780,783,786,788,790,792,794,796],{"class":663,"line":779},7,[661,781,782],{"class":674},"      \"",[661,784,708],{"class":785},"sTC9v",[661,787,682],{"class":674},[661,789,685],{"class":667},[661,791,715],{"class":691},[661,793,642],{"class":694},[661,795,682],{"class":691},[661,797,723],{"class":667},[661,799,801,803,806,808,810,812,815,817],{"class":663,"line":800},8,[661,802,782],{"class":674},[661,804,805],{"class":785},"eventTime",[661,807,682],{"class":674},[661,809,685],{"class":667},[661,811,715],{"class":691},[661,813,814],{"class":694},"2025-01-25T14:00:00Z",[661,816,682],{"class":691},[661,818,723],{"class":667},[661,820,822,824,827,829,831,833,836,838],{"class":663,"line":821},9,[661,823,782],{"class":674},[661,825,826],{"class":785},"eventTimeZoneOffset",[661,828,682],{"class":674},[661,830,685],{"class":667},[661,832,715],{"class":691},[661,834,835],{"class":694},"+01:00",[661,837,682],{"class":691},[661,839,723],{"class":667},[661,841,843,845,848,850,852,854,857,859],{"class":663,"line":842},10,[661,844,782],{"class":674},[661,846,847],{"class":785},"action",[661,849,682],{"class":674},[661,851,685],{"class":667},[661,853,715],{"class":691},[661,855,856],{"class":694},"ADD",[661,858,682],{"class":691},[661,860,723],{"class":667},[661,862,864,866,869,871,873,875,878,880],{"class":663,"line":863},11,[661,865,782],{"class":674},[661,867,868],{"class":785},"bizStep",[661,870,682],{"class":674},[661,872,685],{"class":667},[661,874,715],{"class":691},[661,876,877],{"class":694},"assembling",[661,879,682],{"class":691},[661,881,723],{"class":667},[661,883,885,887,890,892,894,896,899,901],{"class":663,"line":884},12,[661,886,782],{"class":674},[661,888,889],{"class":785},"disposition",[661,891,682],{"class":674},[661,893,685],{"class":667},[661,895,715],{"class":691},[661,897,898],{"class":694},"active",[661,900,682],{"class":691},[661,902,723],{"class":667},[661,904,906,908,910,912,914,916,919,921],{"class":663,"line":905},13,[661,907,782],{"class":674},[661,909,646],{"class":785},[661,911,682],{"class":674},[661,913,685],{"class":667},[661,915,715],{"class":691},[661,917,918],{"class":694},"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000010\u002F21\u002FEBIKE-2025-001",[661,920,682],{"class":691},[661,922,723],{"class":667},[661,924,926,928,930,932,934],{"class":663,"line":925},14,[661,927,782],{"class":674},[661,929,650],{"class":785},[661,931,682],{"class":674},[661,933,685],{"class":667},[661,935,936],{"class":667}," [\n",[661,938,940,943,946,948],{"class":663,"line":939},15,[661,941,942],{"class":691},"        \"",[661,944,945],{"class":694},"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000027\u002F21\u002FBAT-EBIKE-001",[661,947,682],{"class":691},[661,949,723],{"class":667},[661,951,953,955,958,960],{"class":663,"line":952},16,[661,954,942],{"class":691},[661,956,957],{"class":694},"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000034\u002F21\u002FMOTOR-001",[661,959,682],{"class":691},[661,961,723],{"class":667},[661,963,965,967,970,972],{"class":663,"line":964},17,[661,966,942],{"class":691},[661,968,969],{"class":694},"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000041\u002F21\u002FSADDLE-001",[661,971,682],{"class":691},[661,973,723],{"class":667},[661,975,977,979,982],{"class":663,"line":976},18,[661,978,942],{"class":691},[661,980,981],{"class":694},"https:\u002F\u002Fid.gs1.org\u002F01\u002F09521234000058\u002F21\u002FFRAME-001",[661,983,984],{"class":691},"\"\n",[661,986,988],{"class":663,"line":987},19,[661,989,990],{"class":667},"      ],\n",[661,992,994,996,999,1001,1003,1006,1008,1012,1014,1016,1018,1021,1023],{"class":663,"line":993},20,[661,995,782],{"class":674},[661,997,998],{"class":785},"readPoint",[661,1000,682],{"class":674},[661,1002,685],{"class":667},[661,1004,1005],{"class":667}," {",[661,1007,715],{"class":674},[661,1009,1011],{"class":1010},"sogGa","id",[661,1013,682],{"class":674},[661,1015,685],{"class":667},[661,1017,715],{"class":691},[661,1019,1020],{"class":694},"https:\u002F\u002Fid.gs1.org\u002F414\u002F9521234000010",[661,1022,682],{"class":691},[661,1024,1025],{"class":667}," }\n",[661,1027,1029],{"class":663,"line":1028},21,[661,1030,1031],{"class":667},"    }]\n",[661,1033,1035],{"class":663,"line":1034},22,[661,1036,1037],{"class":667},"  }\n",[661,1039,1041],{"class":663,"line":1040},23,[661,1042,1043],{"class":667},"}\n",[498,1045,1046,1047,1050],{},"When the e-bike is later disassembled (a component being replaced under warranty, a recycler stripping it for materials) the inverse is the same shape with ",[524,1048,1049],{},"action: \"DELETE\""," — the components survive the parent, they just stop being aggregated to it. The history is queryable per-serial through the EPCIS query API.",[493,1052,1054],{"id":1053},"what-clients-see-at-resolution-time","What clients see at resolution time",[1056,1057,1058,1065,1071,1077],"ul",{},[1059,1060,1061,1064],"li",{},[505,1062,1063],{},"Consumer"," scans the e-bike → the resolver returns the composite passport (brand, model, recycling instructions, links to component passports). They can drill into the battery for State-of-Health, or the saddle for material composition.",[1059,1066,1067,1070],{},[505,1068,1069],{},"Authorised recycler"," scans the same e-bike with credentials → same composite passport, plus access-controlled fields (full BOM, hazardous-substance disclosures, disassembly sequence).",[1059,1072,1073,1076],{},[505,1074,1075],{},"Customs officer"," scanning the saddle directly → leather + EUDR passport, EUIS reference, plot-of-origin coordinates, due-diligence statement.",[1059,1078,1079,1082],{},[505,1080,1081],{},"Battery technician"," scanning the battery directly → battery passport with the latest SoH event from the EPCIS query, no need to go via the e-bike.",[498,1084,1085,1086,1089,1090,1093,1094,1097],{},"The same Digital Link primitives (",[524,1087,1088],{},"Accept",", ",[524,1091,1092],{},"?linkType=",", access tier) that drive single-product resolution drive component-level resolution. See ",[1095,1096,338],"a",{"href":339}," for the end-to-end picture.",[493,1099,1101],{"id":1100},"why-this-pattern-is-worth-the-effort","Why this pattern is worth the effort",[1056,1103,1104,1110,1116,1122],{},[1059,1105,1106,1109],{},[505,1107,1108],{},"Regulatory clarity"," — each component lines up to one regulator, not five.",[1059,1111,1112,1115],{},[505,1113,1114],{},"Independent lifecycle"," — replacing a battery just publishes a new component passport and an aggregation update; the e-bike's main passport doesn't churn.",[1059,1117,1118,1121],{},[505,1119,1120],{},"Audience-appropriate payloads"," — a consumer-grade UI never has to hide WEEE codes; a recycler API never has to skim past the marketing description.",[1059,1123,1124,1127],{},[505,1125,1126],{},"Circular economy"," — recovered components keep their full history (events, certifications, hazard data) as they're re-aggregated into a new product.",[493,1129,1131],{"id":1130},"whats-left-to-standardise","What's left to standardise",[498,1133,1134],{},"Today there is no single agreed JSON-LD predicate to say \"this composite passport references these component passports\" — different specs (CIRPASS-2 bridges, Catena-X industry-core, sector-specific drafts) propose different shapes. Until that lands, the EPCIS AggregationEvent shown above is the safest published way to express the relationship, and OpenEPCIS will follow whichever CIRPASS-2 \u002F GS1 outcome becomes the standard.",[493,1136,1138],{"id":1137},"next-steps","Next steps",[1056,1140,1141,1145,1149,1153,1157],{},[1059,1142,1143],{},[1095,1144,338],{"href":339},[1059,1146,1147],{},[1095,1148,231],{"href":232},[1059,1150,1151],{},[1095,1152,365],{"href":366},[1059,1154,1155],{},[1095,1156,297],{"href":298},[1059,1158,1159],{},[1095,1160,263],{"href":264},[1162,1163,1164],"style",{},"html pre.shiki code .swvn1, html code.shiki .swvn1{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .saDeg, html code.shiki .saDeg{--shiki-light:#39ADB5;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sEff5, html code.shiki .sEff5{--shiki-light:#9C3EDA;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sh1VR, html code.shiki .sh1VR{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#CFCFC2}html pre.shiki code .sINAO, html code.shiki .sINAO{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#CFCFC2}html pre.shiki code .s_MOj, html code.shiki .s_MOj{--shiki-light:#E2931D;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sTC9v, html code.shiki .sTC9v{--shiki-light:#F76D47;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html pre.shiki code .sogGa, html code.shiki .sogGa{--shiki-light:#E53935;--shiki-light-font-style:inherit;--shiki-default:#005CC5;--shiki-default-font-style:inherit;--shiki-dark:#79B8FF;--shiki-dark-font-style:inherit;--shiki-sepia:#66D9EF;--shiki-sepia-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}",{"title":657,"searchDepth":671,"depth":671,"links":1166},[1167,1168,1169,1170,1171,1172,1173,1174],{"id":495,"depth":671,"text":496},{"id":534,"depth":671,"text":535},{"id":616,"depth":671,"text":617},{"id":635,"depth":671,"text":636},{"id":1053,"depth":671,"text":1054},{"id":1100,"depth":671,"text":1101},{"id":1130,"depth":671,"text":1131},{"id":1137,"depth":671,"text":1138},"md",{"head":1177,"readingTime":1182},{"meta":1178},[1179],{"name":1180,"content":1181},"keywords","Multi-component DPP, e-bike passport, component traceability, EPCIS AggregationEvent",{"text":1183,"minutes":1184,"time":1185,"words":1186},"4 min read",3.34,200400,668,{"title":355,"tags":1188},[361,362,363,333],{"title":488,"description":358},{"loc":356,"lastmod":1191,"changefreq":1192,"priority":1193},"2026-05-12","monthly",0.8,"uQGF70MNMvofTESbGI4EMTbjz20ZuAjKS-LYJrElZKI",false,[1197],{"title":5,"path":6,"stem":7,"children":1198},[1199,1201,1206,1211,1216,1221,1226,1231,1241,1246,1251,1256,1314,1330],{"title":10,"path":6,"stem":11,"description":12,"icon":13,"tags":1200},[15,16,17,18,19,20,21],{"title":23,"path":24,"stem":25,"children":1202,"description":28,"icon":29,"tags":1205},[1203],{"title":23,"path":24,"stem":25,"description":28,"icon":29,"tags":1204},[16,31,32,33,34,35,36,37,38],[16,31,32,33,34,35,36,37,38],{"title":41,"path":42,"stem":43,"children":1207,"description":46,"icon":47,"tags":1210},[1208],{"title":41,"path":42,"stem":43,"description":46,"icon":47,"tags":1209},[16,31,32,33,49,50],[16,31,32,33,49,50],{"title":53,"path":54,"stem":55,"children":1212,"description":58,"icon":59,"tags":1215},[1213],{"title":53,"path":54,"stem":55,"description":58,"icon":59,"tags":1214},[16,61,62,63,64,65,66,21,67,68,69,70,71],[16,61,62,63,64,65,66,21,67,68,69,70,71],{"title":74,"path":75,"stem":76,"children":1217,"description":79,"icon":80,"tags":1220},[1218],{"title":74,"path":75,"stem":76,"description":79,"icon":80,"tags":1219},[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],[16,32,61,62,63,64,82,66,21,83,84,85,69,70,71],{"title":88,"path":89,"stem":90,"children":1222,"description":93,"icon":94,"tags":1225},[1223],{"title":88,"path":89,"stem":90,"description":93,"icon":94,"tags":1224},[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],[16,96,97,98,99,100,21,101,102,103,104,105,106,107,108,109,110,111],{"title":114,"path":115,"stem":116,"children":1227,"description":119,"icon":120,"tags":1230},[1228],{"title":114,"path":115,"stem":116,"description":119,"icon":120,"tags":1229},[16,122,61,62,63,64,21,123,124,125,70,71],[16,122,61,62,63,64,21,123,124,125,70,71],{"title":128,"path":129,"stem":130,"children":1232,"description":133,"icon":134,"tags":1240},[1233,1235],{"title":128,"path":129,"stem":130,"description":133,"icon":134,"tags":1234},[16,122,61,62,63,64,21,123,124,125,70,71],{"title":137,"path":138,"stem":139,"children":1236,"description":133,"icon":142,"tags":1239},[1237],{"title":137,"path":138,"stem":139,"description":133,"icon":142,"tags":1238},[16,61,62,144,21,145,146,147,35,148,149,150,151],[16,61,62,144,21,145,146,147,35,148,149,150,151],[16,122,61,62,63,64,21,123,124,125,70,71],{"title":155,"path":156,"stem":157,"children":1242,"description":160,"icon":161,"tags":1245},[1243],{"title":155,"path":156,"stem":157,"description":160,"icon":161,"tags":1244},[16,61,62,144,21,163,35,148,149,150,151],[16,61,62,144,21,163,35,148,149,150,151],{"title":166,"path":167,"stem":168,"children":1247,"description":171,"icon":172,"tags":1250},[1248],{"title":166,"path":167,"stem":168,"description":171,"icon":172,"tags":1249},[16,174,15,175,21,176,35,177,149,150,178],[16,174,15,175,21,176,35,177,149,150,178],{"title":181,"path":182,"stem":183,"children":1252,"description":186,"icon":187,"tags":1255},[1253],{"title":181,"path":182,"stem":183,"description":186,"icon":187,"tags":1254},[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],[189,15,190,191,192,193,194,31,195,196,197,198,199,200,201,202],{"title":205,"path":206,"stem":207,"children":1257,"description":210,"icon":211,"tags":1313},[1258,1260,1265,1274,1284,1293,1298,1300,1302,1304],{"title":205,"path":206,"stem":207,"description":210,"icon":211,"tags":1259},[213,214,215,31,216,35,217],{"title":219,"path":220,"stem":221,"children":1261,"description":224,"icon":225,"tags":1264},[1262],{"title":219,"path":220,"stem":221,"description":224,"icon":225,"tags":1263},[227,228,216,214,215],[227,228,216,214,215],{"title":231,"path":232,"stem":233,"children":1266,"description":236,"icon":237,"tags":1273},[1267,1269,1270,1271],{"title":231,"path":232,"stem":233,"description":236,"icon":237,"tags":1268},[239,240,214,31,102,35,216],{"title":242,"path":243,"stem":244,"description":245,"icon":172},{"title":247,"path":248,"stem":249,"description":250,"icon":251},{"title":253,"path":254,"stem":255,"description":256,"icon":13,"tags":1272},[239,258,259,62,260],[239,240,214,31,102,35,216],{"title":263,"path":264,"stem":265,"children":1275,"description":268,"icon":269,"tags":1283},[1276,1278,1279,1280,1281],{"title":263,"path":264,"stem":265,"description":268,"icon":269,"tags":1277},[271,272,273,214,31,102,35,216],{"title":242,"path":275,"stem":276,"description":277,"icon":278},{"title":247,"path":280,"stem":281,"description":282,"icon":278},{"title":284,"path":285,"stem":286,"description":287,"icon":278},{"title":253,"path":289,"stem":290,"description":291,"icon":13,"tags":1282},[271,258,273,293,294],[271,272,273,214,31,102,35,216],{"title":297,"path":298,"stem":299,"children":1285,"description":302,"icon":303,"tags":1292},[1286,1288,1290],{"title":297,"path":298,"stem":299,"description":302,"icon":303,"tags":1287},[305,306,307,214,216,308],{"title":242,"path":310,"stem":311,"description":312,"icon":313,"tags":1289},[305,306,307,315],{"title":253,"path":317,"stem":318,"description":319,"icon":13,"tags":1291},[305,258,306,307,321,62],[305,306,307,214,216,308],{"title":324,"path":325,"stem":326,"children":1294,"description":329,"icon":59,"tags":1297},[1295],{"title":324,"path":325,"stem":326,"description":329,"icon":59,"tags":1296},[331,332,102,333,227,334,335],[331,332,102,333,227,334,335],{"title":338,"path":339,"stem":340,"description":341,"icon":29,"tags":1299},[343,96,344,345],{"title":347,"path":348,"stem":349,"description":350,"icon":351,"tags":1301},[353,96,344],{"title":355,"path":356,"stem":357,"description":358,"icon":359,"tags":1303},[361,362,363,333],{"title":365,"path":366,"stem":367,"children":1305,"description":370,"icon":371,"tags":1312},[1306,1308,1310],{"title":365,"path":366,"stem":367,"description":370,"icon":371,"tags":1307},[373,374,375,376,377],{"title":242,"path":379,"stem":380,"description":381,"icon":172,"tags":1309},[373,315,374,375,376],{"title":253,"path":384,"stem":385,"description":386,"icon":13,"tags":1311},[373,258,388,389,62],[373,374,375,376,377],[213,214,215,31,216,35,217],{"title":393,"path":394,"stem":395,"children":1315,"description":398,"icon":399},[1316,1317,1318,1319,1320],{"title":393,"path":394,"stem":395,"description":398,"icon":399},{"title":401,"path":402,"stem":403,"description":404,"icon":405},{"title":407,"path":408,"stem":409,"description":410,"icon":411},{"title":413,"path":414,"stem":415,"description":416,"icon":417},{"title":419,"path":420,"stem":421,"children":1321,"description":424,"icon":425},[1322,1323,1324,1325,1326,1327,1328,1329],{"title":419,"path":420,"stem":421,"description":424,"icon":425},{"title":427,"path":428,"stem":429,"description":430,"icon":431},{"title":433,"path":434,"stem":435,"description":436,"icon":437},{"title":439,"path":440,"stem":441,"description":442,"icon":443},{"title":445,"path":446,"stem":447,"description":448,"icon":449},{"title":451,"path":452,"stem":453,"description":454,"icon":455},{"title":457,"path":458,"stem":459,"description":460,"icon":461},{"title":463,"path":464,"stem":465,"description":466,"icon":467},{"title":469,"path":470,"stem":471,"children":1331,"description":474,"icon":29,"tags":1334},[1332],{"title":469,"path":470,"stem":471,"description":474,"icon":29,"tags":1333},[476,477,478,479,332,480,481,482],[476,477,478,479,332,480,481,482],{"id":487,"title":488,"body":1336,"description":358,"extension":1175,"icon":359,"lastUpdated":278,"meta":1836,"navigation":1841,"path":356,"seo":1843,"sitemap":1844,"stem":357,"__hash__":1194},{"type":490,"value":1337,"toc":1826},[1338,1340,1342,1348,1358,1360,1414,1416,1418,1420,1422,1426,1428,1436,1744,1748,1750,1768,1776,1778,1796,1798,1800,1802,1824],[493,1339,496],{"id":495},[498,1341,500],{},[498,1343,503,1344,508,1346,513],{},[505,1345,507],{},[510,1347,512],{},[515,1349,1350],{},[498,1351,1352,522,1354,527,1356,531],{},[505,1353,521],{},[524,1355,526],{},[505,1357,530],{},[493,1359,535],{"id":534},[537,1361,1362,1372],{},[540,1363,1364],{},[543,1365,1366,1368,1370],{},[546,1367,548],{},[546,1369,551],{},[546,1371,554],{},[556,1373,1374,1382,1390,1398,1406],{},[543,1375,1376,1378,1380],{},[561,1377,563],{},[561,1379,566],{},[561,1381,569],{},[543,1383,1384,1386,1388],{},[561,1385,574],{},[561,1387,577],{},[561,1389,231],{},[543,1391,1392,1394,1396],{},[561,1393,584],{},[561,1395,587],{},[561,1397,365],{},[543,1399,1400,1402,1404],{},[561,1401,594],{},[561,1403,597],{},[561,1405,600],{},[543,1407,1408,1410,1412],{},[561,1409,605],{},[561,1411,608],{},[561,1413,569],{},[498,1415,613],{},[493,1417,617],{"id":616},[498,1419,620],{},[622,1421],{"alt":624,"src":625},[498,1423,628,1424,632],{},[510,1425,631],{},[493,1427,636],{"id":635},[498,1429,639,1430,643,1432,647,1434,651],{},[505,1431,642],{},[524,1433,646],{},[524,1435,650],{},[653,1437,1438],{"className":655,"code":656,"language":61,"meta":657,"style":657},[524,1439,1440,1444,1464,1482,1500,1512,1524,1542,1560,1578,1596,1614,1632,1650,1662,1672,1682,1692,1700,1704,1732,1736,1740],{"__ignoreMap":657},[661,1441,1442],{"class":663,"line":664},[661,1443,668],{"class":667},[661,1445,1446,1448,1450,1452,1454,1456,1458,1460,1462],{"class":663,"line":671},[661,1447,675],{"class":674},[661,1449,679],{"class":678},[661,1451,682],{"class":674},[661,1453,685],{"class":667},[661,1455,688],{"class":667},[661,1457,682],{"class":691},[661,1459,695],{"class":694},[661,1461,682],{"class":691},[661,1463,700],{"class":667},[661,1465,1466,1468,1470,1472,1474,1476,1478,1480],{"class":663,"line":703},[661,1467,675],{"class":674},[661,1469,708],{"class":678},[661,1471,682],{"class":674},[661,1473,685],{"class":667},[661,1475,715],{"class":691},[661,1477,718],{"class":694},[661,1479,682],{"class":691},[661,1481,723],{"class":667},[661,1483,1484,1486,1488,1490,1492,1494,1496,1498],{"class":663,"line":726},[661,1485,675],{"class":674},[661,1487,731],{"class":678},[661,1489,682],{"class":674},[661,1491,685],{"class":667},[661,1493,715],{"class":691},[661,1495,740],{"class":694},[661,1497,682],{"class":691},[661,1499,723],{"class":667},[661,1501,1502,1504,1506,1508,1510],{"class":663,"line":747},[661,1503,675],{"class":674},[661,1505,752],{"class":678},[661,1507,682],{"class":674},[661,1509,685],{"class":667},[661,1511,759],{"class":667},[661,1513,1514,1516,1518,1520,1522],{"class":663,"line":762},[661,1515,765],{"class":674},[661,1517,769],{"class":768},[661,1519,682],{"class":674},[661,1521,685],{"class":667},[661,1523,776],{"class":667},[661,1525,1526,1528,1530,1532,1534,1536,1538,1540],{"class":663,"line":779},[661,1527,782],{"class":674},[661,1529,708],{"class":785},[661,1531,682],{"class":674},[661,1533,685],{"class":667},[661,1535,715],{"class":691},[661,1537,642],{"class":694},[661,1539,682],{"class":691},[661,1541,723],{"class":667},[661,1543,1544,1546,1548,1550,1552,1554,1556,1558],{"class":663,"line":800},[661,1545,782],{"class":674},[661,1547,805],{"class":785},[661,1549,682],{"class":674},[661,1551,685],{"class":667},[661,1553,715],{"class":691},[661,1555,814],{"class":694},[661,1557,682],{"class":691},[661,1559,723],{"class":667},[661,1561,1562,1564,1566,1568,1570,1572,1574,1576],{"class":663,"line":821},[661,1563,782],{"class":674},[661,1565,826],{"class":785},[661,1567,682],{"class":674},[661,1569,685],{"class":667},[661,1571,715],{"class":691},[661,1573,835],{"class":694},[661,1575,682],{"class":691},[661,1577,723],{"class":667},[661,1579,1580,1582,1584,1586,1588,1590,1592,1594],{"class":663,"line":842},[661,1581,782],{"class":674},[661,1583,847],{"class":785},[661,1585,682],{"class":674},[661,1587,685],{"class":667},[661,1589,715],{"class":691},[661,1591,856],{"class":694},[661,1593,682],{"class":691},[661,1595,723],{"class":667},[661,1597,1598,1600,1602,1604,1606,1608,1610,1612],{"class":663,"line":863},[661,1599,782],{"class":674},[661,1601,868],{"class":785},[661,1603,682],{"class":674},[661,1605,685],{"class":667},[661,1607,715],{"class":691},[661,1609,877],{"class":694},[661,1611,682],{"class":691},[661,1613,723],{"class":667},[661,1615,1616,1618,1620,1622,1624,1626,1628,1630],{"class":663,"line":884},[661,1617,782],{"class":674},[661,1619,889],{"class":785},[661,1621,682],{"class":674},[661,1623,685],{"class":667},[661,1625,715],{"class":691},[661,1627,898],{"class":694},[661,1629,682],{"class":691},[661,1631,723],{"class":667},[661,1633,1634,1636,1638,1640,1642,1644,1646,1648],{"class":663,"line":905},[661,1635,782],{"class":674},[661,1637,646],{"class":785},[661,1639,682],{"class":674},[661,1641,685],{"class":667},[661,1643,715],{"class":691},[661,1645,918],{"class":694},[661,1647,682],{"class":691},[661,1649,723],{"class":667},[661,1651,1652,1654,1656,1658,1660],{"class":663,"line":925},[661,1653,782],{"class":674},[661,1655,650],{"class":785},[661,1657,682],{"class":674},[661,1659,685],{"class":667},[661,1661,936],{"class":667},[661,1663,1664,1666,1668,1670],{"class":663,"line":939},[661,1665,942],{"class":691},[661,1667,945],{"class":694},[661,1669,682],{"class":691},[661,1671,723],{"class":667},[661,1673,1674,1676,1678,1680],{"class":663,"line":952},[661,1675,942],{"class":691},[661,1677,957],{"class":694},[661,1679,682],{"class":691},[661,1681,723],{"class":667},[661,1683,1684,1686,1688,1690],{"class":663,"line":964},[661,1685,942],{"class":691},[661,1687,969],{"class":694},[661,1689,682],{"class":691},[661,1691,723],{"class":667},[661,1693,1694,1696,1698],{"class":663,"line":976},[661,1695,942],{"class":691},[661,1697,981],{"class":694},[661,1699,984],{"class":691},[661,1701,1702],{"class":663,"line":987},[661,1703,990],{"class":667},[661,1705,1706,1708,1710,1712,1714,1716,1718,1720,1722,1724,1726,1728,1730],{"class":663,"line":993},[661,1707,782],{"class":674},[661,1709,998],{"class":785},[661,1711,682],{"class":674},[661,1713,685],{"class":667},[661,1715,1005],{"class":667},[661,1717,715],{"class":674},[661,1719,1011],{"class":1010},[661,1721,682],{"class":674},[661,1723,685],{"class":667},[661,1725,715],{"class":691},[661,1727,1020],{"class":694},[661,1729,682],{"class":691},[661,1731,1025],{"class":667},[661,1733,1734],{"class":663,"line":1028},[661,1735,1031],{"class":667},[661,1737,1738],{"class":663,"line":1034},[661,1739,1037],{"class":667},[661,1741,1742],{"class":663,"line":1040},[661,1743,1043],{"class":667},[498,1745,1046,1746,1050],{},[524,1747,1049],{},[493,1749,1054],{"id":1053},[1056,1751,1752,1756,1760,1764],{},[1059,1753,1754,1064],{},[505,1755,1063],{},[1059,1757,1758,1070],{},[505,1759,1069],{},[1059,1761,1762,1076],{},[505,1763,1075],{},[1059,1765,1766,1082],{},[505,1767,1081],{},[498,1769,1085,1770,1089,1772,1093,1774,1097],{},[524,1771,1088],{},[524,1773,1092],{},[1095,1775,338],{"href":339},[493,1777,1101],{"id":1100},[1056,1779,1780,1784,1788,1792],{},[1059,1781,1782,1109],{},[505,1783,1108],{},[1059,1785,1786,1115],{},[505,1787,1114],{},[1059,1789,1790,1121],{},[505,1791,1120],{},[1059,1793,1794,1127],{},[505,1795,1126],{},[493,1797,1131],{"id":1130},[498,1799,1134],{},[493,1801,1138],{"id":1137},[1056,1803,1804,1808,1812,1816,1820],{},[1059,1805,1806],{},[1095,1807,338],{"href":339},[1059,1809,1810],{},[1095,1811,231],{"href":232},[1059,1813,1814],{},[1095,1815,365],{"href":366},[1059,1817,1818],{},[1095,1819,297],{"href":298},[1059,1821,1822],{},[1095,1823,263],{"href":264},[1162,1825,1164],{},{"title":657,"searchDepth":671,"depth":671,"links":1827},[1828,1829,1830,1831,1832,1833,1834,1835],{"id":495,"depth":671,"text":496},{"id":534,"depth":671,"text":535},{"id":616,"depth":671,"text":617},{"id":635,"depth":671,"text":636},{"id":1053,"depth":671,"text":1054},{"id":1100,"depth":671,"text":1101},{"id":1130,"depth":671,"text":1131},{"id":1137,"depth":671,"text":1138},{"head":1837,"readingTime":1840},{"meta":1838},[1839],{"name":1180,"content":1181},{"text":1183,"minutes":1184,"time":1185,"words":1186},{"title":355,"tags":1842},[361,362,363,333],{"title":488,"description":358},{"loc":356,"lastmod":1191,"changefreq":1192,"priority":1193},1782689038521]