house-lights 1.0.1 → 1.2.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.
Files changed (118) hide show
  1. package/README.md +7 -3
  2. package/cli.mjs +3 -2
  3. package/package.json +4 -3
  4. package/skills/back-of-napkin/assets/player.html +1 -1
  5. package/skills/back-of-napkin/scripts/contract.mjs +1 -1
  6. package/skills/back-of-napkin/scripts/pptx.mjs +1 -1
  7. package/skills/cast-list/assets/VERSION +2 -0
  8. package/skills/cast-list/assets/lesson.html +182 -0
  9. package/skills/cast-list/assets/map.html +244 -0
  10. package/skills/cast-list/examples/LICENSE-microsoft-skills-for-copilot-studio +21 -0
  11. package/skills/cast-list/examples/NOTICE.md +27 -0
  12. package/skills/cast-list/examples/agents/bodega-cupons/actions/ConsultarCuponsAtivos.mcs.yml +34 -0
  13. package/skills/cast-list/examples/agents/bodega-cupons/actions/EnviarCupomEmail.mcs.yml +34 -0
  14. package/skills/cast-list/examples/agents/bodega-cupons/actions/PromocoesMCP.mcs.yml +20 -0
  15. package/skills/cast-list/examples/agents/bodega-cupons/agent.mcs.yml +27 -0
  16. package/skills/cast-list/examples/agents/bodega-cupons/connectionreferences.mcs.yml +17 -0
  17. package/skills/cast-list/examples/agents/bodega-cupons/knowledge/RegulamentoCupons.knowledge.mcs.yml +7 -0
  18. package/skills/cast-list/examples/agents/bodega-cupons/settings.mcs.yml +13 -0
  19. package/skills/cast-list/examples/agents/bodega-cupons/topics/ConsultarRegulamentoCupons.topic.mcs.yml +56 -0
  20. package/skills/cast-list/examples/agents/bodega-cupons/topics/Escalate.topic.mcs.yml +20 -0
  21. package/skills/cast-list/examples/agents/bodega-cupons/topics/Fallback.topic.mcs.yml +32 -0
  22. package/skills/cast-list/examples/agents/bodega-cupons/topics/Greeting.topic.mcs.yml +14 -0
  23. package/skills/cast-list/examples/agents/bodega-cupons/topics/OnError.topic.mcs.yml +48 -0
  24. package/skills/cast-list/examples/agents/bodega-cupons/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  25. package/skills/cast-list/examples/agents/bodega-cupons/variables/CategoriaSolicitacao.mcs.yml +10 -0
  26. package/skills/cast-list/examples/agents/bodega-devolucoes/actions/AbrirSolicitacaoDevolucao.mcs.yml +32 -0
  27. package/skills/cast-list/examples/agents/bodega-devolucoes/agent.mcs.yml +26 -0
  28. package/skills/cast-list/examples/agents/bodega-devolucoes/connectionreferences.mcs.yml +6 -0
  29. package/skills/cast-list/examples/agents/bodega-devolucoes/knowledge/PoliticaTrocasDevolucoes.knowledge.mcs.yml +7 -0
  30. package/skills/cast-list/examples/agents/bodega-devolucoes/settings.mcs.yml +13 -0
  31. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/ConsultarPoliticaDevolucoes.topic.mcs.yml +56 -0
  32. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Escalate.topic.mcs.yml +20 -0
  33. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Fallback.topic.mcs.yml +32 -0
  34. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Greeting.topic.mcs.yml +14 -0
  35. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/OnError.topic.mcs.yml +48 -0
  36. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  37. package/skills/cast-list/examples/agents/bodega-devolucoes/variables/CategoriaSolicitacao.mcs.yml +10 -0
  38. package/skills/cast-list/examples/agents/bodega-frete/actions/EnviarOpcoesFrete.mcs.yml +34 -0
  39. package/skills/cast-list/examples/agents/bodega-frete/agent.mcs.yml +26 -0
  40. package/skills/cast-list/examples/agents/bodega-frete/connectionreferences.mcs.yml +6 -0
  41. package/skills/cast-list/examples/agents/bodega-frete/knowledge/TabelaFreteEntregas.knowledge.mcs.yml +7 -0
  42. package/skills/cast-list/examples/agents/bodega-frete/settings.mcs.yml +13 -0
  43. package/skills/cast-list/examples/agents/bodega-frete/topics/ConsultarTabelaFrete.topic.mcs.yml +56 -0
  44. package/skills/cast-list/examples/agents/bodega-frete/topics/Fallback.topic.mcs.yml +31 -0
  45. package/skills/cast-list/examples/agents/bodega-frete/topics/Greeting.topic.mcs.yml +14 -0
  46. package/skills/cast-list/examples/agents/bodega-frete/topics/OnError.topic.mcs.yml +48 -0
  47. package/skills/cast-list/examples/agents/bodega-frete/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  48. package/skills/cast-list/examples/agents/bodega-frete/variables/CategoriaSolicitacao.mcs.yml +10 -0
  49. package/skills/cast-list/examples/agents/bodega-loja-fisica/actions/EnviarInstrucoesRetirada.mcs.yml +34 -0
  50. package/skills/cast-list/examples/agents/bodega-loja-fisica/agent.mcs.yml +27 -0
  51. package/skills/cast-list/examples/agents/bodega-loja-fisica/connectionreferences.mcs.yml +6 -0
  52. package/skills/cast-list/examples/agents/bodega-loja-fisica/knowledge/GuiaLojaFisica.knowledge.mcs.yml +8 -0
  53. package/skills/cast-list/examples/agents/bodega-loja-fisica/settings.mcs.yml +13 -0
  54. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/ConsultarGuiaLojaFisica.topic.mcs.yml +56 -0
  55. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Escalate.topic.mcs.yml +20 -0
  56. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Fallback.topic.mcs.yml +32 -0
  57. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Greeting.topic.mcs.yml +14 -0
  58. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/OnError.topic.mcs.yml +43 -0
  59. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  60. package/skills/cast-list/examples/agents/bodega-loja-fisica/variables/CategoriaSolicitacao.mcs.yml +10 -0
  61. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteCupons.mcs.yml +24 -0
  62. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteDevolucoes.mcs.yml +24 -0
  63. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteFrete.mcs.yml +24 -0
  64. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteLojaFisica.mcs.yml +24 -0
  65. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgentePedidos.mcs.yml +24 -0
  66. package/skills/cast-list/examples/agents/bodega-orquestrador/agent.mcs.yml +35 -0
  67. package/skills/cast-list/examples/agents/bodega-orquestrador/agents/SobreBodegaAzul/agent.mcs.yml +32 -0
  68. package/skills/cast-list/examples/agents/bodega-orquestrador/settings.mcs.yml +12 -0
  69. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/ClassificarSolicitacao.topic.mcs.yml +35 -0
  70. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Escalate.topic.mcs.yml +20 -0
  71. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Fallback.topic.mcs.yml +32 -0
  72. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Greeting.topic.mcs.yml +14 -0
  73. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/OnError.topic.mcs.yml +48 -0
  74. package/skills/cast-list/examples/agents/bodega-orquestrador/variables/CategoriaSolicitacao.mcs.yml +9 -0
  75. package/skills/cast-list/examples/agents/bodega-pedidos/actions/EnviarResumoPedido.mcs.yml +34 -0
  76. package/skills/cast-list/examples/agents/bodega-pedidos/agent.mcs.yml +26 -0
  77. package/skills/cast-list/examples/agents/bodega-pedidos/connectionreferences.mcs.yml +6 -0
  78. package/skills/cast-list/examples/agents/bodega-pedidos/knowledge/PoliticasPedidos.knowledge.mcs.yml +7 -0
  79. package/skills/cast-list/examples/agents/bodega-pedidos/settings.mcs.yml +13 -0
  80. package/skills/cast-list/examples/agents/bodega-pedidos/topics/ConsultarPoliticasPedidos.topic.mcs.yml +56 -0
  81. package/skills/cast-list/examples/agents/bodega-pedidos/topics/Escalate.topic.mcs.yml +20 -0
  82. package/skills/cast-list/examples/agents/bodega-pedidos/topics/Fallback.topic.mcs.yml +32 -0
  83. package/skills/cast-list/examples/agents/bodega-pedidos/topics/Greeting.topic.mcs.yml +14 -0
  84. package/skills/cast-list/examples/agents/bodega-pedidos/topics/OnError.topic.mcs.yml +48 -0
  85. package/skills/cast-list/examples/agents/bodega-pedidos/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  86. package/skills/cast-list/examples/agents/bodega-pedidos/variables/CategoriaSolicitacao.mcs.yml +10 -0
  87. package/skills/cast-list/examples/demo.cast.yaml +10 -0
  88. package/skills/cast-list/examples/profile.cast.yaml +15 -0
  89. package/skills/cast-list/references/format.md +50 -0
  90. package/skills/cast-list/references/keys.md +107 -0
  91. package/skills/cast-list/references/profile.md +32 -0
  92. package/skills/cast-list/scripts/browser.mjs +198 -0
  93. package/skills/cast-list/scripts/build.mjs +179 -0
  94. package/skills/cast-list/scripts/engine.mjs +155 -0
  95. package/skills/cast-list/scripts/page.mjs +15 -0
  96. package/skills/cast-list/scripts/read-xlsx.mjs +67 -0
  97. package/skills/cast-list/vendor/microsoft/LICENSE +21 -0
  98. package/skills/cast-list/vendor/microsoft/NOTICE +9 -0
  99. package/skills/cast-list/vendor/microsoft/package.json +1 -0
  100. package/skills/cast-list/vendor/microsoft/reference/bot.schema.yaml-authoring.json +27605 -0
  101. package/skills/cast-list/vendor/microsoft/scripts/schema-lookup.bundle.js +3495 -0
  102. package/skills/chalk-talk/assets/VERSION +1 -1
  103. package/skills/chalk-talk/assets/player.html +1 -1
  104. package/skills/chalk-talk/scripts/contract.mjs +1 -1
  105. package/skills/chalk-talk/scripts/mermaid.mjs +1 -1
  106. package/skills/chalk-talk/scripts/pptx.mjs +1 -1
  107. package/skills/dress-rehearsal/assets/drill.html +1 -1
  108. package/skills/gates-and-handoffs/assets/VERSION +1 -1
  109. package/skills/gates-and-handoffs/assets/lesson.html +1 -1
  110. package/skills/gates-and-handoffs/assets/map.html +36 -24
  111. package/skills/gates-and-handoffs/examples/feature-delivery.way.yaml +8 -1
  112. package/skills/gates-and-handoffs/references/format.schema.json +25 -1
  113. package/skills/gates-and-handoffs/references/questions.md +2 -1
  114. package/skills/gates-and-handoffs/scripts/engine.mjs +83 -83
  115. package/skills/service-blueprint/assets/VERSION +1 -1
  116. package/skills/service-blueprint/assets/lesson.html +1 -1
  117. package/skills/service-blueprint/assets/map.html +1 -1
  118. package/skills/service-blueprint/scripts/engine.mjs +1 -1
@@ -1,76 +1,76 @@
1
- // GENERATED by tools/assets.mjs from the way engine v0.258.0. Do not edit.
1
+ // GENERATED by tools/assets.mjs from the way engine v0.259.0. Do not edit.
2
2
  import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
3
- var hl=Object.create;var Ki=Object.defineProperty;var ml=Object.getOwnPropertyDescriptor;var gl=Object.getOwnPropertyNames;var yl=Object.getPrototypeOf,bl=Object.prototype.hasOwnProperty;var Bt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var wl=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of gl(e))!bl.call(t,i)&&i!==s&&Ki(t,i,{get:()=>e[i],enumerable:!(n=ml(e,i))||n.enumerable});return t};var kl=(t,e,s)=>(s=t!=null?hl(yl(t)):{},wl(e||!t||!t.__esModule?Ki(s,"default",{value:t,enumerable:!0}):s,t));var _=q(X=>{"use strict";var Xs=Symbol.for("yaml.alias"),Ui=Symbol.for("yaml.document"),Kt=Symbol.for("yaml.map"),Yi=Symbol.for("yaml.pair"),Hs=Symbol.for("yaml.scalar"),Ut=Symbol.for("yaml.seq"),pe=Symbol.for("yaml.node.type"),Sl=t=>!!t&&typeof t=="object"&&t[pe]===Xs,vl=t=>!!t&&typeof t=="object"&&t[pe]===Ui,$l=t=>!!t&&typeof t=="object"&&t[pe]===Kt,Ol=t=>!!t&&typeof t=="object"&&t[pe]===Yi,zi=t=>!!t&&typeof t=="object"&&t[pe]===Hs,Al=t=>!!t&&typeof t=="object"&&t[pe]===Ut;function Vi(t){if(t&&typeof t=="object")switch(t[pe]){case Kt:case Ut:return!0}return!1}function El(t){if(t&&typeof t=="object")switch(t[pe]){case Xs:case Kt:case Hs:case Ut:return!0}return!1}var Nl=t=>(zi(t)||Vi(t))&&!!t.anchor;X.ALIAS=Xs;X.DOC=Ui;X.MAP=Kt;X.NODE_TYPE=pe;X.PAIR=Yi;X.SCALAR=Hs;X.SEQ=Ut;X.hasAnchor=Nl;X.isAlias=Sl;X.isCollection=Vi;X.isDocument=vl;X.isMap=$l;X.isNode=El;X.isPair=Ol;X.isScalar=zi;X.isSeq=Al});var ot=q(Qs=>{"use strict";var G=_(),ee=Symbol("break visit"),Gi=Symbol("skip children"),le=Symbol("remove node");function Yt(t,e){let s=Ji(e);G.isDocument(t)?Be(null,t.contents,s,Object.freeze([t]))===le&&(t.contents=null):Be(null,t,s,Object.freeze([]))}Yt.BREAK=ee;Yt.SKIP=Gi;Yt.REMOVE=le;function Be(t,e,s,n){let i=Xi(t,e,s,n);if(G.isNode(i)||G.isPair(i))return Hi(t,n,i),Be(t,i,s,n);if(typeof i!="symbol"){if(G.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=Be(r,e.items[r],s,n);if(typeof o=="number")r=o-1;else{if(o===ee)return ee;o===le&&(e.items.splice(r,1),r-=1)}}}else if(G.isPair(e)){n=Object.freeze(n.concat(e));let r=Be("key",e.key,s,n);if(r===ee)return ee;r===le&&(e.key=null);let o=Be("value",e.value,s,n);if(o===ee)return ee;o===le&&(e.value=null)}}return i}async function zt(t,e){let s=Ji(e);G.isDocument(t)?await Ke(null,t.contents,s,Object.freeze([t]))===le&&(t.contents=null):await Ke(null,t,s,Object.freeze([]))}zt.BREAK=ee;zt.SKIP=Gi;zt.REMOVE=le;async function Ke(t,e,s,n){let i=await Xi(t,e,s,n);if(G.isNode(i)||G.isPair(i))return Hi(t,n,i),Ke(t,i,s,n);if(typeof i!="symbol"){if(G.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=await Ke(r,e.items[r],s,n);if(typeof o=="number")r=o-1;else{if(o===ee)return ee;o===le&&(e.items.splice(r,1),r-=1)}}}else if(G.isPair(e)){n=Object.freeze(n.concat(e));let r=await Ke("key",e.key,s,n);if(r===ee)return ee;r===le&&(e.key=null);let o=await Ke("value",e.value,s,n);if(o===ee)return ee;o===le&&(e.value=null)}}return i}function Ji(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function Xi(t,e,s,n){if(typeof s=="function")return s(t,e,n);if(G.isMap(e))return s.Map?.(t,e,n);if(G.isSeq(e))return s.Seq?.(t,e,n);if(G.isPair(e))return s.Pair?.(t,e,n);if(G.isScalar(e))return s.Scalar?.(t,e,n);if(G.isAlias(e))return s.Alias?.(t,e,n)}function Hi(t,e,s){let n=e[e.length-1];if(G.isCollection(n))n.items[t]=s;else if(G.isPair(n))t==="key"?n.key=s:n.value=s;else if(G.isDocument(n))n.contents=s;else{let i=G.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}Qs.visit=Yt;Qs.visitAsync=zt});var Zs=q(Zi=>{"use strict";var Qi=_(),xl=ot(),ql={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Cl=t=>t.replace(/[!,[\]{}]/g,e=>ql[e]),at=class t{constructor(e,s){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,s)}clone(){let e=new t(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return e}add(e,s){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(s(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[r,o]=n;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return s(0,"%YAML directive should contain exactly one part"),!1;let[r]=n;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return s(6,`Unsupported YAML version ${r}`,o),!1}}default:return s(0,`Unknown directive ${i}`,!0),!1}}tagName(e,s){if(e==="!")return"!";if(e[0]!=="!")return s(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(s(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&s("Verbatim tags must end with a >"),o)}let[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||s(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(o){return s(String(o)),null}return n==="!"?e:(s(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[s,n]of Object.entries(this.tags))if(e.startsWith(n))return s+Cl(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(e&&n.length>0&&Qi.isNode(e.contents)){let r={};xl.visit(e.contents,(o,a)=>{Qi.isNode(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of n)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&s.push(`%TAG ${r} ${o}`);return s.join(`
4
- `)}};at.defaultYaml={explicit:!1,version:"1.2"};at.defaultTags={"!!":"tag:yaml.org,2002:"};Zi.Directives=at});var Vt=q(lt=>{"use strict";var er=_(),Tl=ot();function Ll(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let s=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(s)}return!0}function tr(t){let e=new Set;return Tl.visit(t,{Value(s,n){n.anchor&&e.add(n.anchor)}}),e}function sr(t,e){for(let s=1;;++s){let n=`${t}${s}`;if(!e.has(n))return n}}function Il(t,e){let s=[],n=new Map,i=null;return{onAnchor:r=>{s.push(r),i??(i=tr(t));let o=sr(e,i);return i.add(o),o},setAnchors:()=>{for(let r of s){let o=n.get(r);if(typeof o=="object"&&o.anchor&&(er.isScalar(o.node)||er.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}lt.anchorIsValid=Ll;lt.anchorNames=tr;lt.createNodeAnchors=Il;lt.findNewAnchor=sr});var en=q(nr=>{"use strict";function ct(t,e,s,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=ct(t,n,String(i),o);a===void 0?delete n[i]:a!==o&&(n[i]=a)}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=ct(t,n,i,r);o===void 0?n.delete(i):o!==r&&n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=ct(t,n,i,i);r===void 0?n.delete(i):r!==i&&(n.delete(i),n.add(r))}else for(let[i,r]of Object.entries(n)){let o=ct(t,n,i,r);o===void 0?delete n[i]:o!==r&&(n[i]=o)}return t.call(e,s,n)}nr.applyReviver=ct});var ge=q(rr=>{"use strict";var Ml=_();function ir(t,e,s){if(Array.isArray(t))return t.map((n,i)=>ir(n,String(i),s));if(t&&typeof t.toJSON=="function"){if(!s||!Ml.hasAnchor(t))return t.toJSON(e,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(t,n),s.onCreate=r=>{n.res=r,delete s.onCreate};let i=t.toJSON(e,s);return s.onCreate&&s.onCreate(i),i}return typeof t=="bigint"&&!s?.keep?Number(t):t}rr.toJS=ir});var Gt=q(ar=>{"use strict";var Pl=en(),or=_(),Dl=ge(),tn=class{constructor(e){Object.defineProperty(this,or.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!or.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=Dl.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?Pl.applyReviver(r,{"":a},"",a):a}};ar.NodeBase=tn});var ut=q(lr=>{"use strict";var _l=Vt(),Wl=ot(),Ue=_(),Fl=Gt(),Rl=ge(),sn=class extends Fl.NodeBase{constructor(e){super(Ue.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,s){if(s?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;s?.aliasResolveCache?n=s.aliasResolveCache:(n=[],Wl.visit(e,{Node:(r,o)=>{(Ue.isAlias(o)||Ue.hasAnchor(o))&&n.push(o)}}),s&&(s.aliasResolveCache=n));let i;for(let r of n){if(r===this)break;r.anchor===this.source&&(i=r)}if(i&&s){let{anchors:r,doc:o,maxAliasCount:a}=s,l=r.get(i);if(l||(Rl.toJS(i,null,s),l=r.get(i)),l?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(a>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=Jt(o,i,r)),l.count*l.aliasCount>a)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}}return i}toJSON(e,s){if(!s)return{source:this.source};let n=this.resolve(s.doc,s);if(!n){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(i)}return s.anchors.get(n).res}toString(e,s,n){let i=`*${this.source}`;if(e){if(_l.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function Jt(t,e,s){if(Ue.isAlias(e)){let n=e.resolve(t),i=s&&n&&s.get(n);return i?i.count*i.aliasCount:0}else if(Ue.isCollection(e)){let n=0;for(let i of e.items){let r=Jt(t,i,s);r>n&&(n=r)}return n}else if(Ue.isPair(e)){let n=Jt(t,e.key,s),i=Jt(t,e.value,s);return Math.max(n,i)}return 1}lr.Alias=sn});var V=q(nn=>{"use strict";var jl=_(),Bl=Gt(),Kl=ge(),Ul=t=>!t||typeof t!="function"&&typeof t!="object",ye=class extends Bl.NodeBase{constructor(e){super(jl.SCALAR),this.value=e}toJSON(e,s){return s?.keep?this.value:Kl.toJS(this.value,e,s)}toString(){return String(this.value)}};ye.BLOCK_FOLDED="BLOCK_FOLDED";ye.BLOCK_LITERAL="BLOCK_LITERAL";ye.PLAIN="PLAIN";ye.QUOTE_DOUBLE="QUOTE_DOUBLE";ye.QUOTE_SINGLE="QUOTE_SINGLE";nn.Scalar=ye;nn.isScalarValue=Ul});var ft=q(ur=>{"use strict";var Yl=ut(),Ce=_(),cr=V(),zl="tag:yaml.org,2002:";function Vl(t,e,s){if(e){let n=s.filter(r=>r.tag===e),i=n.find(r=>!r.format)??n[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return s.find(n=>n.identify?.(t)&&!n.format)}function Gl(t,e,s){if(Ce.isDocument(t)&&(t=t.contents),Ce.isNode(t))return t;if(Ce.isPair(t)){let f=s.schema[Ce.MAP].createNode?.(s.schema,null,s);return f.items.push(t),f}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=s,l;if(n&&t&&typeof t=="object"){if(l=a.get(t),l)return l.anchor??(l.anchor=i(t)),new Yl.Alias(l.anchor);l={anchor:null,node:null},a.set(t,l)}e?.startsWith("!!")&&(e=zl+e.slice(2));let c=Vl(t,e,o.tags);if(!c){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let f=new cr.Scalar(t);return l&&(l.node=f),f}c=t instanceof Map?o[Ce.MAP]:Symbol.iterator in Object(t)?o[Ce.SEQ]:o[Ce.MAP]}r&&(r(c),delete s.onTagObj);let d=c?.createNode?c.createNode(s.schema,t,s):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(s.schema,t,s):new cr.Scalar(t);return e?d.tag=e:c.default||(d.tag=c.tag),l&&(l.node=d),d}ur.createNode=Gl});var Ht=q(Xt=>{"use strict";var Jl=ft(),ce=_(),Xl=Gt();function rn(t,e,s){let n=s;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return Jl.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var fr=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,on=class extends Xl.NodeBase{constructor(e,s){super(e),Object.defineProperty(this,"schema",{value:s,configurable:!0,enumerable:!1,writable:!0})}clone(e){let s=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(s.schema=e),s.items=s.items.map(n=>ce.isNode(n)||ce.isPair(n)?n.clone(e):n),this.range&&(s.range=this.range.slice()),s}addIn(e,s){if(fr(e))this.add(s);else{let[n,...i]=e,r=this.get(n,!0);if(ce.isCollection(r))r.addIn(i,s);else if(r===void 0&&this.schema)this.set(n,rn(this.schema,i,s));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){let[s,...n]=e;if(n.length===0)return this.delete(s);let i=this.get(s,!0);if(ce.isCollection(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}getIn(e,s){let[n,...i]=e,r=this.get(n,!0);return i.length===0?!s&&ce.isScalar(r)?r.value:r:ce.isCollection(r)?r.getIn(i,s):void 0}hasAllNullValues(e){return this.items.every(s=>{if(!ce.isPair(s))return!1;let n=s.value;return n==null||e&&ce.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[s,...n]=e;if(n.length===0)return this.has(s);let i=this.get(s,!0);return ce.isCollection(i)?i.hasIn(n):!1}setIn(e,s){let[n,...i]=e;if(i.length===0)this.set(n,s);else{let r=this.get(n,!0);if(ce.isCollection(r))r.setIn(i,s);else if(r===void 0&&this.schema)this.set(n,rn(this.schema,i,s));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};Xt.Collection=on;Xt.collectionFromPath=rn;Xt.isEmptyPath=fr});var dt=q(Qt=>{"use strict";var Hl=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function an(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var Ql=(t,e,s)=>t.endsWith(`
5
- `)?an(s,e):s.includes(`
3
+ var yl=Object.create;var Yi=Object.defineProperty;var bl=Object.getOwnPropertyDescriptor;var wl=Object.getOwnPropertyNames;var kl=Object.getPrototypeOf,vl=Object.prototype.hasOwnProperty;var Ut=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,s)=>(typeof require<"u"?require:e)[s]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var L=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Sl=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of wl(e))!vl.call(t,i)&&i!==s&&Yi(t,i,{get:()=>e[i],enumerable:!(n=bl(e,i))||n.enumerable});return t};var $l=(t,e,s)=>(s=t!=null?yl(kl(t)):{},Sl(e||!t||!t.__esModule?Yi(s,"default",{value:t,enumerable:!0}):s,t));var F=L(X=>{"use strict";var Zs=Symbol.for("yaml.alias"),zi=Symbol.for("yaml.document"),Yt=Symbol.for("yaml.map"),Vi=Symbol.for("yaml.pair"),en=Symbol.for("yaml.scalar"),zt=Symbol.for("yaml.seq"),me=Symbol.for("yaml.node.type"),Ol=t=>!!t&&typeof t=="object"&&t[me]===Zs,Al=t=>!!t&&typeof t=="object"&&t[me]===zi,El=t=>!!t&&typeof t=="object"&&t[me]===Yt,Nl=t=>!!t&&typeof t=="object"&&t[me]===Vi,Gi=t=>!!t&&typeof t=="object"&&t[me]===en,xl=t=>!!t&&typeof t=="object"&&t[me]===zt;function Ji(t){if(t&&typeof t=="object")switch(t[me]){case Yt:case zt:return!0}return!1}function ql(t){if(t&&typeof t=="object")switch(t[me]){case Zs:case Yt:case en:case zt:return!0}return!1}var Cl=t=>(Gi(t)||Ji(t))&&!!t.anchor;X.ALIAS=Zs;X.DOC=zi;X.MAP=Yt;X.NODE_TYPE=me;X.PAIR=Vi;X.SCALAR=en;X.SEQ=zt;X.hasAnchor=Cl;X.isAlias=Ol;X.isCollection=Ji;X.isDocument=Al;X.isMap=El;X.isNode=ql;X.isPair=Nl;X.isScalar=Gi;X.isSeq=xl});var lt=L(tn=>{"use strict";var J=F(),ee=Symbol("break visit"),Xi=Symbol("skip children"),ue=Symbol("remove node");function Vt(t,e){let s=Hi(e);J.isDocument(t)?Ue(null,t.contents,s,Object.freeze([t]))===ue&&(t.contents=null):Ue(null,t,s,Object.freeze([]))}Vt.BREAK=ee;Vt.SKIP=Xi;Vt.REMOVE=ue;function Ue(t,e,s,n){let i=Qi(t,e,s,n);if(J.isNode(i)||J.isPair(i))return Zi(t,n,i),Ue(t,i,s,n);if(typeof i!="symbol"){if(J.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=Ue(r,e.items[r],s,n);if(typeof o=="number")r=o-1;else{if(o===ee)return ee;o===ue&&(e.items.splice(r,1),r-=1)}}}else if(J.isPair(e)){n=Object.freeze(n.concat(e));let r=Ue("key",e.key,s,n);if(r===ee)return ee;r===ue&&(e.key=null);let o=Ue("value",e.value,s,n);if(o===ee)return ee;o===ue&&(e.value=null)}}return i}async function Gt(t,e){let s=Hi(e);J.isDocument(t)?await Ye(null,t.contents,s,Object.freeze([t]))===ue&&(t.contents=null):await Ye(null,t,s,Object.freeze([]))}Gt.BREAK=ee;Gt.SKIP=Xi;Gt.REMOVE=ue;async function Ye(t,e,s,n){let i=await Qi(t,e,s,n);if(J.isNode(i)||J.isPair(i))return Zi(t,n,i),Ye(t,i,s,n);if(typeof i!="symbol"){if(J.isCollection(e)){n=Object.freeze(n.concat(e));for(let r=0;r<e.items.length;++r){let o=await Ye(r,e.items[r],s,n);if(typeof o=="number")r=o-1;else{if(o===ee)return ee;o===ue&&(e.items.splice(r,1),r-=1)}}}else if(J.isPair(e)){n=Object.freeze(n.concat(e));let r=await Ye("key",e.key,s,n);if(r===ee)return ee;r===ue&&(e.key=null);let o=await Ye("value",e.value,s,n);if(o===ee)return ee;o===ue&&(e.value=null)}}return i}function Hi(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function Qi(t,e,s,n){if(typeof s=="function")return s(t,e,n);if(J.isMap(e))return s.Map?.(t,e,n);if(J.isSeq(e))return s.Seq?.(t,e,n);if(J.isPair(e))return s.Pair?.(t,e,n);if(J.isScalar(e))return s.Scalar?.(t,e,n);if(J.isAlias(e))return s.Alias?.(t,e,n)}function Zi(t,e,s){let n=e[e.length-1];if(J.isCollection(n))n.items[t]=s;else if(J.isPair(n))t==="key"?n.key=s:n.value=s;else if(J.isDocument(n))n.contents=s;else{let i=J.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}tn.visit=Vt;tn.visitAsync=Gt});var sn=L(tr=>{"use strict";var er=F(),Ll=lt(),Tl={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Il=t=>t.replace(/[!,[\]{}]/g,e=>Tl[e]),ct=class t{constructor(e,s){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,s)}clone(){let e=new t(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return e}add(e,s){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(s(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[r,o]=n;return this.tags[r]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return s(0,"%YAML directive should contain exactly one part"),!1;let[r]=n;if(r==="1.1"||r==="1.2")return this.yaml.version=r,!0;{let o=/^\d+\.\d+$/.test(r);return s(6,`Unsupported YAML version ${r}`,o),!1}}default:return s(0,`Unknown directive ${i}`,!0),!1}}tagName(e,s){if(e==="!")return"!";if(e[0]!=="!")return s(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(s(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&s("Verbatim tags must end with a >"),o)}let[,n,i]=e.match(/^(.*!)([^!]*)$/s);i||s(`The ${e} tag has no suffix`);let r=this.tags[n];if(r)try{return r+decodeURIComponent(i)}catch(o){return s(String(o)),null}return n==="!"?e:(s(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[s,n]of Object.entries(this.tags))if(e.startsWith(n))return s+Il(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let s=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(e&&n.length>0&&er.isNode(e.contents)){let r={};Ll.visit(e.contents,(o,a)=>{er.isNode(a)&&a.tag&&(r[a.tag]=!0)}),i=Object.keys(r)}else i=[];for(let[r,o]of n)r==="!!"&&o==="tag:yaml.org,2002:"||(!e||i.some(a=>a.startsWith(o)))&&s.push(`%TAG ${r} ${o}`);return s.join(`
4
+ `)}};ct.defaultYaml={explicit:!1,version:"1.2"};ct.defaultTags={"!!":"tag:yaml.org,2002:"};tr.Directives=ct});var Jt=L(ut=>{"use strict";var sr=F(),Pl=lt();function Ml(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let s=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(s)}return!0}function nr(t){let e=new Set;return Pl.visit(t,{Value(s,n){n.anchor&&e.add(n.anchor)}}),e}function ir(t,e){for(let s=1;;++s){let n=`${t}${s}`;if(!e.has(n))return n}}function Dl(t,e){let s=[],n=new Map,i=null;return{onAnchor:r=>{s.push(r),i??(i=nr(t));let o=ir(e,i);return i.add(o),o},setAnchors:()=>{for(let r of s){let o=n.get(r);if(typeof o=="object"&&o.anchor&&(sr.isScalar(o.node)||sr.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}ut.anchorIsValid=Ml;ut.anchorNames=nr;ut.createNodeAnchors=Dl;ut.findNewAnchor=ir});var nn=L(rr=>{"use strict";function ft(t,e,s,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=ft(t,n,String(i),o);a===void 0?delete n[i]:a!==o&&(n[i]=a)}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=ft(t,n,i,r);o===void 0?n.delete(i):o!==r&&n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=ft(t,n,i,i);r===void 0?n.delete(i):r!==i&&(n.delete(i),n.add(r))}else for(let[i,r]of Object.entries(n)){let o=ft(t,n,i,r);o===void 0?delete n[i]:o!==r&&(n[i]=o)}return t.call(e,s,n)}rr.applyReviver=ft});var we=L(ar=>{"use strict";var Wl=F();function or(t,e,s){if(Array.isArray(t))return t.map((n,i)=>or(n,String(i),s));if(t&&typeof t.toJSON=="function"){if(!s||!Wl.hasAnchor(t))return t.toJSON(e,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(t,n),s.onCreate=r=>{n.res=r,delete s.onCreate};let i=t.toJSON(e,s);return s.onCreate&&s.onCreate(i),i}return typeof t=="bigint"&&!s?.keep?Number(t):t}ar.toJS=or});var Xt=L(cr=>{"use strict";var _l=nn(),lr=F(),Fl=we(),rn=class{constructor(e){Object.defineProperty(this,lr.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:r}={}){if(!lr.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=Fl.toJS(this,"",o);if(typeof i=="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r=="function"?_l.applyReviver(r,{"":a},"",a):a}};cr.NodeBase=rn});var pt=L(ur=>{"use strict";var jl=Jt(),Rl=lt(),ze=F(),Bl=Xt(),Kl=we(),on=class extends Bl.NodeBase{constructor(e){super(ze.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,s){if(s?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;s?.aliasResolveCache?n=s.aliasResolveCache:(n=[],Rl.visit(e,{Node:(r,o)=>{(ze.isAlias(o)||ze.hasAnchor(o))&&n.push(o)}}),s&&(s.aliasResolveCache=n));let i;for(let r of n){if(r===this)break;r.anchor===this.source&&(i=r)}if(i&&s){let{anchors:r,doc:o,maxAliasCount:a}=s,l=r.get(i);if(l||(Kl.toJS(i,null,s),l=r.get(i)),l?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(a>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=Ht(o,i,r)),l.count*l.aliasCount>a)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}}return i}toJSON(e,s){if(!s)return{source:this.source};let n=this.resolve(s.doc,s);if(!n){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(i)}return s.anchors.get(n).res}toString(e,s,n){let i=`*${this.source}`;if(e){if(jl.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let r=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(r)}if(e.implicitKey)return`${i} `}return i}};function Ht(t,e,s){if(ze.isAlias(e)){let n=e.resolve(t),i=s&&n&&s.get(n);return i?i.count*i.aliasCount:0}else if(ze.isCollection(e)){let n=0;for(let i of e.items){let r=Ht(t,i,s);r>n&&(n=r)}return n}else if(ze.isPair(e)){let n=Ht(t,e.key,s),i=Ht(t,e.value,s);return Math.max(n,i)}return 1}ur.Alias=on});var V=L(an=>{"use strict";var Ul=F(),Yl=Xt(),zl=we(),Vl=t=>!t||typeof t!="function"&&typeof t!="object",ke=class extends Yl.NodeBase{constructor(e){super(Ul.SCALAR),this.value=e}toJSON(e,s){return s?.keep?this.value:zl.toJS(this.value,e,s)}toString(){return String(this.value)}};ke.BLOCK_FOLDED="BLOCK_FOLDED";ke.BLOCK_LITERAL="BLOCK_LITERAL";ke.PLAIN="PLAIN";ke.QUOTE_DOUBLE="QUOTE_DOUBLE";ke.QUOTE_SINGLE="QUOTE_SINGLE";an.Scalar=ke;an.isScalarValue=Vl});var dt=L(pr=>{"use strict";var Gl=pt(),Te=F(),fr=V(),Jl="tag:yaml.org,2002:";function Xl(t,e,s){if(e){let n=s.filter(r=>r.tag===e),i=n.find(r=>!r.format)??n[0];if(!i)throw new Error(`Tag ${e} not found`);return i}return s.find(n=>n.identify?.(t)&&!n.format)}function Hl(t,e,s){if(Te.isDocument(t)&&(t=t.contents),Te.isNode(t))return t;if(Te.isPair(t)){let f=s.schema[Te.MAP].createNode?.(s.schema,null,s);return f.items.push(t),f}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=s,l;if(n&&t&&typeof t=="object"){if(l=a.get(t),l)return l.anchor??(l.anchor=i(t)),new Gl.Alias(l.anchor);l={anchor:null,node:null},a.set(t,l)}e?.startsWith("!!")&&(e=Jl+e.slice(2));let c=Xl(t,e,o.tags);if(!c){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let f=new fr.Scalar(t);return l&&(l.node=f),f}c=t instanceof Map?o[Te.MAP]:Symbol.iterator in Object(t)?o[Te.SEQ]:o[Te.MAP]}r&&(r(c),delete s.onTagObj);let p=c?.createNode?c.createNode(s.schema,t,s):typeof c?.nodeClass?.from=="function"?c.nodeClass.from(s.schema,t,s):new fr.Scalar(t);return e?p.tag=e:c.default||(p.tag=c.tag),l&&(l.node=p),p}pr.createNode=Hl});var Zt=L(Qt=>{"use strict";var Ql=dt(),fe=F(),Zl=Xt();function ln(t,e,s){let n=s;for(let i=e.length-1;i>=0;--i){let r=e[i];if(typeof r=="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return Ql.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var dr=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,cn=class extends Zl.NodeBase{constructor(e,s){super(e),Object.defineProperty(this,"schema",{value:s,configurable:!0,enumerable:!1,writable:!0})}clone(e){let s=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(s.schema=e),s.items=s.items.map(n=>fe.isNode(n)||fe.isPair(n)?n.clone(e):n),this.range&&(s.range=this.range.slice()),s}addIn(e,s){if(dr(e))this.add(s);else{let[n,...i]=e,r=this.get(n,!0);if(fe.isCollection(r))r.addIn(i,s);else if(r===void 0&&this.schema)this.set(n,ln(this.schema,i,s));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){let[s,...n]=e;if(n.length===0)return this.delete(s);let i=this.get(s,!0);if(fe.isCollection(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}getIn(e,s){let[n,...i]=e,r=this.get(n,!0);return i.length===0?!s&&fe.isScalar(r)?r.value:r:fe.isCollection(r)?r.getIn(i,s):void 0}hasAllNullValues(e){return this.items.every(s=>{if(!fe.isPair(s))return!1;let n=s.value;return n==null||e&&fe.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[s,...n]=e;if(n.length===0)return this.has(s);let i=this.get(s,!0);return fe.isCollection(i)?i.hasIn(n):!1}setIn(e,s){let[n,...i]=e;if(i.length===0)this.set(n,s);else{let r=this.get(n,!0);if(fe.isCollection(r))r.setIn(i,s);else if(r===void 0&&this.schema)this.set(n,ln(this.schema,i,s));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};Qt.Collection=cn;Qt.collectionFromPath=ln;Qt.isEmptyPath=dr});var ht=L(es=>{"use strict";var ec=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function un(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var tc=(t,e,s)=>t.endsWith(`
5
+ `)?un(s,e):s.includes(`
6
6
  `)?`
7
- `+an(s,e):(t.endsWith(" ")?"":" ")+s;Qt.indentComment=an;Qt.lineComment=Ql;Qt.stringifyComment=Hl});var pr=q(pt=>{"use strict";var Zl="flow",ln="block",Zt="quoted";function ec(t,e,s="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return t;i<r&&(r=0);let l=Math.max(1+r,1+i-e.length);if(t.length<=l)return t;let c=[],d={},f=i-e.length;typeof n=="number"&&(n>i-Math.max(2,r)?c.push(0):f=i-n);let u,y,$=!1,m=-1,w=-1,h=-1;s===ln&&(m=dr(t,m,e.length),m!==-1&&(f=m+l));for(let g;g=t[m+=1];){if(s===Zt&&g==="\\"){switch(w=m,t[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}h=m}if(g===`
8
- `)s===ln&&(m=dr(t,m,e.length)),f=m+e.length+l,u=void 0;else{if(g===" "&&y&&y!==" "&&y!==`
7
+ `+un(s,e):(t.endsWith(" ")?"":" ")+s;es.indentComment=un;es.lineComment=tc;es.stringifyComment=ec});var mr=L(mt=>{"use strict";var sc="flow",fn="block",ts="quoted";function nc(t,e,s="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return t;i<r&&(r=0);let l=Math.max(1+r,1+i-e.length);if(t.length<=l)return t;let c=[],p={},f=i-e.length;typeof n=="number"&&(n>i-Math.max(2,r)?c.push(0):f=i-n);let u,y,$=!1,m=-1,w=-1,h=-1;s===fn&&(m=hr(t,m,e.length),m!==-1&&(f=m+l));for(let g;g=t[m+=1];){if(s===ts&&g==="\\"){switch(w=m,t[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}h=m}if(g===`
8
+ `)s===fn&&(m=hr(t,m,e.length)),f=m+e.length+l,u=void 0;else{if(g===" "&&y&&y!==" "&&y!==`
9
9
  `&&y!==" "){let A=t[m+1];A&&A!==" "&&A!==`
10
- `&&A!==" "&&(u=m)}if(m>=f)if(u)c.push(u),f=u+l,u=void 0;else if(s===Zt){for(;y===" "||y===" ";)y=g,g=t[m+=1],$=!0;let A=m>h+1?m-2:w-1;if(d[A])return t;c.push(A),d[A]=!0,f=A+l,u=void 0}else $=!0}y=g}if($&&a&&a(),c.length===0)return t;o&&o();let b=t.slice(0,c[0]);for(let g=0;g<c.length;++g){let A=c[g],E=c[g+1]||t.length;A===0?b=`
11
- ${e}${t.slice(0,E)}`:(s===Zt&&d[A]&&(b+=`${t[A]}\\`),b+=`
12
- ${e}${t.slice(A+1,E)}`)}return b}function dr(t,e,s){let n=e,i=e+1,r=t[i];for(;r===" "||r===" ";)if(e<i+s)r=t[++e];else{do r=t[++e];while(r&&r!==`
13
- `);n=e,i=e+1,r=t[i]}return n}pt.FOLD_BLOCK=ln;pt.FOLD_FLOW=Zl;pt.FOLD_QUOTED=Zt;pt.foldFlowLines=ec});var mt=q(hr=>{"use strict";var re=V(),be=pr(),ts=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),ss=t=>/^(%|---|\.\.\.)/m.test(t);function tc(t,e,s){if(!e||e<0)return!1;let n=e-s,i=t.length;if(i<=n)return!1;for(let r=0,o=0;r<i;++r)if(t[r]===`
14
- `){if(r-o>n)return!0;if(o=r+1,i-o<=n)return!1}return!0}function ht(t,e){let s=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return s;let{implicitKey:n}=e,i=e.options.doubleQuotedMinMultiLineLength,r=e.indent||(ss(t)?" ":""),o="",a=0;for(let l=0,c=s[l];c;c=s[++l])if(c===" "&&s[l+1]==="\\"&&s[l+2]==="n"&&(o+=s.slice(a,l)+"\\ ",l+=1,a=l,c="\\"),c==="\\")switch(s[l+1]){case"u":{o+=s.slice(a,l);let d=s.substr(l+2,4);switch(d){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:d.substr(0,2)==="00"?o+="\\x"+d.substr(2):o+=s.substr(l,6)}l+=5,a=l+1}break;case"n":if(n||s[l+2]==='"'||s.length<i)l+=1;else{for(o+=s.slice(a,l)+`
10
+ `&&A!==" "&&(u=m)}if(m>=f)if(u)c.push(u),f=u+l,u=void 0;else if(s===ts){for(;y===" "||y===" ";)y=g,g=t[m+=1],$=!0;let A=m>h+1?m-2:w-1;if(p[A])return t;c.push(A),p[A]=!0,f=A+l,u=void 0}else $=!0}y=g}if($&&a&&a(),c.length===0)return t;o&&o();let b=t.slice(0,c[0]);for(let g=0;g<c.length;++g){let A=c[g],E=c[g+1]||t.length;A===0?b=`
11
+ ${e}${t.slice(0,E)}`:(s===ts&&p[A]&&(b+=`${t[A]}\\`),b+=`
12
+ ${e}${t.slice(A+1,E)}`)}return b}function hr(t,e,s){let n=e,i=e+1,r=t[i];for(;r===" "||r===" ";)if(e<i+s)r=t[++e];else{do r=t[++e];while(r&&r!==`
13
+ `);n=e,i=e+1,r=t[i]}return n}mt.FOLD_BLOCK=fn;mt.FOLD_FLOW=sc;mt.FOLD_QUOTED=ts;mt.foldFlowLines=nc});var yt=L(gr=>{"use strict";var ae=V(),ve=mr(),ns=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),is=t=>/^(%|---|\.\.\.)/m.test(t);function ic(t,e,s){if(!e||e<0)return!1;let n=e-s,i=t.length;if(i<=n)return!1;for(let r=0,o=0;r<i;++r)if(t[r]===`
14
+ `){if(r-o>n)return!0;if(o=r+1,i-o<=n)return!1}return!0}function gt(t,e){let s=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return s;let{implicitKey:n}=e,i=e.options.doubleQuotedMinMultiLineLength,r=e.indent||(is(t)?" ":""),o="",a=0;for(let l=0,c=s[l];c;c=s[++l])if(c===" "&&s[l+1]==="\\"&&s[l+2]==="n"&&(o+=s.slice(a,l)+"\\ ",l+=1,a=l,c="\\"),c==="\\")switch(s[l+1]){case"u":{o+=s.slice(a,l);let p=s.substr(l+2,4);switch(p){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:p.substr(0,2)==="00"?o+="\\x"+p.substr(2):o+=s.substr(l,6)}l+=5,a=l+1}break;case"n":if(n||s[l+2]==='"'||s.length<i)l+=1;else{for(o+=s.slice(a,l)+`
15
15
 
16
16
  `;s[l+2]==="\\"&&s[l+3]==="n"&&s[l+4]!=='"';)o+=`
17
- `,l+=2;o+=r,s[l+2]===" "&&(o+="\\"),l+=1,a=l+1}break;default:l+=1}return o=a?o+s.slice(a):s,n?o:be.foldFlowLines(o,r,be.FOLD_QUOTED,ts(e,!1))}function cn(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
18
- `)||/[ \t]\n|\n[ \t]/.test(t))return ht(t,e);let s=e.indent||(ss(t)?" ":""),n="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
19
- ${s}`)+"'";return e.implicitKey?n:be.foldFlowLines(n,s,be.FOLD_FLOW,ts(e,!1))}function Ye(t,e){let{singleQuote:s}=e.options,n;if(s===!1)n=ht;else{let i=t.includes('"'),r=t.includes("'");i&&!r?n=cn:r&&!i?n=ht:n=s?cn:ht}return n(t,e)}var un;try{un=new RegExp(`(^|(?<!
17
+ `,l+=2;o+=r,s[l+2]===" "&&(o+="\\"),l+=1,a=l+1}break;default:l+=1}return o=a?o+s.slice(a):s,n?o:ve.foldFlowLines(o,r,ve.FOLD_QUOTED,ns(e,!1))}function pn(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
18
+ `)||/[ \t]\n|\n[ \t]/.test(t))return gt(t,e);let s=e.indent||(is(t)?" ":""),n="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
19
+ ${s}`)+"'";return e.implicitKey?n:ve.foldFlowLines(n,s,ve.FOLD_FLOW,ns(e,!1))}function Ve(t,e){let{singleQuote:s}=e.options,n;if(s===!1)n=gt;else{let i=t.includes('"'),r=t.includes("'");i&&!r?n=pn:r&&!i?n=gt:n=s?pn:gt}return n(t,e)}var dn;try{dn=new RegExp(`(^|(?<!
20
20
  ))
21
21
  +(?!
22
- |$)`,"g")}catch{un=/\n+(?!\n|$)/g}function es({comment:t,type:e,value:s},n,i,r){let{blockQuote:o,commentString:a,lineWidth:l}=n.options;if(!o||/\n[\t ]+$/.test(s))return Ye(s,n);let c=n.indent||(n.forceBlockIndent||ss(s)?" ":""),d=o==="literal"?!0:o==="folded"||e===re.Scalar.BLOCK_FOLDED?!1:e===re.Scalar.BLOCK_LITERAL?!0:!tc(s,l,c.length);if(!s)return d?`|
22
+ |$)`,"g")}catch{dn=/\n+(?!\n|$)/g}function ss({comment:t,type:e,value:s},n,i,r){let{blockQuote:o,commentString:a,lineWidth:l}=n.options;if(!o||/\n[\t ]+$/.test(s))return Ve(s,n);let c=n.indent||(n.forceBlockIndent||is(s)?" ":""),p=o==="literal"?!0:o==="folded"||e===ae.Scalar.BLOCK_FOLDED?!1:e===ae.Scalar.BLOCK_LITERAL?!0:!ic(s,l,c.length);if(!s)return p?`|
23
23
  `:`>
24
24
  `;let f,u;for(u=s.length;u>0;--u){let E=s[u-1];if(E!==`
25
25
  `&&E!==" "&&E!==" ")break}let y=s.substring(u),$=y.indexOf(`
26
26
  `);$===-1?f="-":s===y||$!==y.length-1?(f="+",r&&r()):f="",y&&(s=s.slice(0,-y.length),y[y.length-1]===`
27
- `&&(y=y.slice(0,-1)),y=y.replace(un,`$&${c}`));let m=!1,w,h=-1;for(w=0;w<s.length;++w){let E=s[w];if(E===" ")m=!0;else if(E===`
28
- `)h=w;else break}let b=s.substring(0,h<w?h+1:w);b&&(s=s.substring(b.length),b=b.replace(/\n+/g,`$&${c}`));let A=(m?c?"2":"1":"")+f;if(t&&(A+=" "+a(t.replace(/ ?[\r\n]+/g," ")),i&&i()),!d){let E=s.replace(/\n+/g,`
29
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${c}`),x=!1,L=ts(n,!0);o!=="folded"&&e!==re.Scalar.BLOCK_FOLDED&&(L.onOverflow=()=>{x=!0});let k=be.foldFlowLines(`${b}${E}${y}`,c,be.FOLD_BLOCK,L);if(!x)return`>${A}
27
+ `&&(y=y.slice(0,-1)),y=y.replace(dn,`$&${c}`));let m=!1,w,h=-1;for(w=0;w<s.length;++w){let E=s[w];if(E===" ")m=!0;else if(E===`
28
+ `)h=w;else break}let b=s.substring(0,h<w?h+1:w);b&&(s=s.substring(b.length),b=b.replace(/\n+/g,`$&${c}`));let A=(m?c?"2":"1":"")+f;if(t&&(A+=" "+a(t.replace(/ ?[\r\n]+/g," ")),i&&i()),!p){let E=s.replace(/\n+/g,`
29
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${c}`),x=!1,I=ns(n,!0);o!=="folded"&&e!==ae.Scalar.BLOCK_FOLDED&&(I.onOverflow=()=>{x=!0});let k=ve.foldFlowLines(`${b}${E}${y}`,c,ve.FOLD_BLOCK,I);if(!x)return`>${A}
30
30
  ${c}${k}`}return s=s.replace(/\n+/g,`$&${c}`),`|${A}
31
- ${c}${b}${s}${y}`}function sc(t,e,s,n){let{type:i,value:r}=t,{actualString:o,implicitKey:a,indent:l,indentStep:c,inFlow:d}=e;if(a&&r.includes(`
32
- `)||d&&/[[\]{},]/.test(r))return Ye(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||d||!r.includes(`
33
- `)?Ye(r,e):es(t,e,s,n);if(!a&&!d&&i!==re.Scalar.PLAIN&&r.includes(`
34
- `))return es(t,e,s,n);if(ss(r)){if(l==="")return e.forceBlockIndent=!0,es(t,e,s,n);if(a&&l===c)return Ye(r,e)}let f=r.replace(/\n+/g,`$&
35
- ${l}`);if(o){let u=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(f),{compat:y,tags:$}=e.doc.schema;if($.some(u)||y?.some(u))return Ye(r,e)}return a?f:be.foldFlowLines(f,l,be.FOLD_FLOW,ts(e,!1))}function nc(t,e,s,n){let{implicitKey:i,inFlow:r}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:a}=t;a!==re.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=re.Scalar.QUOTE_DOUBLE);let l=d=>{switch(d){case re.Scalar.BLOCK_FOLDED:case re.Scalar.BLOCK_LITERAL:return i||r?Ye(o.value,e):es(o,e,s,n);case re.Scalar.QUOTE_DOUBLE:return ht(o.value,e);case re.Scalar.QUOTE_SINGLE:return cn(o.value,e);case re.Scalar.PLAIN:return sc(o,e,s,n);default:return null}},c=l(a);if(c===null){let{defaultKeyType:d,defaultStringType:f}=e.options,u=i&&d||f;if(c=l(u),c===null)throw new Error(`Unsupported default string type ${u}`)}return c}hr.stringifyString=nc});var gt=q(fn=>{"use strict";var ic=Vt(),we=_(),rc=dt(),oc=mt();function ac(t,e){let s=Object.assign({blockQuote:!0,commentString:rc.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),n;switch(s.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:t,flowCollectionPadding:s.flowCollectionPadding?" ":"",indent:"",indentStep:typeof s.indent=="number"?" ".repeat(s.indent):" ",inFlow:n,options:s}}function lc(t,e){if(e.tag){let i=t.filter(r=>r.tag===e.tag);if(i.length>0)return i.find(r=>r.format===e.format)??i[0]}let s,n;if(we.isScalar(e)){n=e.value;let i=t.filter(r=>r.identify?.(n));if(i.length>1){let r=i.filter(o=>o.test);r.length>0&&(i=r)}s=i.find(r=>r.format===e.format)??i.find(r=>!r.format)}else n=e,s=t.find(i=>i.nodeClass&&n instanceof i.nodeClass);if(!s){let i=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${i} value`)}return s}function cc(t,e,{anchors:s,doc:n}){if(!n.directives)return"";let i=[],r=(we.isScalar(t)||we.isCollection(t))&&t.anchor;r&&ic.anchorIsValid(r)&&(s.add(r),i.push(`&${r}`));let o=t.tag??(e.default?null:e.tag);return o&&i.push(n.directives.tagString(o)),i.join(" ")}function uc(t,e,s,n){if(we.isPair(t))return t.toString(e,s,n);if(we.isAlias(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let i,r=we.isNode(t)?t:e.doc.createNode(t,{onTagObj:l=>i=l});i??(i=lc(e.doc.schema.tags,r));let o=cc(r,i,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof i.stringify=="function"?i.stringify(r,e,s,n):we.isScalar(r)?oc.stringifyString(r,e,s,n):r.toString(e,s,n);return o?we.isScalar(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
36
- ${e.indent}${a}`:a}fn.createStringifyContext=ac;fn.stringify=uc});var br=q(yr=>{"use strict";var he=_(),mr=V(),gr=gt(),yt=dt();function fc({key:t,value:e},s,n,i){let{allNullValues:r,doc:o,indent:a,indentStep:l,options:{commentString:c,indentSeq:d,simpleKeys:f}}=s,u=he.isNode(t)&&t.comment||null;if(f){if(u)throw new Error("With simple keys, key nodes cannot have comments");if(he.isCollection(t)||!he.isNode(t)&&typeof t=="object"){let L="With simple keys, collection cannot be used as a key value";throw new Error(L)}}let y=!f&&(!t||u&&e==null&&!s.inFlow||he.isCollection(t)||(he.isScalar(t)?t.type===mr.Scalar.BLOCK_FOLDED||t.type===mr.Scalar.BLOCK_LITERAL:typeof t=="object"));s=Object.assign({},s,{allNullValues:!1,implicitKey:!y&&(f||!r),indent:a+l});let $=!1,m=!1,w=gr.stringify(t,s,()=>$=!0,()=>m=!0);if(!y&&!s.inFlow&&w.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");y=!0}if(s.inFlow){if(r||e==null)return $&&n&&n(),w===""?"?":y?`? ${w}`:w}else if(r&&!f||e==null&&y)return w=`? ${w}`,u&&!$?w+=yt.lineComment(w,s.indent,c(u)):m&&i&&i(),w;$&&(u=null),y?(u&&(w+=yt.lineComment(w,s.indent,c(u))),w=`? ${w}
37
- ${a}:`):(w=`${w}:`,u&&(w+=yt.lineComment(w,s.indent,c(u))));let h,b,g;he.isNode(e)?(h=!!e.spaceBefore,b=e.commentBefore,g=e.comment):(h=!1,b=null,g=null,e&&typeof e=="object"&&(e=o.createNode(e))),s.implicitKey=!1,!y&&!u&&he.isScalar(e)&&(s.indentAtStart=w.length+1),m=!1,!d&&l.length>=2&&!s.inFlow&&!y&&he.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(s.indent=s.indent.substring(2));let A=!1,E=gr.stringify(e,s,()=>A=!0,()=>m=!0),x=" ";if(u||h||b){if(x=h?`
38
- `:"",b){let L=c(b);x+=`
39
- ${yt.indentComment(L,s.indent)}`}E===""&&!s.inFlow?x===`
31
+ ${c}${b}${s}${y}`}function rc(t,e,s,n){let{type:i,value:r}=t,{actualString:o,implicitKey:a,indent:l,indentStep:c,inFlow:p}=e;if(a&&r.includes(`
32
+ `)||p&&/[[\]{},]/.test(r))return Ve(r,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(r))return a||p||!r.includes(`
33
+ `)?Ve(r,e):ss(t,e,s,n);if(!a&&!p&&i!==ae.Scalar.PLAIN&&r.includes(`
34
+ `))return ss(t,e,s,n);if(is(r)){if(l==="")return e.forceBlockIndent=!0,ss(t,e,s,n);if(a&&l===c)return Ve(r,e)}let f=r.replace(/\n+/g,`$&
35
+ ${l}`);if(o){let u=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(f),{compat:y,tags:$}=e.doc.schema;if($.some(u)||y?.some(u))return Ve(r,e)}return a?f:ve.foldFlowLines(f,l,ve.FOLD_FLOW,ns(e,!1))}function oc(t,e,s,n){let{implicitKey:i,inFlow:r}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:a}=t;a!==ae.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=ae.Scalar.QUOTE_DOUBLE);let l=p=>{switch(p){case ae.Scalar.BLOCK_FOLDED:case ae.Scalar.BLOCK_LITERAL:return i||r?Ve(o.value,e):ss(o,e,s,n);case ae.Scalar.QUOTE_DOUBLE:return gt(o.value,e);case ae.Scalar.QUOTE_SINGLE:return pn(o.value,e);case ae.Scalar.PLAIN:return rc(o,e,s,n);default:return null}},c=l(a);if(c===null){let{defaultKeyType:p,defaultStringType:f}=e.options,u=i&&p||f;if(c=l(u),c===null)throw new Error(`Unsupported default string type ${u}`)}return c}gr.stringifyString=oc});var bt=L(hn=>{"use strict";var ac=Jt(),Se=F(),lc=ht(),cc=yt();function uc(t,e){let s=Object.assign({blockQuote:!0,commentString:lc.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),n;switch(s.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:t,flowCollectionPadding:s.flowCollectionPadding?" ":"",indent:"",indentStep:typeof s.indent=="number"?" ".repeat(s.indent):" ",inFlow:n,options:s}}function fc(t,e){if(e.tag){let i=t.filter(r=>r.tag===e.tag);if(i.length>0)return i.find(r=>r.format===e.format)??i[0]}let s,n;if(Se.isScalar(e)){n=e.value;let i=t.filter(r=>r.identify?.(n));if(i.length>1){let r=i.filter(o=>o.test);r.length>0&&(i=r)}s=i.find(r=>r.format===e.format)??i.find(r=>!r.format)}else n=e,s=t.find(i=>i.nodeClass&&n instanceof i.nodeClass);if(!s){let i=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${i} value`)}return s}function pc(t,e,{anchors:s,doc:n}){if(!n.directives)return"";let i=[],r=(Se.isScalar(t)||Se.isCollection(t))&&t.anchor;r&&ac.anchorIsValid(r)&&(s.add(r),i.push(`&${r}`));let o=t.tag??(e.default?null:e.tag);return o&&i.push(n.directives.tagString(o)),i.join(" ")}function dc(t,e,s,n){if(Se.isPair(t))return t.toString(e,s,n);if(Se.isAlias(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let i,r=Se.isNode(t)?t:e.doc.createNode(t,{onTagObj:l=>i=l});i??(i=fc(e.doc.schema.tags,r));let o=pc(r,i,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof i.stringify=="function"?i.stringify(r,e,s,n):Se.isScalar(r)?cc.stringifyString(r,e,s,n):r.toString(e,s,n);return o?Se.isScalar(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
36
+ ${e.indent}${a}`:a}hn.createStringifyContext=uc;hn.stringify=dc});var kr=L(wr=>{"use strict";var ge=F(),yr=V(),br=bt(),wt=ht();function hc({key:t,value:e},s,n,i){let{allNullValues:r,doc:o,indent:a,indentStep:l,options:{commentString:c,indentSeq:p,simpleKeys:f}}=s,u=ge.isNode(t)&&t.comment||null;if(f){if(u)throw new Error("With simple keys, key nodes cannot have comments");if(ge.isCollection(t)||!ge.isNode(t)&&typeof t=="object"){let I="With simple keys, collection cannot be used as a key value";throw new Error(I)}}let y=!f&&(!t||u&&e==null&&!s.inFlow||ge.isCollection(t)||(ge.isScalar(t)?t.type===yr.Scalar.BLOCK_FOLDED||t.type===yr.Scalar.BLOCK_LITERAL:typeof t=="object"));s=Object.assign({},s,{allNullValues:!1,implicitKey:!y&&(f||!r),indent:a+l});let $=!1,m=!1,w=br.stringify(t,s,()=>$=!0,()=>m=!0);if(!y&&!s.inFlow&&w.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");y=!0}if(s.inFlow){if(r||e==null)return $&&n&&n(),w===""?"?":y?`? ${w}`:w}else if(r&&!f||e==null&&y)return w=`? ${w}`,u&&!$?w+=wt.lineComment(w,s.indent,c(u)):m&&i&&i(),w;$&&(u=null),y?(u&&(w+=wt.lineComment(w,s.indent,c(u))),w=`? ${w}
37
+ ${a}:`):(w=`${w}:`,u&&(w+=wt.lineComment(w,s.indent,c(u))));let h,b,g;ge.isNode(e)?(h=!!e.spaceBefore,b=e.commentBefore,g=e.comment):(h=!1,b=null,g=null,e&&typeof e=="object"&&(e=o.createNode(e))),s.implicitKey=!1,!y&&!u&&ge.isScalar(e)&&(s.indentAtStart=w.length+1),m=!1,!p&&l.length>=2&&!s.inFlow&&!y&&ge.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(s.indent=s.indent.substring(2));let A=!1,E=br.stringify(e,s,()=>A=!0,()=>m=!0),x=" ";if(u||h||b){if(x=h?`
38
+ `:"",b){let I=c(b);x+=`
39
+ ${wt.indentComment(I,s.indent)}`}E===""&&!s.inFlow?x===`
40
40
  `&&g&&(x=`
41
41
 
42
42
  `):x+=`
43
- ${s.indent}`}else if(!y&&he.isCollection(e)){let L=E[0],k=E.indexOf(`
44
- `),I=k!==-1,B=s.inFlow??e.flow??e.items.length===0;if(I||!B){let O=!1;if(I&&(L==="&"||L==="!")){let p=E.indexOf(" ");L==="&"&&p!==-1&&p<k&&E[p+1]==="!"&&(p=E.indexOf(" ",p+1)),(p===-1||k<p)&&(O=!0)}O||(x=`
43
+ ${s.indent}`}else if(!y&&ge.isCollection(e)){let I=E[0],k=E.indexOf(`
44
+ `),P=k!==-1,R=s.inFlow??e.flow??e.items.length===0;if(P||!R){let q=!1;if(P&&(I==="&"||I==="!")){let N=E.indexOf(" ");I==="&"&&N!==-1&&N<k&&E[N+1]==="!"&&(N=E.indexOf(" ",N+1)),(N===-1||k<N)&&(q=!0)}q||(x=`
45
45
  ${s.indent}`)}}else(E===""||E[0]===`
46
- `)&&(x="");return w+=x+E,s.inFlow?A&&n&&n():g&&!A?w+=yt.lineComment(w,s.indent,c(g)):m&&i&&i(),w}yr.stringifyPair=fc});var pn=q(dn=>{"use strict";var wr=Bt("process");function dc(t,...e){t==="debug"&&console.log(...e)}function pc(t,e){(t==="debug"||t==="warn")&&(typeof wr.emitWarning=="function"?wr.emitWarning(e):console.warn(e))}dn.debug=dc;dn.warn=pc});var as=q(os=>{"use strict";var rs=_(),kr=V(),ns="<<",is={identify:t=>t===ns||typeof t=="symbol"&&t.description===ns,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new kr.Scalar(Symbol(ns)),{addToJSMap:Sr}),stringify:()=>ns},hc=(t,e)=>(is.identify(e)||rs.isScalar(e)&&(!e.type||e.type===kr.Scalar.PLAIN)&&is.identify(e.value))&&t?.doc.schema.tags.some(s=>s.tag===is.tag&&s.default);function Sr(t,e,s){let n=vr(t,s);if(rs.isSeq(n))for(let i of n.items)hn(t,e,i);else if(Array.isArray(n))for(let i of n)hn(t,e,i);else hn(t,e,n)}function hn(t,e,s){let n=vr(t,s);if(!rs.isMap(n))throw new Error("Merge sources must be maps or map aliases");let i=n.toJSON(null,t,Map);for(let[r,o]of i)e instanceof Map?e.has(r)||e.set(r,o):e instanceof Set?e.add(r):Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function vr(t,e){return t&&rs.isAlias(e)?e.resolve(t.doc,t):e}os.addMergeToJSMap=Sr;os.isMergeKey=hc;os.merge=is});var gn=q(Ar=>{"use strict";var mc=pn(),$r=as(),gc=gt(),Or=_(),mn=ge();function yc(t,e,{key:s,value:n}){if(Or.isNode(s)&&s.addToJSMap)s.addToJSMap(t,e,n);else if($r.isMergeKey(t,s))$r.addMergeToJSMap(t,e,n);else{let i=mn.toJS(s,"",t);if(e instanceof Map)e.set(i,mn.toJS(n,i,t));else if(e instanceof Set)e.add(i);else{let r=bc(s,i,t),o=mn.toJS(n,r,t);r in e?Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[r]=o}}return e}function bc(t,e,s){if(e===null)return"";if(typeof e!="object")return String(e);if(Or.isNode(t)&&s?.doc){let n=gc.createStringifyContext(s.doc,{});n.anchors=new Set;for(let r of s.anchors.keys())n.anchors.add(r.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=t.toString(n);if(!s.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),mc.warn(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return i}return JSON.stringify(e)}Ar.addPairToJSMap=yc});var ke=q(yn=>{"use strict";var Er=ft(),wc=br(),kc=gn(),ls=_();function Sc(t,e,s){let n=Er.createNode(t,void 0,s),i=Er.createNode(e,void 0,s);return new cs(n,i)}var cs=class t{constructor(e,s=null){Object.defineProperty(this,ls.NODE_TYPE,{value:ls.PAIR}),this.key=e,this.value=s}clone(e){let{key:s,value:n}=this;return ls.isNode(s)&&(s=s.clone(e)),ls.isNode(n)&&(n=n.clone(e)),new t(s,n)}toJSON(e,s){let n=s?.mapAsMap?new Map:{};return kc.addPairToJSMap(s,n,this)}toString(e,s,n){return e?.doc?wc.stringifyPair(this,e,s,n):JSON.stringify(this)}};yn.Pair=cs;yn.createPair=Sc});var bn=q(xr=>{"use strict";var Te=_(),Nr=gt(),us=dt();function vc(t,e,s){return(e.inFlow??t.flow?Oc:$c)(t,e,s)}function $c({comment:t,items:e},s,{blockItemPrefix:n,flowChars:i,itemIndent:r,onChompKeep:o,onComment:a}){let{indent:l,options:{commentString:c}}=s,d=Object.assign({},s,{indent:r,type:null}),f=!1,u=[];for(let $=0;$<e.length;++$){let m=e[$],w=null;if(Te.isNode(m))!f&&m.spaceBefore&&u.push(""),fs(s,u,m.commentBefore,f),m.comment&&(w=m.comment);else if(Te.isPair(m)){let b=Te.isNode(m.key)?m.key:null;b&&(!f&&b.spaceBefore&&u.push(""),fs(s,u,b.commentBefore,f))}f=!1;let h=Nr.stringify(m,d,()=>w=null,()=>f=!0);w&&(h+=us.lineComment(h,r,c(w))),f&&w&&(f=!1),u.push(n+h)}let y;if(u.length===0)y=i.start+i.end;else{y=u[0];for(let $=1;$<u.length;++$){let m=u[$];y+=m?`
46
+ `)&&(x="");return w+=x+E,s.inFlow?A&&n&&n():g&&!A?w+=wt.lineComment(w,s.indent,c(g)):m&&i&&i(),w}wr.stringifyPair=hc});var gn=L(mn=>{"use strict";var vr=Ut("process");function mc(t,...e){t==="debug"&&console.log(...e)}function gc(t,e){(t==="debug"||t==="warn")&&(typeof vr.emitWarning=="function"?vr.emitWarning(e):console.warn(e))}mn.debug=mc;mn.warn=gc});var cs=L(ls=>{"use strict";var as=F(),Sr=V(),rs="<<",os={identify:t=>t===rs||typeof t=="symbol"&&t.description===rs,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Sr.Scalar(Symbol(rs)),{addToJSMap:$r}),stringify:()=>rs},yc=(t,e)=>(os.identify(e)||as.isScalar(e)&&(!e.type||e.type===Sr.Scalar.PLAIN)&&os.identify(e.value))&&t?.doc.schema.tags.some(s=>s.tag===os.tag&&s.default);function $r(t,e,s){let n=Or(t,s);if(as.isSeq(n))for(let i of n.items)yn(t,e,i);else if(Array.isArray(n))for(let i of n)yn(t,e,i);else yn(t,e,n)}function yn(t,e,s){let n=Or(t,s);if(!as.isMap(n))throw new Error("Merge sources must be maps or map aliases");let i=n.toJSON(null,t,Map);for(let[r,o]of i)e instanceof Map?e.has(r)||e.set(r,o):e instanceof Set?e.add(r):Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function Or(t,e){return t&&as.isAlias(e)?e.resolve(t.doc,t):e}ls.addMergeToJSMap=$r;ls.isMergeKey=yc;ls.merge=os});var wn=L(Nr=>{"use strict";var bc=gn(),Ar=cs(),wc=bt(),Er=F(),bn=we();function kc(t,e,{key:s,value:n}){if(Er.isNode(s)&&s.addToJSMap)s.addToJSMap(t,e,n);else if(Ar.isMergeKey(t,s))Ar.addMergeToJSMap(t,e,n);else{let i=bn.toJS(s,"",t);if(e instanceof Map)e.set(i,bn.toJS(n,i,t));else if(e instanceof Set)e.add(i);else{let r=vc(s,i,t),o=bn.toJS(n,r,t);r in e?Object.defineProperty(e,r,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[r]=o}}return e}function vc(t,e,s){if(e===null)return"";if(typeof e!="object")return String(e);if(Er.isNode(t)&&s?.doc){let n=wc.createStringifyContext(s.doc,{});n.anchors=new Set;for(let r of s.anchors.keys())n.anchors.add(r.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=t.toString(n);if(!s.mapKeyWarned){let r=JSON.stringify(i);r.length>40&&(r=r.substring(0,36)+'..."'),bc.warn(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return i}return JSON.stringify(e)}Nr.addPairToJSMap=kc});var $e=L(kn=>{"use strict";var xr=dt(),Sc=kr(),$c=wn(),us=F();function Oc(t,e,s){let n=xr.createNode(t,void 0,s),i=xr.createNode(e,void 0,s);return new fs(n,i)}var fs=class t{constructor(e,s=null){Object.defineProperty(this,us.NODE_TYPE,{value:us.PAIR}),this.key=e,this.value=s}clone(e){let{key:s,value:n}=this;return us.isNode(s)&&(s=s.clone(e)),us.isNode(n)&&(n=n.clone(e)),new t(s,n)}toJSON(e,s){let n=s?.mapAsMap?new Map:{};return $c.addPairToJSMap(s,n,this)}toString(e,s,n){return e?.doc?Sc.stringifyPair(this,e,s,n):JSON.stringify(this)}};kn.Pair=fs;kn.createPair=Oc});var vn=L(Cr=>{"use strict";var Ie=F(),qr=bt(),ps=ht();function Ac(t,e,s){return(e.inFlow??t.flow?Nc:Ec)(t,e,s)}function Ec({comment:t,items:e},s,{blockItemPrefix:n,flowChars:i,itemIndent:r,onChompKeep:o,onComment:a}){let{indent:l,options:{commentString:c}}=s,p=Object.assign({},s,{indent:r,type:null}),f=!1,u=[];for(let $=0;$<e.length;++$){let m=e[$],w=null;if(Ie.isNode(m))!f&&m.spaceBefore&&u.push(""),ds(s,u,m.commentBefore,f),m.comment&&(w=m.comment);else if(Ie.isPair(m)){let b=Ie.isNode(m.key)?m.key:null;b&&(!f&&b.spaceBefore&&u.push(""),ds(s,u,b.commentBefore,f))}f=!1;let h=qr.stringify(m,p,()=>w=null,()=>f=!0);w&&(h+=ps.lineComment(h,r,c(w))),f&&w&&(f=!1),u.push(n+h)}let y;if(u.length===0)y=i.start+i.end;else{y=u[0];for(let $=1;$<u.length;++$){let m=u[$];y+=m?`
47
47
  ${l}${m}`:`
48
48
  `}}return t?(y+=`
49
- `+us.indentComment(c(t),l),a&&a()):f&&o&&o(),y}function Oc({items:t},e,{flowChars:s,itemIndent:n}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:a}}=e;n+=r;let l=Object.assign({},e,{indent:n,inFlow:!0,type:null}),c=!1,d=0,f=[];for(let $=0;$<t.length;++$){let m=t[$],w=null;if(Te.isNode(m))m.spaceBefore&&f.push(""),fs(e,f,m.commentBefore,!1),m.comment&&(w=m.comment);else if(Te.isPair(m)){let b=Te.isNode(m.key)?m.key:null;b&&(b.spaceBefore&&f.push(""),fs(e,f,b.commentBefore,!1),b.comment&&(c=!0));let g=Te.isNode(m.value)?m.value:null;g?(g.comment&&(w=g.comment),g.commentBefore&&(c=!0)):m.value==null&&b?.comment&&(w=b.comment)}w&&(c=!0);let h=Nr.stringify(m,l,()=>w=null);c||(c=f.length>d||h.includes(`
50
- `)),$<t.length-1?h+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=f.reduce((b,g)=>b+g.length+2,2)+(h.length+2)>e.options.lineWidth)),c&&(h+=",")),w&&(h+=us.lineComment(h,n,a(w))),f.push(h),d=f.length}let{start:u,end:y}=s;if(f.length===0)return u+y;if(!c){let $=f.reduce((m,w)=>m+w.length+2,2);c=e.options.lineWidth>0&&$>e.options.lineWidth}if(c){let $=u;for(let m of f)$+=m?`
49
+ `+ps.indentComment(c(t),l),a&&a()):f&&o&&o(),y}function Nc({items:t},e,{flowChars:s,itemIndent:n}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:a}}=e;n+=r;let l=Object.assign({},e,{indent:n,inFlow:!0,type:null}),c=!1,p=0,f=[];for(let $=0;$<t.length;++$){let m=t[$],w=null;if(Ie.isNode(m))m.spaceBefore&&f.push(""),ds(e,f,m.commentBefore,!1),m.comment&&(w=m.comment);else if(Ie.isPair(m)){let b=Ie.isNode(m.key)?m.key:null;b&&(b.spaceBefore&&f.push(""),ds(e,f,b.commentBefore,!1),b.comment&&(c=!0));let g=Ie.isNode(m.value)?m.value:null;g?(g.comment&&(w=g.comment),g.commentBefore&&(c=!0)):m.value==null&&b?.comment&&(w=b.comment)}w&&(c=!0);let h=qr.stringify(m,l,()=>w=null);c||(c=f.length>p||h.includes(`
50
+ `)),$<t.length-1?h+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(c||(c=f.reduce((b,g)=>b+g.length+2,2)+(h.length+2)>e.options.lineWidth)),c&&(h+=",")),w&&(h+=ps.lineComment(h,n,a(w))),f.push(h),p=f.length}let{start:u,end:y}=s;if(f.length===0)return u+y;if(!c){let $=f.reduce((m,w)=>m+w.length+2,2);c=e.options.lineWidth>0&&$>e.options.lineWidth}if(c){let $=u;for(let m of f)$+=m?`
51
51
  ${r}${i}${m}`:`
52
52
  `;return`${$}
53
- ${i}${y}`}else return`${u}${o}${f.join(" ")}${o}${y}`}function fs({indent:t,options:{commentString:e}},s,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let r=us.indentComment(e(n),t);s.push(r.trimStart())}}xr.stringifyCollection=vc});var ve=q(kn=>{"use strict";var Ac=bn(),Ec=gn(),Nc=Ht(),Se=_(),ds=ke(),xc=V();function bt(t,e){let s=Se.isScalar(e)?e.value:e;for(let n of t)if(Se.isPair(n)&&(n.key===e||n.key===s||Se.isScalar(n.key)&&n.key.value===s))return n}var wn=class extends Nc.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Se.MAP,e),this.items=[]}static from(e,s,n){let{keepUndefined:i,replacer:r}=n,o=new this(e),a=(l,c)=>{if(typeof r=="function")c=r.call(s,l,c);else if(Array.isArray(r)&&!r.includes(l))return;(c!==void 0||i)&&o.items.push(ds.createPair(l,c,n))};if(s instanceof Map)for(let[l,c]of s)a(l,c);else if(s&&typeof s=="object")for(let l of Object.keys(s))a(l,s[l]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,s){let n;Se.isPair(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new ds.Pair(e,e?.value):n=new ds.Pair(e.key,e.value);let i=bt(this.items,n.key),r=this.schema?.sortMapEntries;if(i){if(!s)throw new Error(`Key ${n.key} already set`);Se.isScalar(i.value)&&xc.isScalarValue(n.value)?i.value.value=n.value:i.value=n.value}else if(r){let o=this.items.findIndex(a=>r(n,a)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){let s=bt(this.items,e);return s?this.items.splice(this.items.indexOf(s),1).length>0:!1}get(e,s){let i=bt(this.items,e)?.value;return(!s&&Se.isScalar(i)?i.value:i)??void 0}has(e){return!!bt(this.items,e)}set(e,s){this.add(new ds.Pair(e,s),!0)}toJSON(e,s,n){let i=n?new n:s?.mapAsMap?new Map:{};s?.onCreate&&s.onCreate(i);for(let r of this.items)Ec.addPairToJSMap(s,i,r);return i}toString(e,s,n){if(!e)return JSON.stringify(this);for(let i of this.items)if(!Se.isPair(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Ac.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:s})}};kn.YAMLMap=wn;kn.findPair=bt});var ze=q(Cr=>{"use strict";var qc=_(),qr=ve(),Cc={collection:"map",default:!0,nodeClass:qr.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return qc.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,s)=>qr.YAMLMap.from(t,e,s)};Cr.map=Cc});var $e=q(Tr=>{"use strict";var Tc=ft(),Lc=bn(),Ic=Ht(),hs=_(),Mc=V(),Pc=ge(),Sn=class extends Ic.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(hs.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let s=ps(e);return typeof s!="number"?!1:this.items.splice(s,1).length>0}get(e,s){let n=ps(e);if(typeof n!="number")return;let i=this.items[n];return!s&&hs.isScalar(i)?i.value:i}has(e){let s=ps(e);return typeof s=="number"&&s<this.items.length}set(e,s){let n=ps(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);let i=this.items[n];hs.isScalar(i)&&Mc.isScalarValue(s)?i.value=s:this.items[n]=s}toJSON(e,s){let n=[];s?.onCreate&&s.onCreate(n);let i=0;for(let r of this.items)n.push(Pc.toJS(r,String(i++),s));return n}toString(e,s,n){return e?Lc.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:s}):JSON.stringify(this)}static from(e,s,n){let{replacer:i}=n,r=new this(e);if(s&&Symbol.iterator in Object(s)){let o=0;for(let a of s){if(typeof i=="function"){let l=s instanceof Set?a:String(o++);a=i.call(s,l,a)}r.items.push(Tc.createNode(a,void 0,n))}}return r}};function ps(t){let e=hs.isScalar(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Tr.YAMLSeq=Sn});var Ve=q(Ir=>{"use strict";var Dc=_(),Lr=$e(),_c={collection:"seq",default:!0,nodeClass:Lr.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return Dc.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,s)=>Lr.YAMLSeq.from(t,e,s)};Ir.seq=_c});var wt=q(Mr=>{"use strict";var Wc=mt(),Fc={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,s,n){return e=Object.assign({actualString:!0},e),Wc.stringifyString(t,e,s,n)}};Mr.string=Fc});var ms=q(_r=>{"use strict";var Pr=V(),Dr={identify:t=>t==null,createNode:()=>new Pr.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Pr.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&Dr.test.test(t)?t:e.options.nullStr};_r.nullTag=Dr});var vn=q(Fr=>{"use strict";var Rc=V(),Wr={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new Rc.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},s){if(t&&Wr.test.test(t)){let n=t[0]==="t"||t[0]==="T";if(e===n)return t}return e?s.options.trueStr:s.options.falseStr}};Fr.boolTag=Wr});var Ge=q(Rr=>{"use strict";function jc({format:t,minFractionDigits:e,tag:s,value:n}){if(typeof n=="bigint")return String(n);let i=typeof n=="number"?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(n,-0)?"-0":JSON.stringify(n);if(!t&&e&&(!s||s==="tag:yaml.org,2002:float")&&/^-?\d/.test(r)&&!r.includes("e")){let o=r.indexOf(".");o<0&&(o=r.length,r+=".");let a=e-(r.length-o-1);for(;a-- >0;)r+="0"}return r}Rr.stringifyNumber=jc});var On=q(gs=>{"use strict";var Bc=V(),$n=Ge(),Kc={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:$n.stringifyNumber},Uc={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():$n.stringifyNumber(t)}},Yc={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new Bc.Scalar(parseFloat(t)),s=t.indexOf(".");return s!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-s-1),e},stringify:$n.stringifyNumber};gs.float=Yc;gs.floatExp=Uc;gs.floatNaN=Kc});var En=q(bs=>{"use strict";var jr=Ge(),ys=t=>typeof t=="bigint"||Number.isInteger(t),An=(t,e,s,{intAsBigInt:n})=>n?BigInt(t):parseInt(t.substring(e),s);function Br(t,e,s){let{value:n}=t;return ys(n)&&n>=0?s+n.toString(e):jr.stringifyNumber(t)}var zc={identify:t=>ys(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,s)=>An(t,2,8,s),stringify:t=>Br(t,8,"0o")},Vc={identify:ys,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,s)=>An(t,0,10,s),stringify:jr.stringifyNumber},Gc={identify:t=>ys(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,s)=>An(t,2,16,s),stringify:t=>Br(t,16,"0x")};bs.int=Vc;bs.intHex=Gc;bs.intOct=zc});var Ur=q(Kr=>{"use strict";var Jc=ze(),Xc=ms(),Hc=Ve(),Qc=wt(),Zc=vn(),Nn=On(),xn=En(),eu=[Jc.map,Hc.seq,Qc.string,Xc.nullTag,Zc.boolTag,xn.intOct,xn.int,xn.intHex,Nn.floatNaN,Nn.floatExp,Nn.float];Kr.schema=eu});var Vr=q(zr=>{"use strict";var tu=V(),su=ze(),nu=Ve();function Yr(t){return typeof t=="bigint"||Number.isInteger(t)}var ws=({value:t})=>JSON.stringify(t),iu=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:ws},{identify:t=>t==null,createNode:()=>new tu.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:ws},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:ws},{identify:Yr,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:s})=>s?BigInt(t):parseInt(t,10),stringify:({value:t})=>Yr(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:ws}],ru={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},ou=[su.map,nu.seq].concat(iu,ru);zr.schema=ou});var Cn=q(Gr=>{"use strict";var kt=Bt("buffer"),qn=V(),au=mt(),lu={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof kt.Buffer=="function")return kt.Buffer.from(t,"base64");if(typeof atob=="function"){let s=atob(t.replace(/[\n\r]/g,"")),n=new Uint8Array(s.length);for(let i=0;i<s.length;++i)n[i]=s.charCodeAt(i);return n}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:s},n,i,r){if(!s)return"";let o=s,a;if(typeof kt.Buffer=="function")a=o instanceof kt.Buffer?o.toString("base64"):kt.Buffer.from(o.buffer).toString("base64");else if(typeof btoa=="function"){let l="";for(let c=0;c<o.length;++c)l+=String.fromCharCode(o[c]);a=btoa(l)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=qn.Scalar.BLOCK_LITERAL),e!==qn.Scalar.QUOTE_DOUBLE){let l=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),c=Math.ceil(a.length/l),d=new Array(c);for(let f=0,u=0;f<c;++f,u+=l)d[f]=a.substr(u,l);a=d.join(e===qn.Scalar.BLOCK_LITERAL?`
54
- `:" ")}return au.stringifyString({comment:t,type:e,value:a},n,i,r)}};Gr.binary=lu});var vs=q(Ss=>{"use strict";var ks=_(),Tn=ke(),cu=V(),uu=$e();function Jr(t,e){if(ks.isSeq(t))for(let s=0;s<t.items.length;++s){let n=t.items[s];if(!ks.isPair(n)){if(ks.isMap(n)){n.items.length>1&&e("Each pair must have its own sequence indicator");let i=n.items[0]||new Tn.Pair(new cu.Scalar(null));if(n.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${n.commentBefore}
53
+ ${i}${y}`}else return`${u}${o}${f.join(" ")}${o}${y}`}function ds({indent:t,options:{commentString:e}},s,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let r=ps.indentComment(e(n),t);s.push(r.trimStart())}}Cr.stringifyCollection=Ac});var Ae=L($n=>{"use strict";var xc=vn(),qc=wn(),Cc=Zt(),Oe=F(),hs=$e(),Lc=V();function kt(t,e){let s=Oe.isScalar(e)?e.value:e;for(let n of t)if(Oe.isPair(n)&&(n.key===e||n.key===s||Oe.isScalar(n.key)&&n.key.value===s))return n}var Sn=class extends Cc.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Oe.MAP,e),this.items=[]}static from(e,s,n){let{keepUndefined:i,replacer:r}=n,o=new this(e),a=(l,c)=>{if(typeof r=="function")c=r.call(s,l,c);else if(Array.isArray(r)&&!r.includes(l))return;(c!==void 0||i)&&o.items.push(hs.createPair(l,c,n))};if(s instanceof Map)for(let[l,c]of s)a(l,c);else if(s&&typeof s=="object")for(let l of Object.keys(s))a(l,s[l]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,s){let n;Oe.isPair(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new hs.Pair(e,e?.value):n=new hs.Pair(e.key,e.value);let i=kt(this.items,n.key),r=this.schema?.sortMapEntries;if(i){if(!s)throw new Error(`Key ${n.key} already set`);Oe.isScalar(i.value)&&Lc.isScalarValue(n.value)?i.value.value=n.value:i.value=n.value}else if(r){let o=this.items.findIndex(a=>r(n,a)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){let s=kt(this.items,e);return s?this.items.splice(this.items.indexOf(s),1).length>0:!1}get(e,s){let i=kt(this.items,e)?.value;return(!s&&Oe.isScalar(i)?i.value:i)??void 0}has(e){return!!kt(this.items,e)}set(e,s){this.add(new hs.Pair(e,s),!0)}toJSON(e,s,n){let i=n?new n:s?.mapAsMap?new Map:{};s?.onCreate&&s.onCreate(i);for(let r of this.items)qc.addPairToJSMap(s,i,r);return i}toString(e,s,n){if(!e)return JSON.stringify(this);for(let i of this.items)if(!Oe.isPair(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),xc.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:s})}};$n.YAMLMap=Sn;$n.findPair=kt});var Ge=L(Tr=>{"use strict";var Tc=F(),Lr=Ae(),Ic={collection:"map",default:!0,nodeClass:Lr.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return Tc.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,s)=>Lr.YAMLMap.from(t,e,s)};Tr.map=Ic});var Ee=L(Ir=>{"use strict";var Pc=dt(),Mc=vn(),Dc=Zt(),gs=F(),Wc=V(),_c=we(),On=class extends Dc.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(gs.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let s=ms(e);return typeof s!="number"?!1:this.items.splice(s,1).length>0}get(e,s){let n=ms(e);if(typeof n!="number")return;let i=this.items[n];return!s&&gs.isScalar(i)?i.value:i}has(e){let s=ms(e);return typeof s=="number"&&s<this.items.length}set(e,s){let n=ms(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);let i=this.items[n];gs.isScalar(i)&&Wc.isScalarValue(s)?i.value=s:this.items[n]=s}toJSON(e,s){let n=[];s?.onCreate&&s.onCreate(n);let i=0;for(let r of this.items)n.push(_c.toJS(r,String(i++),s));return n}toString(e,s,n){return e?Mc.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:s}):JSON.stringify(this)}static from(e,s,n){let{replacer:i}=n,r=new this(e);if(s&&Symbol.iterator in Object(s)){let o=0;for(let a of s){if(typeof i=="function"){let l=s instanceof Set?a:String(o++);a=i.call(s,l,a)}r.items.push(Pc.createNode(a,void 0,n))}}return r}};function ms(t){let e=gs.isScalar(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Ir.YAMLSeq=On});var Je=L(Mr=>{"use strict";var Fc=F(),Pr=Ee(),jc={collection:"seq",default:!0,nodeClass:Pr.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return Fc.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,s)=>Pr.YAMLSeq.from(t,e,s)};Mr.seq=jc});var vt=L(Dr=>{"use strict";var Rc=yt(),Bc={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,s,n){return e=Object.assign({actualString:!0},e),Rc.stringifyString(t,e,s,n)}};Dr.string=Bc});var ys=L(Fr=>{"use strict";var Wr=V(),_r={identify:t=>t==null,createNode:()=>new Wr.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Wr.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&_r.test.test(t)?t:e.options.nullStr};Fr.nullTag=_r});var An=L(Rr=>{"use strict";var Kc=V(),jr={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new Kc.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},s){if(t&&jr.test.test(t)){let n=t[0]==="t"||t[0]==="T";if(e===n)return t}return e?s.options.trueStr:s.options.falseStr}};Rr.boolTag=jr});var Xe=L(Br=>{"use strict";function Uc({format:t,minFractionDigits:e,tag:s,value:n}){if(typeof n=="bigint")return String(n);let i=typeof n=="number"?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(n,-0)?"-0":JSON.stringify(n);if(!t&&e&&(!s||s==="tag:yaml.org,2002:float")&&/^-?\d/.test(r)&&!r.includes("e")){let o=r.indexOf(".");o<0&&(o=r.length,r+=".");let a=e-(r.length-o-1);for(;a-- >0;)r+="0"}return r}Br.stringifyNumber=Uc});var Nn=L(bs=>{"use strict";var Yc=V(),En=Xe(),zc={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:En.stringifyNumber},Vc={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():En.stringifyNumber(t)}},Gc={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new Yc.Scalar(parseFloat(t)),s=t.indexOf(".");return s!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-s-1),e},stringify:En.stringifyNumber};bs.float=Gc;bs.floatExp=Vc;bs.floatNaN=zc});var qn=L(ks=>{"use strict";var Kr=Xe(),ws=t=>typeof t=="bigint"||Number.isInteger(t),xn=(t,e,s,{intAsBigInt:n})=>n?BigInt(t):parseInt(t.substring(e),s);function Ur(t,e,s){let{value:n}=t;return ws(n)&&n>=0?s+n.toString(e):Kr.stringifyNumber(t)}var Jc={identify:t=>ws(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,s)=>xn(t,2,8,s),stringify:t=>Ur(t,8,"0o")},Xc={identify:ws,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,s)=>xn(t,0,10,s),stringify:Kr.stringifyNumber},Hc={identify:t=>ws(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,s)=>xn(t,2,16,s),stringify:t=>Ur(t,16,"0x")};ks.int=Xc;ks.intHex=Hc;ks.intOct=Jc});var zr=L(Yr=>{"use strict";var Qc=Ge(),Zc=ys(),eu=Je(),tu=vt(),su=An(),Cn=Nn(),Ln=qn(),nu=[Qc.map,eu.seq,tu.string,Zc.nullTag,su.boolTag,Ln.intOct,Ln.int,Ln.intHex,Cn.floatNaN,Cn.floatExp,Cn.float];Yr.schema=nu});var Jr=L(Gr=>{"use strict";var iu=V(),ru=Ge(),ou=Je();function Vr(t){return typeof t=="bigint"||Number.isInteger(t)}var vs=({value:t})=>JSON.stringify(t),au=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:vs},{identify:t=>t==null,createNode:()=>new iu.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:vs},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:vs},{identify:Vr,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:s})=>s?BigInt(t):parseInt(t,10),stringify:({value:t})=>Vr(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:vs}],lu={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},cu=[ru.map,ou.seq].concat(au,lu);Gr.schema=cu});var In=L(Xr=>{"use strict";var St=Ut("buffer"),Tn=V(),uu=yt(),fu={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof St.Buffer=="function")return St.Buffer.from(t,"base64");if(typeof atob=="function"){let s=atob(t.replace(/[\n\r]/g,"")),n=new Uint8Array(s.length);for(let i=0;i<s.length;++i)n[i]=s.charCodeAt(i);return n}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:s},n,i,r){if(!s)return"";let o=s,a;if(typeof St.Buffer=="function")a=o instanceof St.Buffer?o.toString("base64"):St.Buffer.from(o.buffer).toString("base64");else if(typeof btoa=="function"){let l="";for(let c=0;c<o.length;++c)l+=String.fromCharCode(o[c]);a=btoa(l)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=Tn.Scalar.BLOCK_LITERAL),e!==Tn.Scalar.QUOTE_DOUBLE){let l=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),c=Math.ceil(a.length/l),p=new Array(c);for(let f=0,u=0;f<c;++f,u+=l)p[f]=a.substr(u,l);a=p.join(e===Tn.Scalar.BLOCK_LITERAL?`
54
+ `:" ")}return uu.stringifyString({comment:t,type:e,value:a},n,i,r)}};Xr.binary=fu});var Os=L($s=>{"use strict";var Ss=F(),Pn=$e(),pu=V(),du=Ee();function Hr(t,e){if(Ss.isSeq(t))for(let s=0;s<t.items.length;++s){let n=t.items[s];if(!Ss.isPair(n)){if(Ss.isMap(n)){n.items.length>1&&e("Each pair must have its own sequence indicator");let i=n.items[0]||new Pn.Pair(new pu.Scalar(null));if(n.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${n.commentBefore}
55
55
  ${i.key.commentBefore}`:n.commentBefore),n.comment){let r=i.value??i.key;r.comment=r.comment?`${n.comment}
56
- ${r.comment}`:n.comment}n=i}t.items[s]=ks.isPair(n)?n:new Tn.Pair(n)}}else e("Expected a sequence for this tag");return t}function Xr(t,e,s){let{replacer:n}=s,i=new uu.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let r=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof n=="function"&&(o=n.call(e,String(r++),o));let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(Tn.createPair(a,l,s))}return i}var fu={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Jr,createNode:Xr};Ss.createPairs=Xr;Ss.pairs=fu;Ss.resolvePairs=Jr});var Mn=q(In=>{"use strict";var Hr=_(),Ln=ge(),St=ve(),du=$e(),Qr=vs(),Le=class t extends du.YAMLSeq{constructor(){super(),this.add=St.YAMLMap.prototype.add.bind(this),this.delete=St.YAMLMap.prototype.delete.bind(this),this.get=St.YAMLMap.prototype.get.bind(this),this.has=St.YAMLMap.prototype.has.bind(this),this.set=St.YAMLMap.prototype.set.bind(this),this.tag=t.tag}toJSON(e,s){if(!s)return super.toJSON(e);let n=new Map;s?.onCreate&&s.onCreate(n);for(let i of this.items){let r,o;if(Hr.isPair(i)?(r=Ln.toJS(i.key,"",s),o=Ln.toJS(i.value,r,s)):r=Ln.toJS(i,"",s),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,o)}return n}static from(e,s,n){let i=Qr.createPairs(e,s,n),r=new this;return r.items=i.items,r}};Le.tag="tag:yaml.org,2002:omap";var pu={collection:"seq",identify:t=>t instanceof Map,nodeClass:Le,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let s=Qr.resolvePairs(t,e),n=[];for(let{key:i}of s.items)Hr.isScalar(i)&&(n.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):n.push(i.value));return Object.assign(new Le,s)},createNode:(t,e,s)=>Le.from(t,e,s)};In.YAMLOMap=Le;In.omap=pu});var no=q(Pn=>{"use strict";var Zr=V();function eo({value:t,source:e},s){return e&&(t?to:so).test.test(e)?e:t?s.options.trueStr:s.options.falseStr}var to={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Zr.Scalar(!0),stringify:eo},so={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Zr.Scalar(!1),stringify:eo};Pn.falseTag=so;Pn.trueTag=to});var io=q($s=>{"use strict";var hu=V(),Dn=Ge(),mu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Dn.stringifyNumber},gu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Dn.stringifyNumber(t)}},yu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new hu.Scalar(parseFloat(t.replace(/_/g,""))),s=t.indexOf(".");if(s!==-1){let n=t.substring(s+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:Dn.stringifyNumber};$s.float=yu;$s.floatExp=gu;$s.floatNaN=mu});var oo=q($t=>{"use strict";var ro=Ge(),vt=t=>typeof t=="bigint"||Number.isInteger(t);function Os(t,e,s,{intAsBigInt:n}){let i=t[0];if((i==="-"||i==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),n){switch(s){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let o=BigInt(t);return i==="-"?BigInt(-1)*o:o}let r=parseInt(t,s);return i==="-"?-1*r:r}function _n(t,e,s){let{value:n}=t;if(vt(n)){let i=n.toString(e);return n<0?"-"+s+i.substr(1):s+i}return ro.stringifyNumber(t)}var bu={identify:vt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,s)=>Os(t,2,2,s),stringify:t=>_n(t,2,"0b")},wu={identify:vt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,s)=>Os(t,1,8,s),stringify:t=>_n(t,8,"0")},ku={identify:vt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,s)=>Os(t,0,10,s),stringify:ro.stringifyNumber},Su={identify:vt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,s)=>Os(t,2,16,s),stringify:t=>_n(t,16,"0x")};$t.int=ku;$t.intBin=bu;$t.intHex=Su;$t.intOct=wu});var Fn=q(Wn=>{"use strict";var Ns=_(),As=ke(),Es=ve(),Ie=class t extends Es.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let s;Ns.isPair(e)?s=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?s=new As.Pair(e.key,null):s=new As.Pair(e,null),Es.findPair(this.items,s.key)||this.items.push(s)}get(e,s){let n=Es.findPair(this.items,e);return!s&&Ns.isPair(n)?Ns.isScalar(n.key)?n.key.value:n.key:n}set(e,s){if(typeof s!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof s}`);let n=Es.findPair(this.items,e);n&&!s?this.items.splice(this.items.indexOf(n),1):!n&&s&&this.items.push(new As.Pair(e))}toJSON(e,s){return super.toJSON(e,s,Set)}toString(e,s,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),s,n);throw new Error("Set items must all have null values")}static from(e,s,n){let{replacer:i}=n,r=new this(e);if(s&&Symbol.iterator in Object(s))for(let o of s)typeof i=="function"&&(o=i.call(s,o,o)),r.items.push(As.createPair(o,null,n));return r}};Ie.tag="tag:yaml.org,2002:set";var vu={collection:"map",identify:t=>t instanceof Set,nodeClass:Ie,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,s)=>Ie.from(t,e,s),resolve(t,e){if(Ns.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new Ie,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};Wn.YAMLSet=Ie;Wn.set=vu});var jn=q(xs=>{"use strict";var $u=Ge();function Rn(t,e){let s=t[0],n=s==="-"||s==="+"?t.substring(1):t,i=o=>e?BigInt(o):Number(o),r=n.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return s==="-"?i(-1)*r:r}function ao(t){let{value:e}=t,s=o=>o;if(typeof e=="bigint")s=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return $u.stringifyNumber(t);let n="";e<0&&(n="-",e*=s(-1));let i=s(60),r=[e%i];return e<60?r.unshift(0):(e=(e-r[0])/i,r.unshift(e%i),e>=60&&(e=(e-r[0])/i,r.unshift(e))),n+r.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Ou={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:s})=>Rn(t,s),stringify:ao},Au={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>Rn(t,!1),stringify:ao},lo={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(t){let e=t.match(lo.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,n,i,r,o,a]=e.map(Number),l=e[7]?Number((e[7]+"00").substr(1,3)):0,c=Date.UTC(s,n-1,i,r||0,o||0,a||0,l),d=e[8];if(d&&d!=="Z"){let f=Rn(d,!1);Math.abs(f)<30&&(f*=60),c-=6e4*f}return new Date(c)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};xs.floatTime=Au;xs.intTime=Ou;xs.timestamp=lo});var fo=q(uo=>{"use strict";var Eu=ze(),Nu=ms(),xu=Ve(),qu=wt(),Cu=Cn(),co=no(),Bn=io(),qs=oo(),Tu=as(),Lu=Mn(),Iu=vs(),Mu=Fn(),Kn=jn(),Pu=[Eu.map,xu.seq,qu.string,Nu.nullTag,co.trueTag,co.falseTag,qs.intBin,qs.intOct,qs.int,qs.intHex,Bn.floatNaN,Bn.floatExp,Bn.float,Cu.binary,Tu.merge,Lu.omap,Iu.pairs,Mu.set,Kn.intTime,Kn.floatTime,Kn.timestamp];uo.schema=Pu});var vo=q(zn=>{"use strict";var go=ze(),Du=ms(),yo=Ve(),_u=wt(),Wu=vn(),Un=On(),Yn=En(),Fu=Ur(),Ru=Vr(),bo=Cn(),Ot=as(),wo=Mn(),ko=vs(),po=fo(),So=Fn(),Cs=jn(),ho=new Map([["core",Fu.schema],["failsafe",[go.map,yo.seq,_u.string]],["json",Ru.schema],["yaml11",po.schema],["yaml-1.1",po.schema]]),mo={binary:bo.binary,bool:Wu.boolTag,float:Un.float,floatExp:Un.floatExp,floatNaN:Un.floatNaN,floatTime:Cs.floatTime,int:Yn.int,intHex:Yn.intHex,intOct:Yn.intOct,intTime:Cs.intTime,map:go.map,merge:Ot.merge,null:Du.nullTag,omap:wo.omap,pairs:ko.pairs,seq:yo.seq,set:So.set,timestamp:Cs.timestamp},ju={"tag:yaml.org,2002:binary":bo.binary,"tag:yaml.org,2002:merge":Ot.merge,"tag:yaml.org,2002:omap":wo.omap,"tag:yaml.org,2002:pairs":ko.pairs,"tag:yaml.org,2002:set":So.set,"tag:yaml.org,2002:timestamp":Cs.timestamp};function Bu(t,e,s){let n=ho.get(e);if(n&&!t)return s&&!n.includes(Ot.merge)?n.concat(Ot.merge):n.slice();let i=n;if(!i)if(Array.isArray(t))i=[];else{let r=Array.from(ho.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${r} or define customTags array`)}if(Array.isArray(t))for(let r of t)i=i.concat(r);else typeof t=="function"&&(i=t(i.slice()));return s&&(i=i.concat(Ot.merge)),i.reduce((r,o)=>{let a=typeof o=="string"?mo[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(mo).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${c}`)}return r.includes(a)||r.push(a),r},[])}zn.coreKnownTags=ju;zn.getTags=Bu});var Jn=q($o=>{"use strict";var Vn=_(),Ku=ze(),Uu=Ve(),Yu=wt(),Ts=vo(),zu=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,Gn=class t{constructor({compat:e,customTags:s,merge:n,resolveKnownTags:i,schema:r,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Ts.getTags(e,"compat"):e?Ts.getTags(null,e):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?Ts.coreKnownTags:{},this.tags=Ts.getTags(s,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Vn.MAP,{value:Ku.map}),Object.defineProperty(this,Vn.SCALAR,{value:Yu.string}),Object.defineProperty(this,Vn.SEQ,{value:Uu.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?zu:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};$o.Schema=Gn});var Ao=q(Oo=>{"use strict";var Vu=_(),Xn=gt(),At=dt();function Gu(t,e){let s=[],n=e.directives===!0;if(e.directives!==!1&&t.directives){let l=t.directives.toString(t);l?(s.push(l),n=!0):t.directives.docStart&&(n=!0)}n&&s.push("---");let i=Xn.createStringifyContext(t,e),{commentString:r}=i.options;if(t.commentBefore){s.length!==1&&s.unshift("");let l=r(t.commentBefore);s.unshift(At.indentComment(l,""))}let o=!1,a=null;if(t.contents){if(Vu.isNode(t.contents)){if(t.contents.spaceBefore&&n&&s.push(""),t.contents.commentBefore){let d=r(t.contents.commentBefore);s.push(At.indentComment(d,""))}i.forceBlockIndent=!!t.comment,a=t.contents.comment}let l=a?void 0:()=>o=!0,c=Xn.stringify(t.contents,i,()=>a=null,l);a&&(c+=At.lineComment(c,"",r(a))),(c[0]==="|"||c[0]===">")&&s[s.length-1]==="---"?s[s.length-1]=`--- ${c}`:s.push(c)}else s.push(Xn.stringify(t.contents,i));if(t.directives?.docEnd)if(t.comment){let l=r(t.comment);l.includes(`
57
- `)?(s.push("..."),s.push(At.indentComment(l,""))):s.push(`... ${l}`)}else s.push("...");else{let l=t.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&s[s.length-1]!==""&&s.push(""),s.push(At.indentComment(r(l),"")))}return s.join(`
56
+ ${r.comment}`:n.comment}n=i}t.items[s]=Ss.isPair(n)?n:new Pn.Pair(n)}}else e("Expected a sequence for this tag");return t}function Qr(t,e,s){let{replacer:n}=s,i=new du.YAMLSeq(t);i.tag="tag:yaml.org,2002:pairs";let r=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof n=="function"&&(o=n.call(e,String(r++),o));let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw new TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(Pn.createPair(a,l,s))}return i}var hu={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Hr,createNode:Qr};$s.createPairs=Qr;$s.pairs=hu;$s.resolvePairs=Hr});var Wn=L(Dn=>{"use strict";var Zr=F(),Mn=we(),$t=Ae(),mu=Ee(),eo=Os(),Pe=class t extends mu.YAMLSeq{constructor(){super(),this.add=$t.YAMLMap.prototype.add.bind(this),this.delete=$t.YAMLMap.prototype.delete.bind(this),this.get=$t.YAMLMap.prototype.get.bind(this),this.has=$t.YAMLMap.prototype.has.bind(this),this.set=$t.YAMLMap.prototype.set.bind(this),this.tag=t.tag}toJSON(e,s){if(!s)return super.toJSON(e);let n=new Map;s?.onCreate&&s.onCreate(n);for(let i of this.items){let r,o;if(Zr.isPair(i)?(r=Mn.toJS(i.key,"",s),o=Mn.toJS(i.value,r,s)):r=Mn.toJS(i,"",s),n.has(r))throw new Error("Ordered maps must not include duplicate keys");n.set(r,o)}return n}static from(e,s,n){let i=eo.createPairs(e,s,n),r=new this;return r.items=i.items,r}};Pe.tag="tag:yaml.org,2002:omap";var gu={collection:"seq",identify:t=>t instanceof Map,nodeClass:Pe,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let s=eo.resolvePairs(t,e),n=[];for(let{key:i}of s.items)Zr.isScalar(i)&&(n.includes(i.value)?e(`Ordered maps must not include duplicate keys: ${i.value}`):n.push(i.value));return Object.assign(new Pe,s)},createNode:(t,e,s)=>Pe.from(t,e,s)};Dn.YAMLOMap=Pe;Dn.omap=gu});var ro=L(_n=>{"use strict";var to=V();function so({value:t,source:e},s){return e&&(t?no:io).test.test(e)?e:t?s.options.trueStr:s.options.falseStr}var no={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new to.Scalar(!0),stringify:so},io={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new to.Scalar(!1),stringify:so};_n.falseTag=io;_n.trueTag=no});var oo=L(As=>{"use strict";var yu=V(),Fn=Xe(),bu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fn.stringifyNumber},wu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Fn.stringifyNumber(t)}},ku={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new yu.Scalar(parseFloat(t.replace(/_/g,""))),s=t.indexOf(".");if(s!==-1){let n=t.substring(s+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:Fn.stringifyNumber};As.float=ku;As.floatExp=wu;As.floatNaN=bu});var lo=L(At=>{"use strict";var ao=Xe(),Ot=t=>typeof t=="bigint"||Number.isInteger(t);function Es(t,e,s,{intAsBigInt:n}){let i=t[0];if((i==="-"||i==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),n){switch(s){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let o=BigInt(t);return i==="-"?BigInt(-1)*o:o}let r=parseInt(t,s);return i==="-"?-1*r:r}function jn(t,e,s){let{value:n}=t;if(Ot(n)){let i=n.toString(e);return n<0?"-"+s+i.substr(1):s+i}return ao.stringifyNumber(t)}var vu={identify:Ot,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,s)=>Es(t,2,2,s),stringify:t=>jn(t,2,"0b")},Su={identify:Ot,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,s)=>Es(t,1,8,s),stringify:t=>jn(t,8,"0")},$u={identify:Ot,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,s)=>Es(t,0,10,s),stringify:ao.stringifyNumber},Ou={identify:Ot,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,s)=>Es(t,2,16,s),stringify:t=>jn(t,16,"0x")};At.int=$u;At.intBin=vu;At.intHex=Ou;At.intOct=Su});var Bn=L(Rn=>{"use strict";var qs=F(),Ns=$e(),xs=Ae(),Me=class t extends xs.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let s;qs.isPair(e)?s=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?s=new Ns.Pair(e.key,null):s=new Ns.Pair(e,null),xs.findPair(this.items,s.key)||this.items.push(s)}get(e,s){let n=xs.findPair(this.items,e);return!s&&qs.isPair(n)?qs.isScalar(n.key)?n.key.value:n.key:n}set(e,s){if(typeof s!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof s}`);let n=xs.findPair(this.items,e);n&&!s?this.items.splice(this.items.indexOf(n),1):!n&&s&&this.items.push(new Ns.Pair(e))}toJSON(e,s){return super.toJSON(e,s,Set)}toString(e,s,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),s,n);throw new Error("Set items must all have null values")}static from(e,s,n){let{replacer:i}=n,r=new this(e);if(s&&Symbol.iterator in Object(s))for(let o of s)typeof i=="function"&&(o=i.call(s,o,o)),r.items.push(Ns.createPair(o,null,n));return r}};Me.tag="tag:yaml.org,2002:set";var Au={collection:"map",identify:t=>t instanceof Set,nodeClass:Me,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,s)=>Me.from(t,e,s),resolve(t,e){if(qs.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new Me,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};Rn.YAMLSet=Me;Rn.set=Au});var Un=L(Cs=>{"use strict";var Eu=Xe();function Kn(t,e){let s=t[0],n=s==="-"||s==="+"?t.substring(1):t,i=o=>e?BigInt(o):Number(o),r=n.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return s==="-"?i(-1)*r:r}function co(t){let{value:e}=t,s=o=>o;if(typeof e=="bigint")s=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Eu.stringifyNumber(t);let n="";e<0&&(n="-",e*=s(-1));let i=s(60),r=[e%i];return e<60?r.unshift(0):(e=(e-r[0])/i,r.unshift(e%i),e>=60&&(e=(e-r[0])/i,r.unshift(e))),n+r.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Nu={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:s})=>Kn(t,s),stringify:co},xu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>Kn(t,!1),stringify:co},uo={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(t){let e=t.match(uo.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,n,i,r,o,a]=e.map(Number),l=e[7]?Number((e[7]+"00").substr(1,3)):0,c=Date.UTC(s,n-1,i,r||0,o||0,a||0,l),p=e[8];if(p&&p!=="Z"){let f=Kn(p,!1);Math.abs(f)<30&&(f*=60),c-=6e4*f}return new Date(c)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Cs.floatTime=xu;Cs.intTime=Nu;Cs.timestamp=uo});var ho=L(po=>{"use strict";var qu=Ge(),Cu=ys(),Lu=Je(),Tu=vt(),Iu=In(),fo=ro(),Yn=oo(),Ls=lo(),Pu=cs(),Mu=Wn(),Du=Os(),Wu=Bn(),zn=Un(),_u=[qu.map,Lu.seq,Tu.string,Cu.nullTag,fo.trueTag,fo.falseTag,Ls.intBin,Ls.intOct,Ls.int,Ls.intHex,Yn.floatNaN,Yn.floatExp,Yn.float,Iu.binary,Pu.merge,Mu.omap,Du.pairs,Wu.set,zn.intTime,zn.floatTime,zn.timestamp];po.schema=_u});var Oo=L(Jn=>{"use strict";var bo=Ge(),Fu=ys(),wo=Je(),ju=vt(),Ru=An(),Vn=Nn(),Gn=qn(),Bu=zr(),Ku=Jr(),ko=In(),Et=cs(),vo=Wn(),So=Os(),mo=ho(),$o=Bn(),Ts=Un(),go=new Map([["core",Bu.schema],["failsafe",[bo.map,wo.seq,ju.string]],["json",Ku.schema],["yaml11",mo.schema],["yaml-1.1",mo.schema]]),yo={binary:ko.binary,bool:Ru.boolTag,float:Vn.float,floatExp:Vn.floatExp,floatNaN:Vn.floatNaN,floatTime:Ts.floatTime,int:Gn.int,intHex:Gn.intHex,intOct:Gn.intOct,intTime:Ts.intTime,map:bo.map,merge:Et.merge,null:Fu.nullTag,omap:vo.omap,pairs:So.pairs,seq:wo.seq,set:$o.set,timestamp:Ts.timestamp},Uu={"tag:yaml.org,2002:binary":ko.binary,"tag:yaml.org,2002:merge":Et.merge,"tag:yaml.org,2002:omap":vo.omap,"tag:yaml.org,2002:pairs":So.pairs,"tag:yaml.org,2002:set":$o.set,"tag:yaml.org,2002:timestamp":Ts.timestamp};function Yu(t,e,s){let n=go.get(e);if(n&&!t)return s&&!n.includes(Et.merge)?n.concat(Et.merge):n.slice();let i=n;if(!i)if(Array.isArray(t))i=[];else{let r=Array.from(go.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${r} or define customTags array`)}if(Array.isArray(t))for(let r of t)i=i.concat(r);else typeof t=="function"&&(i=t(i.slice()));return s&&(i=i.concat(Et.merge)),i.reduce((r,o)=>{let a=typeof o=="string"?yo[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(yo).map(p=>JSON.stringify(p)).join(", ");throw new Error(`Unknown custom tag ${l}; use one of ${c}`)}return r.includes(a)||r.push(a),r},[])}Jn.coreKnownTags=Uu;Jn.getTags=Yu});var Qn=L(Ao=>{"use strict";var Xn=F(),zu=Ge(),Vu=Je(),Gu=vt(),Is=Oo(),Ju=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,Hn=class t{constructor({compat:e,customTags:s,merge:n,resolveKnownTags:i,schema:r,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?Is.getTags(e,"compat"):e?Is.getTags(null,e):null,this.name=typeof r=="string"&&r||"core",this.knownTags=i?Is.coreKnownTags:{},this.tags=Is.getTags(s,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Xn.MAP,{value:zu.map}),Object.defineProperty(this,Xn.SCALAR,{value:Gu.string}),Object.defineProperty(this,Xn.SEQ,{value:Vu.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?Ju:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};Ao.Schema=Hn});var No=L(Eo=>{"use strict";var Xu=F(),Zn=bt(),Nt=ht();function Hu(t,e){let s=[],n=e.directives===!0;if(e.directives!==!1&&t.directives){let l=t.directives.toString(t);l?(s.push(l),n=!0):t.directives.docStart&&(n=!0)}n&&s.push("---");let i=Zn.createStringifyContext(t,e),{commentString:r}=i.options;if(t.commentBefore){s.length!==1&&s.unshift("");let l=r(t.commentBefore);s.unshift(Nt.indentComment(l,""))}let o=!1,a=null;if(t.contents){if(Xu.isNode(t.contents)){if(t.contents.spaceBefore&&n&&s.push(""),t.contents.commentBefore){let p=r(t.contents.commentBefore);s.push(Nt.indentComment(p,""))}i.forceBlockIndent=!!t.comment,a=t.contents.comment}let l=a?void 0:()=>o=!0,c=Zn.stringify(t.contents,i,()=>a=null,l);a&&(c+=Nt.lineComment(c,"",r(a))),(c[0]==="|"||c[0]===">")&&s[s.length-1]==="---"?s[s.length-1]=`--- ${c}`:s.push(c)}else s.push(Zn.stringify(t.contents,i));if(t.directives?.docEnd)if(t.comment){let l=r(t.comment);l.includes(`
57
+ `)?(s.push("..."),s.push(Nt.indentComment(l,""))):s.push(`... ${l}`)}else s.push("...");else{let l=t.comment;l&&o&&(l=l.replace(/^\n+/,"")),l&&((!o||a)&&s[s.length-1]!==""&&s.push(""),s.push(Nt.indentComment(r(l),"")))}return s.join(`
58
58
  `)+`
59
- `}Oo.stringifyDocument=Gu});var Et=q(Eo=>{"use strict";var Ju=ut(),Je=Ht(),ne=_(),Xu=ke(),Hu=ge(),Qu=Jn(),Zu=Ao(),Hn=Vt(),ef=en(),tf=ft(),Qn=Zs(),Zn=class t{constructor(e,s,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ne.NODE_TYPE,{value:ne.DOC});let i=null;typeof s=="function"||Array.isArray(s)?i=s:n===void 0&&s&&(n=s,s=void 0);let r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:o}=r;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Qn.Directives({version:o}),this.setSchema(o,n),this.contents=e===void 0?null:this.createNode(e,i,n)}clone(){let e=Object.create(t.prototype,{[ne.NODE_TYPE]:{value:ne.DOC}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=ne.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Xe(this.contents)&&this.contents.add(e)}addIn(e,s){Xe(this.contents)&&this.contents.addIn(e,s)}createAlias(e,s){if(!e.anchor){let n=Hn.anchorNames(this);e.anchor=!s||n.has(s)?Hn.findNewAnchor(s||"a",n):s}return new Ju.Alias(e.anchor)}createNode(e,s,n){let i;if(typeof s=="function")e=s.call({"":e},"",e),i=s;else if(Array.isArray(s)){let w=b=>typeof b=="number"||b instanceof String||b instanceof Number,h=s.filter(w).map(String);h.length>0&&(s=s.concat(h)),i=s}else n===void 0&&s&&(n=s,s=void 0);let{aliasDuplicateObjects:r,anchorPrefix:o,flow:a,keepUndefined:l,onTagObj:c,tag:d}=n??{},{onAnchor:f,setAnchors:u,sourceObjects:y}=Hn.createNodeAnchors(this,o||"a"),$={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:f,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:y},m=tf.createNode(e,d,$);return a&&ne.isCollection(m)&&(m.flow=!0),u(),m}createPair(e,s,n={}){let i=this.createNode(e,null,n),r=this.createNode(s,null,n);return new Xu.Pair(i,r)}delete(e){return Xe(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Je.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):Xe(this.contents)?this.contents.deleteIn(e):!1}get(e,s){return ne.isCollection(this.contents)?this.contents.get(e,s):void 0}getIn(e,s){return Je.isEmptyPath(e)?!s&&ne.isScalar(this.contents)?this.contents.value:this.contents:ne.isCollection(this.contents)?this.contents.getIn(e,s):void 0}has(e){return ne.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return Je.isEmptyPath(e)?this.contents!==void 0:ne.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,s){this.contents==null?this.contents=Je.collectionFromPath(this.schema,[e],s):Xe(this.contents)&&this.contents.set(e,s)}setIn(e,s){Je.isEmptyPath(e)?this.contents=s:this.contents==null?this.contents=Je.collectionFromPath(this.schema,Array.from(e),s):Xe(this.contents)&&this.contents.setIn(e,s)}setSchema(e,s={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Qn.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Qn.Directives({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let i=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(s.schema instanceof Object)this.schema=s.schema;else if(n)this.schema=new Qu.Schema(Object.assign(n,s));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:s,mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},l=Hu.toJS(this.contents,s??"",a);if(typeof r=="function")for(let{count:c,res:d}of a.anchors.values())r(d,c);return typeof o=="function"?ef.applyReviver(o,{"":l},"",l):l}toJSON(e,s){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:s})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let s=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${s}`)}return Zu.stringifyDocument(this,e)}};function Xe(t){if(ne.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}Eo.Document=Zn});var qt=q(xt=>{"use strict";var Nt=class extends Error{constructor(e,s,n,i){super(),this.name=e,this.code=n,this.message=i,this.pos=s}},ei=class extends Nt{constructor(e,s,n){super("YAMLParseError",e,s,n)}},ti=class extends Nt{constructor(e,s,n){super("YAMLWarning",e,s,n)}},sf=(t,e)=>s=>{if(s.pos[0]===-1)return;s.linePos=s.pos.map(a=>e.linePos(a));let{line:n,col:i}=s.linePos[0];s.message+=` at line ${n}, column ${i}`;let r=i-1,o=t.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let a=Math.min(r-39,o.length-79);o="\u2026"+o.substring(a),r-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(o.substring(0,r))){let a=t.substring(e.lineStarts[n-2],e.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
59
+ `}Eo.stringifyDocument=Hu});var xt=L(xo=>{"use strict";var Qu=pt(),He=Zt(),re=F(),Zu=$e(),ef=we(),tf=Qn(),sf=No(),ei=Jt(),nf=nn(),rf=dt(),ti=sn(),si=class t{constructor(e,s,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,re.NODE_TYPE,{value:re.DOC});let i=null;typeof s=="function"||Array.isArray(s)?i=s:n===void 0&&s&&(n=s,s=void 0);let r=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=r;let{version:o}=r;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new ti.Directives({version:o}),this.setSchema(o,n),this.contents=e===void 0?null:this.createNode(e,i,n)}clone(){let e=Object.create(t.prototype,{[re.NODE_TYPE]:{value:re.DOC}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=re.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Qe(this.contents)&&this.contents.add(e)}addIn(e,s){Qe(this.contents)&&this.contents.addIn(e,s)}createAlias(e,s){if(!e.anchor){let n=ei.anchorNames(this);e.anchor=!s||n.has(s)?ei.findNewAnchor(s||"a",n):s}return new Qu.Alias(e.anchor)}createNode(e,s,n){let i;if(typeof s=="function")e=s.call({"":e},"",e),i=s;else if(Array.isArray(s)){let w=b=>typeof b=="number"||b instanceof String||b instanceof Number,h=s.filter(w).map(String);h.length>0&&(s=s.concat(h)),i=s}else n===void 0&&s&&(n=s,s=void 0);let{aliasDuplicateObjects:r,anchorPrefix:o,flow:a,keepUndefined:l,onTagObj:c,tag:p}=n??{},{onAnchor:f,setAnchors:u,sourceObjects:y}=ei.createNodeAnchors(this,o||"a"),$={aliasDuplicateObjects:r??!0,keepUndefined:l??!1,onAnchor:f,onTagObj:c,replacer:i,schema:this.schema,sourceObjects:y},m=rf.createNode(e,p,$);return a&&re.isCollection(m)&&(m.flow=!0),u(),m}createPair(e,s,n={}){let i=this.createNode(e,null,n),r=this.createNode(s,null,n);return new Zu.Pair(i,r)}delete(e){return Qe(this.contents)?this.contents.delete(e):!1}deleteIn(e){return He.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):Qe(this.contents)?this.contents.deleteIn(e):!1}get(e,s){return re.isCollection(this.contents)?this.contents.get(e,s):void 0}getIn(e,s){return He.isEmptyPath(e)?!s&&re.isScalar(this.contents)?this.contents.value:this.contents:re.isCollection(this.contents)?this.contents.getIn(e,s):void 0}has(e){return re.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return He.isEmptyPath(e)?this.contents!==void 0:re.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,s){this.contents==null?this.contents=He.collectionFromPath(this.schema,[e],s):Qe(this.contents)&&this.contents.set(e,s)}setIn(e,s){He.isEmptyPath(e)?this.contents=s:this.contents==null?this.contents=He.collectionFromPath(this.schema,Array.from(e),s):Qe(this.contents)&&this.contents.setIn(e,s)}setSchema(e,s={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new ti.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new ti.Directives({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let i=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(s.schema instanceof Object)this.schema=s.schema;else if(n)this.schema=new tf.Schema(Object.assign(n,s));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:s,mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},l=ef.toJS(this.contents,s??"",a);if(typeof r=="function")for(let{count:c,res:p}of a.anchors.values())r(p,c);return typeof o=="function"?nf.applyReviver(o,{"":l},"",l):l}toJSON(e,s){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:s})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let s=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${s}`)}return sf.stringifyDocument(this,e)}};function Qe(t){if(re.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}xo.Document=si});var Lt=L(Ct=>{"use strict";var qt=class extends Error{constructor(e,s,n,i){super(),this.name=e,this.code=n,this.message=i,this.pos=s}},ni=class extends qt{constructor(e,s,n){super("YAMLParseError",e,s,n)}},ii=class extends qt{constructor(e,s,n){super("YAMLWarning",e,s,n)}},of=(t,e)=>s=>{if(s.pos[0]===-1)return;s.linePos=s.pos.map(a=>e.linePos(a));let{line:n,col:i}=s.linePos[0];s.message+=` at line ${n}, column ${i}`;let r=i-1,o=t.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let a=Math.min(r-39,o.length-79);o="\u2026"+o.substring(a),r-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(o.substring(0,r))){let a=t.substring(e.lineStarts[n-2],e.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
60
60
  `),o=a+o}if(/[^ ]/.test(o)){let a=1,l=s.linePos[1];l?.line===n&&l.col>i&&(a=Math.max(1,Math.min(l.col-i,80-r)));let c=" ".repeat(r)+"^".repeat(a);s.message+=`:
61
61
 
62
62
  ${o}
63
63
  ${c}
64
- `}};xt.YAMLError=Nt;xt.YAMLParseError=ei;xt.YAMLWarning=ti;xt.prettifyError=sf});var Ct=q(No=>{"use strict";function nf(t,{flow:e,indicator:s,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,d=a,f="",u="",y=!1,$=!1,m=null,w=null,h=null,b=null,g=null,A=null,E=null;for(let k of t)switch($&&(k.type!=="space"&&k.type!=="newline"&&k.type!=="comma"&&r(k.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),$=!1),m&&(c&&k.type!=="comment"&&k.type!=="newline"&&r(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),k.type){case"space":!e&&(s!=="doc-start"||n?.type!=="flow-collection")&&k.source.includes(" ")&&(m=k),d=!0;break;case"comment":{d||r(k,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let I=k.source.substring(1)||" ";f?f+=u+I:f=I,u="",c=!1;break}case"newline":c?f?f+=k.source:(!A||s!=="seq-item-ind")&&(l=!0):u+=k.source,c=!0,y=!0,(w||h)&&(b=k),d=!0;break;case"anchor":w&&r(k,"MULTIPLE_ANCHORS","A node can have at most one anchor"),k.source.endsWith(":")&&r(k.offset+k.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),w=k,E??(E=k.offset),c=!1,d=!1,$=!0;break;case"tag":{h&&r(k,"MULTIPLE_TAGS","A node can have at most one tag"),h=k,E??(E=k.offset),c=!1,d=!1,$=!0;break}case s:(w||h)&&r(k,"BAD_PROP_ORDER",`Anchors and tags must be after the ${k.source} indicator`),A&&r(k,"UNEXPECTED_TOKEN",`Unexpected ${k.source} in ${e??"collection"}`),A=k,c=s==="seq-item-ind"||s==="explicit-key-ind",d=!1;break;case"comma":if(e){g&&r(k,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),g=k,c=!1,d=!1;break}default:r(k,"UNEXPECTED_TOKEN",`Unexpected ${k.type} token`),c=!1,d=!1}let x=t[t.length-1],L=x?x.offset+x.source.length:i;return $&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&r(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(c&&m.indent<=o||n?.type==="block-map"||n?.type==="block-seq")&&r(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:g,found:A,spaceBefore:l,comment:f,hasNewline:y,anchor:w,tag:h,newlineAfterProp:b,end:L,start:E??L}}No.resolveProps=nf});var Ls=q(xo=>{"use strict";function si(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(`
65
- `))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let s of e.start)if(s.type==="newline")return!0;if(e.sep){for(let s of e.sep)if(s.type==="newline")return!0}if(si(e.key)||si(e.value))return!0}return!1;default:return!0}}xo.containsNewline=si});var ni=q(qo=>{"use strict";var rf=Ls();function of(t,e,s){if(e?.type==="flow-collection"){let n=e.end[0];n.indent===t&&(n.source==="]"||n.source==="}")&&rf.containsNewline(e)&&s(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}qo.flowIndentCheck=of});var ii=q(To=>{"use strict";var Co=_();function af(t,e,s){let{uniqueKeys:n}=t.options;if(n===!1)return!1;let i=typeof n=="function"?n:(r,o)=>r===o||Co.isScalar(r)&&Co.isScalar(o)&&r.value===o.value;return e.some(r=>i(r.key,s))}To.mapIncludes=af});var _o=q(Do=>{"use strict";var Lo=ke(),lf=ve(),Io=Ct(),cf=Ls(),Mo=ni(),uf=ii(),Po="All mapping items must start at the same column";function ff({composeNode:t,composeEmptyNode:e},s,n,i,r){let o=r?.nodeClass??lf.YAMLMap,a=new o(s.schema);s.atRoot&&(s.atRoot=!1);let l=n.offset,c=null;for(let d of n.items){let{start:f,key:u,sep:y,value:$}=d,m=Io.resolveProps(f,{indicator:"explicit-key-ind",next:u??y?.[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),w=!m.found;if(w){if(u&&(u.type==="block-seq"?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in u&&u.indent!==n.indent&&i(l,"BAD_INDENT",Po)),!m.anchor&&!m.tag&&!y){c=m.end,m.comment&&(a.comment?a.comment+=`
66
- `+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||cf.containsNewline(u))&&i(u??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==n.indent&&i(l,"BAD_INDENT",Po);s.atKey=!0;let h=m.end,b=u?t(s,u,m,i):e(s,h,f,null,m,i);s.schema.compat&&Mo.flowIndentCheck(n.indent,u,i),s.atKey=!1,uf.mapIncludes(s,a.items,b)&&i(h,"DUPLICATE_KEY","Map keys must be unique");let g=Io.resolveProps(y??[],{indicator:"map-value-ind",next:$,offset:b.range[2],onError:i,parentIndent:n.indent,startOnNewline:!u||u.type==="block-scalar"});if(l=g.end,g.found){w&&($?.type==="block-map"&&!g.hasNewline&&i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),s.options.strict&&m.start<g.found.offset-1024&&i(b.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let A=$?t(s,$,g,i):e(s,l,y,null,g,i);s.schema.compat&&Mo.flowIndentCheck(n.indent,$,i),l=A.range[2];let E=new Lo.Pair(b,A);s.options.keepSourceTokens&&(E.srcToken=d),a.items.push(E)}else{w&&i(b.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),g.comment&&(b.comment?b.comment+=`
67
- `+g.comment:b.comment=g.comment);let A=new Lo.Pair(b);s.options.keepSourceTokens&&(A.srcToken=d),a.items.push(A)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,l,c??l],a}Do.resolveBlockMap=ff});var Fo=q(Wo=>{"use strict";var df=$e(),pf=Ct(),hf=ni();function mf({composeNode:t,composeEmptyNode:e},s,n,i,r){let o=r?.nodeClass??df.YAMLSeq,a=new o(s.schema);s.atRoot&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let l=n.offset,c=null;for(let{start:d,value:f}of n.items){let u=pf.resolveProps(d,{indicator:"seq-item-ind",next:f,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!u.found)if(u.anchor||u.tag||f)f?.type==="block-seq"?i(u.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{c=u.end,u.comment&&(a.comment=u.comment);continue}let y=f?t(s,f,u,i):e(s,u.end,d,null,u,i);s.schema.compat&&hf.flowIndentCheck(n.indent,f,i),l=y.range[2],a.items.push(y)}return a.range=[n.offset,l,c??l],a}Wo.resolveBlockSeq=mf});var He=q(Ro=>{"use strict";function gf(t,e,s,n){let i="";if(t){let r=!1,o="";for(let a of t){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{s&&!r&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=l.substring(1)||" ";i?i+=o+d:i=d,o="";break}case"newline":i&&(o+=l),r=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}e+=l.length}}return{comment:i,offset:e}}Ro.resolveEnd=gf});var Uo=q(Ko=>{"use strict";var yf=_(),bf=ke(),jo=ve(),wf=$e(),kf=He(),Bo=Ct(),Sf=Ls(),vf=ii(),ri="Block collections are not allowed within flow collections",oi=t=>t&&(t.type==="block-map"||t.type==="block-seq");function $f({composeNode:t,composeEmptyNode:e},s,n,i,r){let o=n.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?jo.YAMLMap:wf.YAMLSeq),c=new l(s.schema);c.flow=!0;let d=s.atRoot;d&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let f=n.offset+n.start.source.length;for(let w=0;w<n.items.length;++w){let h=n.items[w],{start:b,key:g,sep:A,value:E}=h,x=Bo.resolveProps(b,{flow:a,indicator:"explicit-key-ind",next:g??A?.[0],offset:f,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!A&&!E){w===0&&x.comma?i(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):w<n.items.length-1&&i(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),x.comment&&(c.comment?c.comment+=`
68
- `+x.comment:c.comment=x.comment),f=x.end;continue}!o&&s.options.strict&&Sf.containsNewline(g)&&i(g,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(w===0)x.comma&&i(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(x.comma||i(x.start,"MISSING_CHAR",`Missing , between ${a} items`),x.comment){let L="";e:for(let k of b)switch(k.type){case"comma":case"space":break;case"comment":L=k.source.substring(1);break e;default:break e}if(L){let k=c.items[c.items.length-1];yf.isPair(k)&&(k=k.value??k.key),k.comment?k.comment+=`
69
- `+L:k.comment=L,x.comment=x.comment.substring(L.length+1)}}if(!o&&!A&&!x.found){let L=E?t(s,E,x,i):e(s,x.end,A,null,x,i);c.items.push(L),f=L.range[2],oi(E)&&i(L.range,"BLOCK_IN_FLOW",ri)}else{s.atKey=!0;let L=x.end,k=g?t(s,g,x,i):e(s,L,b,null,x,i);oi(g)&&i(k.range,"BLOCK_IN_FLOW",ri),s.atKey=!1;let I=Bo.resolveProps(A??[],{flow:a,indicator:"map-value-ind",next:E,offset:k.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if(I.found){if(!o&&!x.found&&s.options.strict){if(A)for(let p of A){if(p===I.found)break;if(p.type==="newline"){i(p,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<I.found.offset-1024&&i(I.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else E&&("source"in E&&E.source?.[0]===":"?i(E,"MISSING_CHAR",`Missing space after : in ${a}`):i(I.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let B=E?t(s,E,I,i):I.found?e(s,I.end,A,null,I,i):null;B?oi(E)&&i(B.range,"BLOCK_IN_FLOW",ri):I.comment&&(k.comment?k.comment+=`
70
- `+I.comment:k.comment=I.comment);let O=new bf.Pair(k,B);if(s.options.keepSourceTokens&&(O.srcToken=h),o){let p=c;vf.mapIncludes(s,p.items,k)&&i(L,"DUPLICATE_KEY","Map keys must be unique"),p.items.push(O)}else{let p=new jo.YAMLMap(s.schema);p.flow=!0,p.items.push(O);let v=(B??k).range;p.range=[k.range[0],v[1],v[2]],c.items.push(p)}f=B?B.range[2]:I.end}}let u=o?"}":"]",[y,...$]=n.end,m=f;if(y?.source===u)m=y.offset+y.source.length;else{let w=a[0].toUpperCase()+a.substring(1),h=d?`${w} must end with a ${u}`:`${w} in block collection must be sufficiently indented and end with a ${u}`;i(f,d?"MISSING_CHAR":"BAD_INDENT",h),y&&y.source.length!==1&&$.unshift(y)}if($.length>0){let w=kf.resolveEnd($,m,s.options.strict,i);w.comment&&(c.comment?c.comment+=`
71
- `+w.comment:c.comment=w.comment),c.range=[n.offset,m,w.offset]}else c.range=[n.offset,m,m];return c}Ko.resolveFlowCollection=$f});var zo=q(Yo=>{"use strict";var Of=_(),Af=V(),Ef=ve(),Nf=$e(),xf=_o(),qf=Fo(),Cf=Uo();function ai(t,e,s,n,i,r){let o=s.type==="block-map"?xf.resolveBlockMap(t,e,s,n,r):s.type==="block-seq"?qf.resolveBlockSeq(t,e,s,n,r):Cf.resolveFlowCollection(t,e,s,n,r),a=o.constructor;return i==="!"||i===a.tagName?(o.tag=a.tagName,o):(i&&(o.tag=i),o)}function Tf(t,e,s,n,i){let r=n.tag,o=r?e.directives.tagName(r.source,u=>i(r,"TAG_RESOLVE_FAILED",u)):null;if(s.type==="block-seq"){let{anchor:u,newlineAfterProp:y}=n,$=u&&r?u.offset>r.offset?u:r:u??r;$&&(!y||y.offset<$.offset)&&i($,"MISSING_CHAR","Missing newline after block sequence props")}let a=s.type==="block-map"?"map":s.type==="block-seq"?"seq":s.start.source==="{"?"map":"seq";if(!r||!o||o==="!"||o===Ef.YAMLMap.tagName&&a==="map"||o===Nf.YAMLSeq.tagName&&a==="seq")return ai(t,e,s,i,o);let l=e.schema.tags.find(u=>u.tag===o&&u.collection===a);if(!l){let u=e.schema.knownTags[o];if(u?.collection===a)e.schema.tags.push(Object.assign({},u,{default:!1})),l=u;else return u?i(r,"BAD_COLLECTION_TYPE",`${u.tag} used for ${a} collection, but expects ${u.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),ai(t,e,s,i,o)}let c=ai(t,e,s,i,o,l),d=l.resolve?.(c,u=>i(r,"TAG_RESOLVE_FAILED",u),e.options)??c,f=Of.isNode(d)?d:new Af.Scalar(d);return f.range=c.range,f.tag=o,l?.format&&(f.format=l.format),f}Yo.composeCollection=Tf});var ci=q(Vo=>{"use strict";var li=V();function Lf(t,e,s){let n=e.offset,i=If(e,t.options.strict,s);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let r=i.mode===">"?li.Scalar.BLOCK_FOLDED:li.Scalar.BLOCK_LITERAL,o=e.source?Mf(e.source):[],a=o.length;for(let m=o.length-1;m>=0;--m){let w=o[m][1];if(w===""||w==="\r")a=m;else break}if(a===0){let m=i.chomp==="+"&&o.length>0?`
72
- `.repeat(Math.max(1,o.length-1)):"",w=n+i.length;return e.source&&(w+=e.source.length),{value:m,type:r,comment:i.comment,range:[n,w,w]}}let l=e.indent+i.indent,c=e.offset+i.length,d=0;for(let m=0;m<a;++m){let[w,h]=o[m];if(h===""||h==="\r")i.indent===0&&w.length>l&&(l=w.length);else{w.length<l&&s(c+w.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),i.indent===0&&(l=w.length),d=m,l===0&&!t.atRoot&&s(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=w.length+h.length+1}for(let m=o.length-1;m>=a;--m)o[m][0].length>l&&(a=m+1);let f="",u="",y=!1;for(let m=0;m<d;++m)f+=o[m][0].slice(l)+`
73
- `;for(let m=d;m<a;++m){let[w,h]=o[m];c+=w.length+h.length+1;let b=h[h.length-1]==="\r";if(b&&(h=h.slice(0,-1)),h&&w.length<l){let A=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;s(c-h.length-(b?2:1),"BAD_INDENT",A),w=""}r===li.Scalar.BLOCK_LITERAL?(f+=u+w.slice(l)+h,u=`
64
+ `}};Ct.YAMLError=qt;Ct.YAMLParseError=ni;Ct.YAMLWarning=ii;Ct.prettifyError=of});var Tt=L(qo=>{"use strict";function af(t,{flow:e,indicator:s,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,p=a,f="",u="",y=!1,$=!1,m=null,w=null,h=null,b=null,g=null,A=null,E=null;for(let k of t)switch($&&(k.type!=="space"&&k.type!=="newline"&&k.type!=="comma"&&r(k.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),$=!1),m&&(c&&k.type!=="comment"&&k.type!=="newline"&&r(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),k.type){case"space":!e&&(s!=="doc-start"||n?.type!=="flow-collection")&&k.source.includes(" ")&&(m=k),p=!0;break;case"comment":{p||r(k,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let P=k.source.substring(1)||" ";f?f+=u+P:f=P,u="",c=!1;break}case"newline":c?f?f+=k.source:(!A||s!=="seq-item-ind")&&(l=!0):u+=k.source,c=!0,y=!0,(w||h)&&(b=k),p=!0;break;case"anchor":w&&r(k,"MULTIPLE_ANCHORS","A node can have at most one anchor"),k.source.endsWith(":")&&r(k.offset+k.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),w=k,E??(E=k.offset),c=!1,p=!1,$=!0;break;case"tag":{h&&r(k,"MULTIPLE_TAGS","A node can have at most one tag"),h=k,E??(E=k.offset),c=!1,p=!1,$=!0;break}case s:(w||h)&&r(k,"BAD_PROP_ORDER",`Anchors and tags must be after the ${k.source} indicator`),A&&r(k,"UNEXPECTED_TOKEN",`Unexpected ${k.source} in ${e??"collection"}`),A=k,c=s==="seq-item-ind"||s==="explicit-key-ind",p=!1;break;case"comma":if(e){g&&r(k,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),g=k,c=!1,p=!1;break}default:r(k,"UNEXPECTED_TOKEN",`Unexpected ${k.type} token`),c=!1,p=!1}let x=t[t.length-1],I=x?x.offset+x.source.length:i;return $&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&r(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(c&&m.indent<=o||n?.type==="block-map"||n?.type==="block-seq")&&r(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:g,found:A,spaceBefore:l,comment:f,hasNewline:y,anchor:w,tag:h,newlineAfterProp:b,end:I,start:E??I}}qo.resolveProps=af});var Ps=L(Co=>{"use strict";function ri(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(`
65
+ `))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let s of e.start)if(s.type==="newline")return!0;if(e.sep){for(let s of e.sep)if(s.type==="newline")return!0}if(ri(e.key)||ri(e.value))return!0}return!1;default:return!0}}Co.containsNewline=ri});var oi=L(Lo=>{"use strict";var lf=Ps();function cf(t,e,s){if(e?.type==="flow-collection"){let n=e.end[0];n.indent===t&&(n.source==="]"||n.source==="}")&&lf.containsNewline(e)&&s(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Lo.flowIndentCheck=cf});var ai=L(Io=>{"use strict";var To=F();function uf(t,e,s){let{uniqueKeys:n}=t.options;if(n===!1)return!1;let i=typeof n=="function"?n:(r,o)=>r===o||To.isScalar(r)&&To.isScalar(o)&&r.value===o.value;return e.some(r=>i(r.key,s))}Io.mapIncludes=uf});var Fo=L(_o=>{"use strict";var Po=$e(),ff=Ae(),Mo=Tt(),pf=Ps(),Do=oi(),df=ai(),Wo="All mapping items must start at the same column";function hf({composeNode:t,composeEmptyNode:e},s,n,i,r){let o=r?.nodeClass??ff.YAMLMap,a=new o(s.schema);s.atRoot&&(s.atRoot=!1);let l=n.offset,c=null;for(let p of n.items){let{start:f,key:u,sep:y,value:$}=p,m=Mo.resolveProps(f,{indicator:"explicit-key-ind",next:u??y?.[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),w=!m.found;if(w){if(u&&(u.type==="block-seq"?i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in u&&u.indent!==n.indent&&i(l,"BAD_INDENT",Wo)),!m.anchor&&!m.tag&&!y){c=m.end,m.comment&&(a.comment?a.comment+=`
66
+ `+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||pf.containsNewline(u))&&i(u??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==n.indent&&i(l,"BAD_INDENT",Wo);s.atKey=!0;let h=m.end,b=u?t(s,u,m,i):e(s,h,f,null,m,i);s.schema.compat&&Do.flowIndentCheck(n.indent,u,i),s.atKey=!1,df.mapIncludes(s,a.items,b)&&i(h,"DUPLICATE_KEY","Map keys must be unique");let g=Mo.resolveProps(y??[],{indicator:"map-value-ind",next:$,offset:b.range[2],onError:i,parentIndent:n.indent,startOnNewline:!u||u.type==="block-scalar"});if(l=g.end,g.found){w&&($?.type==="block-map"&&!g.hasNewline&&i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),s.options.strict&&m.start<g.found.offset-1024&&i(b.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let A=$?t(s,$,g,i):e(s,l,y,null,g,i);s.schema.compat&&Do.flowIndentCheck(n.indent,$,i),l=A.range[2];let E=new Po.Pair(b,A);s.options.keepSourceTokens&&(E.srcToken=p),a.items.push(E)}else{w&&i(b.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),g.comment&&(b.comment?b.comment+=`
67
+ `+g.comment:b.comment=g.comment);let A=new Po.Pair(b);s.options.keepSourceTokens&&(A.srcToken=p),a.items.push(A)}}return c&&c<l&&i(c,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,l,c??l],a}_o.resolveBlockMap=hf});var Ro=L(jo=>{"use strict";var mf=Ee(),gf=Tt(),yf=oi();function bf({composeNode:t,composeEmptyNode:e},s,n,i,r){let o=r?.nodeClass??mf.YAMLSeq,a=new o(s.schema);s.atRoot&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let l=n.offset,c=null;for(let{start:p,value:f}of n.items){let u=gf.resolveProps(p,{indicator:"seq-item-ind",next:f,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!u.found)if(u.anchor||u.tag||f)f?.type==="block-seq"?i(u.end,"BAD_INDENT","All sequence items must start at the same column"):i(l,"MISSING_CHAR","Sequence item without - indicator");else{c=u.end,u.comment&&(a.comment=u.comment);continue}let y=f?t(s,f,u,i):e(s,u.end,p,null,u,i);s.schema.compat&&yf.flowIndentCheck(n.indent,f,i),l=y.range[2],a.items.push(y)}return a.range=[n.offset,l,c??l],a}jo.resolveBlockSeq=bf});var Ze=L(Bo=>{"use strict";function wf(t,e,s,n){let i="";if(t){let r=!1,o="";for(let a of t){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{s&&!r&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let p=l.substring(1)||" ";i?i+=o+p:i=p,o="";break}case"newline":i&&(o+=l),r=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}e+=l.length}}return{comment:i,offset:e}}Bo.resolveEnd=wf});var zo=L(Yo=>{"use strict";var kf=F(),vf=$e(),Ko=Ae(),Sf=Ee(),$f=Ze(),Uo=Tt(),Of=Ps(),Af=ai(),li="Block collections are not allowed within flow collections",ci=t=>t&&(t.type==="block-map"||t.type==="block-seq");function Ef({composeNode:t,composeEmptyNode:e},s,n,i,r){let o=n.start.source==="{",a=o?"flow map":"flow sequence",l=r?.nodeClass??(o?Ko.YAMLMap:Sf.YAMLSeq),c=new l(s.schema);c.flow=!0;let p=s.atRoot;p&&(s.atRoot=!1),s.atKey&&(s.atKey=!1);let f=n.offset+n.start.source.length;for(let w=0;w<n.items.length;++w){let h=n.items[w],{start:b,key:g,sep:A,value:E}=h,x=Uo.resolveProps(b,{flow:a,indicator:"explicit-key-ind",next:g??A?.[0],offset:f,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!A&&!E){w===0&&x.comma?i(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):w<n.items.length-1&&i(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),x.comment&&(c.comment?c.comment+=`
68
+ `+x.comment:c.comment=x.comment),f=x.end;continue}!o&&s.options.strict&&Of.containsNewline(g)&&i(g,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(w===0)x.comma&&i(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(x.comma||i(x.start,"MISSING_CHAR",`Missing , between ${a} items`),x.comment){let I="";e:for(let k of b)switch(k.type){case"comma":case"space":break;case"comment":I=k.source.substring(1);break e;default:break e}if(I){let k=c.items[c.items.length-1];kf.isPair(k)&&(k=k.value??k.key),k.comment?k.comment+=`
69
+ `+I:k.comment=I,x.comment=x.comment.substring(I.length+1)}}if(!o&&!A&&!x.found){let I=E?t(s,E,x,i):e(s,x.end,A,null,x,i);c.items.push(I),f=I.range[2],ci(E)&&i(I.range,"BLOCK_IN_FLOW",li)}else{s.atKey=!0;let I=x.end,k=g?t(s,g,x,i):e(s,I,b,null,x,i);ci(g)&&i(k.range,"BLOCK_IN_FLOW",li),s.atKey=!1;let P=Uo.resolveProps(A??[],{flow:a,indicator:"map-value-ind",next:E,offset:k.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if(P.found){if(!o&&!x.found&&s.options.strict){if(A)for(let N of A){if(N===P.found)break;if(N.type==="newline"){i(N,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<P.found.offset-1024&&i(P.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else E&&("source"in E&&E.source?.[0]===":"?i(E,"MISSING_CHAR",`Missing space after : in ${a}`):i(P.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let R=E?t(s,E,P,i):P.found?e(s,P.end,A,null,P,i):null;R?ci(E)&&i(R.range,"BLOCK_IN_FLOW",li):P.comment&&(k.comment?k.comment+=`
70
+ `+P.comment:k.comment=P.comment);let q=new vf.Pair(k,R);if(s.options.keepSourceTokens&&(q.srcToken=h),o){let N=c;Af.mapIncludes(s,N.items,k)&&i(I,"DUPLICATE_KEY","Map keys must be unique"),N.items.push(q)}else{let N=new Ko.YAMLMap(s.schema);N.flow=!0,N.items.push(q);let d=(R??k).range;N.range=[k.range[0],d[1],d[2]],c.items.push(N)}f=R?R.range[2]:P.end}}let u=o?"}":"]",[y,...$]=n.end,m=f;if(y?.source===u)m=y.offset+y.source.length;else{let w=a[0].toUpperCase()+a.substring(1),h=p?`${w} must end with a ${u}`:`${w} in block collection must be sufficiently indented and end with a ${u}`;i(f,p?"MISSING_CHAR":"BAD_INDENT",h),y&&y.source.length!==1&&$.unshift(y)}if($.length>0){let w=$f.resolveEnd($,m,s.options.strict,i);w.comment&&(c.comment?c.comment+=`
71
+ `+w.comment:c.comment=w.comment),c.range=[n.offset,m,w.offset]}else c.range=[n.offset,m,m];return c}Yo.resolveFlowCollection=Ef});var Go=L(Vo=>{"use strict";var Nf=F(),xf=V(),qf=Ae(),Cf=Ee(),Lf=Fo(),Tf=Ro(),If=zo();function ui(t,e,s,n,i,r){let o=s.type==="block-map"?Lf.resolveBlockMap(t,e,s,n,r):s.type==="block-seq"?Tf.resolveBlockSeq(t,e,s,n,r):If.resolveFlowCollection(t,e,s,n,r),a=o.constructor;return i==="!"||i===a.tagName?(o.tag=a.tagName,o):(i&&(o.tag=i),o)}function Pf(t,e,s,n,i){let r=n.tag,o=r?e.directives.tagName(r.source,u=>i(r,"TAG_RESOLVE_FAILED",u)):null;if(s.type==="block-seq"){let{anchor:u,newlineAfterProp:y}=n,$=u&&r?u.offset>r.offset?u:r:u??r;$&&(!y||y.offset<$.offset)&&i($,"MISSING_CHAR","Missing newline after block sequence props")}let a=s.type==="block-map"?"map":s.type==="block-seq"?"seq":s.start.source==="{"?"map":"seq";if(!r||!o||o==="!"||o===qf.YAMLMap.tagName&&a==="map"||o===Cf.YAMLSeq.tagName&&a==="seq")return ui(t,e,s,i,o);let l=e.schema.tags.find(u=>u.tag===o&&u.collection===a);if(!l){let u=e.schema.knownTags[o];if(u?.collection===a)e.schema.tags.push(Object.assign({},u,{default:!1})),l=u;else return u?i(r,"BAD_COLLECTION_TYPE",`${u.tag} used for ${a} collection, but expects ${u.collection??"scalar"}`,!0):i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),ui(t,e,s,i,o)}let c=ui(t,e,s,i,o,l),p=l.resolve?.(c,u=>i(r,"TAG_RESOLVE_FAILED",u),e.options)??c,f=Nf.isNode(p)?p:new xf.Scalar(p);return f.range=c.range,f.tag=o,l?.format&&(f.format=l.format),f}Vo.composeCollection=Pf});var pi=L(Jo=>{"use strict";var fi=V();function Mf(t,e,s){let n=e.offset,i=Df(e,t.options.strict,s);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let r=i.mode===">"?fi.Scalar.BLOCK_FOLDED:fi.Scalar.BLOCK_LITERAL,o=e.source?Wf(e.source):[],a=o.length;for(let m=o.length-1;m>=0;--m){let w=o[m][1];if(w===""||w==="\r")a=m;else break}if(a===0){let m=i.chomp==="+"&&o.length>0?`
72
+ `.repeat(Math.max(1,o.length-1)):"",w=n+i.length;return e.source&&(w+=e.source.length),{value:m,type:r,comment:i.comment,range:[n,w,w]}}let l=e.indent+i.indent,c=e.offset+i.length,p=0;for(let m=0;m<a;++m){let[w,h]=o[m];if(h===""||h==="\r")i.indent===0&&w.length>l&&(l=w.length);else{w.length<l&&s(c+w.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),i.indent===0&&(l=w.length),p=m,l===0&&!t.atRoot&&s(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=w.length+h.length+1}for(let m=o.length-1;m>=a;--m)o[m][0].length>l&&(a=m+1);let f="",u="",y=!1;for(let m=0;m<p;++m)f+=o[m][0].slice(l)+`
73
+ `;for(let m=p;m<a;++m){let[w,h]=o[m];c+=w.length+h.length+1;let b=h[h.length-1]==="\r";if(b&&(h=h.slice(0,-1)),h&&w.length<l){let A=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;s(c-h.length-(b?2:1),"BAD_INDENT",A),w=""}r===fi.Scalar.BLOCK_LITERAL?(f+=u+w.slice(l)+h,u=`
74
74
  `):w.length>l||h[0]===" "?(u===" "?u=`
75
75
  `:!y&&u===`
76
76
  `&&(u=`
@@ -83,74 +83,74 @@ ${c}
83
83
  `+o[m][0].slice(l);f[f.length-1]!==`
84
84
  `&&(f+=`
85
85
  `);break;default:f+=`
86
- `}let $=n+i.length+e.source.length;return{value:f,type:r,comment:i.comment,range:[n,$,$]}}function If({offset:t,props:e},s,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=e[0],r=i[0],o=0,a="",l=-1;for(let u=1;u<i.length;++u){let y=i[u];if(!a&&(y==="-"||y==="+"))a=y;else{let $=Number(y);!o&&$?o=$:l===-1&&(l=t+u)}}l!==-1&&n(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,d="",f=i.length;for(let u=1;u<e.length;++u){let y=e[u];switch(y.type){case"space":c=!0;case"newline":f+=y.source.length;break;case"comment":s&&!c&&n(y,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=y.source.length,d=y.source.substring(1);break;case"error":n(y,"UNEXPECTED_TOKEN",y.message),f+=y.source.length;break;default:{let $=`Unexpected token in block scalar header: ${y.type}`;n(y,"UNEXPECTED_TOKEN",$);let m=y.source;m&&typeof m=="string"&&(f+=m.length)}}}return{mode:r,indent:o,chomp:a,comment:d,length:f}}function Mf(t){let e=t.split(/\n( *)/),s=e[0],n=s.match(/^( *)/),r=[n?.[1]?[n[1],s.slice(n[1].length)]:["",s]];for(let o=1;o<e.length;o+=2)r.push([e[o],e[o+1]]);return r}Vo.resolveBlockScalar=Lf});var fi=q(Jo=>{"use strict";var ui=V(),Pf=He();function Df(t,e,s){let{offset:n,type:i,source:r,end:o}=t,a,l,c=(u,y,$)=>s(n+u,y,$);switch(i){case"scalar":a=ui.Scalar.PLAIN,l=_f(r,c);break;case"single-quoted-scalar":a=ui.Scalar.QUOTE_SINGLE,l=Wf(r,c);break;case"double-quoted-scalar":a=ui.Scalar.QUOTE_DOUBLE,l=Ff(r,c);break;default:return s(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+r.length,n+r.length]}}let d=n+r.length,f=Pf.resolveEnd(o,d,e,s);return{value:l,type:a,comment:f.comment,range:[n,d,f.offset]}}function _f(t,e){let s="";switch(t[0]){case" ":s="a tab character";break;case",":s="flow indicator character ,";break;case"%":s="directive indicator character %";break;case"|":case">":{s=`block scalar indicator ${t[0]}`;break}case"@":case"`":{s=`reserved character ${t[0]}`;break}}return s&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${s}`),Go(t)}function Wf(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Go(t.slice(1,-1)).replace(/''/g,"'")}function Go(t){let e=/(.*?)\r?\n/sy,s=e.exec(t);if(!s)return t;let n,i;try{n=new RegExp("(?<![ ])[ ]+$"),i=new RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{n=/[ \t]+$/,i=/^[ \t]+|[ \t]+$/g}let r=s[1].replace(n,""),o=" ",a=e.lastIndex;for(;s=e.exec(t);){let c=s[1].replace(i,"");c===""?o===`
86
+ `}let $=n+i.length+e.source.length;return{value:f,type:r,comment:i.comment,range:[n,$,$]}}function Df({offset:t,props:e},s,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=e[0],r=i[0],o=0,a="",l=-1;for(let u=1;u<i.length;++u){let y=i[u];if(!a&&(y==="-"||y==="+"))a=y;else{let $=Number(y);!o&&$?o=$:l===-1&&(l=t+u)}}l!==-1&&n(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,p="",f=i.length;for(let u=1;u<e.length;++u){let y=e[u];switch(y.type){case"space":c=!0;case"newline":f+=y.source.length;break;case"comment":s&&!c&&n(y,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=y.source.length,p=y.source.substring(1);break;case"error":n(y,"UNEXPECTED_TOKEN",y.message),f+=y.source.length;break;default:{let $=`Unexpected token in block scalar header: ${y.type}`;n(y,"UNEXPECTED_TOKEN",$);let m=y.source;m&&typeof m=="string"&&(f+=m.length)}}}return{mode:r,indent:o,chomp:a,comment:p,length:f}}function Wf(t){let e=t.split(/\n( *)/),s=e[0],n=s.match(/^( *)/),r=[n?.[1]?[n[1],s.slice(n[1].length)]:["",s]];for(let o=1;o<e.length;o+=2)r.push([e[o],e[o+1]]);return r}Jo.resolveBlockScalar=Mf});var hi=L(Ho=>{"use strict";var di=V(),_f=Ze();function Ff(t,e,s){let{offset:n,type:i,source:r,end:o}=t,a,l,c=(u,y,$)=>s(n+u,y,$);switch(i){case"scalar":a=di.Scalar.PLAIN,l=jf(r,c);break;case"single-quoted-scalar":a=di.Scalar.QUOTE_SINGLE,l=Rf(r,c);break;case"double-quoted-scalar":a=di.Scalar.QUOTE_DOUBLE,l=Bf(r,c);break;default:return s(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+r.length,n+r.length]}}let p=n+r.length,f=_f.resolveEnd(o,p,e,s);return{value:l,type:a,comment:f.comment,range:[n,p,f.offset]}}function jf(t,e){let s="";switch(t[0]){case" ":s="a tab character";break;case",":s="flow indicator character ,";break;case"%":s="directive indicator character %";break;case"|":case">":{s=`block scalar indicator ${t[0]}`;break}case"@":case"`":{s=`reserved character ${t[0]}`;break}}return s&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${s}`),Xo(t)}function Rf(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Xo(t.slice(1,-1)).replace(/''/g,"'")}function Xo(t){let e=/(.*?)\r?\n/sy,s=e.exec(t);if(!s)return t;let n,i;try{n=new RegExp("(?<![ ])[ ]+$"),i=new RegExp("^[ ]+|(?<![ ])[ ]+$","g")}catch{n=/[ \t]+$/,i=/^[ \t]+|[ \t]+$/g}let r=s[1].replace(n,""),o=" ",a=e.lastIndex;for(;s=e.exec(t);){let c=s[1].replace(i,"");c===""?o===`
87
87
  `?r+=o:o=`
88
- `:(r+=o+c,o=" "),a=e.lastIndex}let l=/[ \t]*(.*)/sy;return l.lastIndex=a,s=l.exec(t),r+o+(s?.[1]??"")}function Ff(t,e){let s="";for(let n=1;n<t.length-1;++n){let i=t[n];if(!(i==="\r"&&t[n+1]===`
88
+ `:(r+=o+c,o=" "),a=e.lastIndex}let l=/[ \t]*(.*)/sy;return l.lastIndex=a,s=l.exec(t),r+o+(s?.[1]??"")}function Bf(t,e){let s="";for(let n=1;n<t.length-1;++n){let i=t[n];if(!(i==="\r"&&t[n+1]===`
89
89
  `))if(i===`
90
- `){let{fold:r,offset:o}=Rf(t,n);s+=r,n=o}else if(i==="\\"){let r=t[++n],o=jf[r];if(o)s+=o;else if(r===`
90
+ `){let{fold:r,offset:o}=Kf(t,n);s+=r,n=o}else if(i==="\\"){let r=t[++n],o=Uf[r];if(o)s+=o;else if(r===`
91
91
  `)for(r=t[n+1];r===" "||r===" ";)r=t[++n+1];else if(r==="\r"&&t[n+1]===`
92
- `)for(r=t[++n+1];r===" "||r===" ";)r=t[++n+1];else if(r==="x"||r==="u"||r==="U"){let a=r==="x"?2:r==="u"?4:8;s+=Bf(t,n+1,a,e),n+=a}else{let a=t.substr(n-1,2);e(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),s+=a}}else if(i===" "||i===" "){let r=n,o=t[n+1];for(;o===" "||o===" ";)o=t[++n+1];o!==`
92
+ `)for(r=t[++n+1];r===" "||r===" ";)r=t[++n+1];else if(r==="x"||r==="u"||r==="U"){let a=r==="x"?2:r==="u"?4:8;s+=Yf(t,n+1,a,e),n+=a}else{let a=t.substr(n-1,2);e(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),s+=a}}else if(i===" "||i===" "){let r=n,o=t[n+1];for(;o===" "||o===" ";)o=t[++n+1];o!==`
93
93
  `&&!(o==="\r"&&t[n+2]===`
94
- `)&&(s+=n>r?t.slice(r,n+1):i)}else s+=i}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),s}function Rf(t,e){let s="",n=t[e+1];for(;(n===" "||n===" "||n===`
94
+ `)&&(s+=n>r?t.slice(r,n+1):i)}else s+=i}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),s}function Kf(t,e){let s="",n=t[e+1];for(;(n===" "||n===" "||n===`
95
95
  `||n==="\r")&&!(n==="\r"&&t[e+2]!==`
96
96
  `);)n===`
97
97
  `&&(s+=`
98
- `),e+=1,n=t[e+1];return s||(s=" "),{fold:s,offset:e}}var jf={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
99
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Bf(t,e,s,n){let i=t.substr(e,s),o=i.length===s&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(o)}catch{let a=t.substr(e-2,s+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}Jo.resolveFlowScalar=Df});var Qo=q(Ho=>{"use strict";var Me=_(),Xo=V(),Kf=ci(),Uf=fi();function Yf(t,e,s,n){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?Kf.resolveBlockScalar(t,e,n):Uf.resolveFlowScalar(e,t.options.strict,n),l=s?t.directives.tagName(s.source,f=>n(s,"TAG_RESOLVE_FAILED",f)):null,c;t.options.stringKeys&&t.atKey?c=t.schema[Me.SCALAR]:l?c=zf(t.schema,i,l,s,n):e.type==="scalar"?c=Vf(t,i,e,n):c=t.schema[Me.SCALAR];let d;try{let f=c.resolve(i,u=>n(s??e,"TAG_RESOLVE_FAILED",u),t.options);d=Me.isScalar(f)?f:new Xo.Scalar(f)}catch(f){let u=f instanceof Error?f.message:String(f);n(s??e,"TAG_RESOLVE_FAILED",u),d=new Xo.Scalar(i)}return d.range=a,d.source=i,r&&(d.type=r),l&&(d.tag=l),c.format&&(d.format=c.format),o&&(d.comment=o),d}function zf(t,e,s,n,i){if(s==="!")return t[Me.SCALAR];let r=[];for(let a of t.tags)if(!a.collection&&a.tag===s)if(a.default&&a.test)r.push(a);else return a;for(let a of r)if(a.test?.test(e))return a;let o=t.knownTags[s];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,s!=="tag:yaml.org,2002:str"),t[Me.SCALAR])}function Vf({atKey:t,directives:e,schema:s},n,i,r){let o=s.tags.find(a=>(a.default===!0||t&&a.default==="key")&&a.test?.test(n))||s[Me.SCALAR];if(s.compat){let a=s.compat.find(l=>l.default&&l.test?.test(n))??s[Me.SCALAR];if(o.tag!==a.tag){let l=e.tagString(o.tag),c=e.tagString(a.tag),d=`Value may be parsed as either ${l} or ${c}`;r(i,"TAG_RESOLVE_FAILED",d,!0)}}return o}Ho.composeScalar=Yf});var ea=q(Zo=>{"use strict";function Gf(t,e,s){if(e){s??(s=e.length);for(let n=s-1;n>=0;--n){let i=e[n];switch(i.type){case"space":case"comment":case"newline":t-=i.source.length;continue}for(i=e[++n];i?.type==="space";)t+=i.source.length,i=e[++n];break}}return t}Zo.emptyScalarPosition=Gf});var na=q(pi=>{"use strict";var Jf=ut(),Xf=_(),Hf=zo(),ta=Qo(),Qf=He(),Zf=ea(),ed={composeNode:sa,composeEmptyNode:di};function sa(t,e,s,n){let i=t.atKey,{spaceBefore:r,comment:o,anchor:a,tag:l}=s,c,d=!0;switch(e.type){case"alias":c=td(t,e,n),(a||l)&&n(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=ta.composeScalar(t,e,l,n),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=Hf.composeCollection(ed,t,e,s,n),a&&(c.anchor=a.source.substring(1))}catch(f){let u=f instanceof Error?f.message:String(f);n(e,"RESOURCE_EXHAUSTION",u)}break;default:{let f=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",f),d=!1}}return c??(c=di(t,e.offset,void 0,null,s,n)),a&&c.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&t.options.stringKeys&&(!Xf.isScalar(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&n(l??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(c.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?c.comment=o:c.commentBefore=o),t.options.keepSourceTokens&&d&&(c.srcToken=e),c}function di(t,e,s,n,{spaceBefore:i,comment:r,anchor:o,tag:a,end:l},c){let d={type:"scalar",offset:Zf.emptyScalarPosition(e,s,n),indent:-1,source:""},f=ta.composeScalar(t,d,a,c);return o&&(f.anchor=o.source.substring(1),f.anchor===""&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(f.spaceBefore=!0),r&&(f.comment=r,f.range[2]=l),f}function td({options:t},{offset:e,source:s,end:n},i){let r=new Jf.Alias(s.substring(1));r.source===""&&i(e,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(e+s.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+s.length,a=Qf.resolveEnd(n,o,t.strict,i);return r.range=[e,o,a.offset],a.comment&&(r.comment=a.comment),r}pi.composeEmptyNode=di;pi.composeNode=sa});var oa=q(ra=>{"use strict";var sd=Et(),ia=na(),nd=He(),id=Ct();function rd(t,e,{offset:s,start:n,value:i,end:r},o){let a=Object.assign({_directives:e},t),l=new sd.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},d=id.resolveProps(n,{indicator:"doc-start",next:i??r?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});d.found&&(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!d.hasNewline&&o(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?ia.composeNode(c,i,d,o):ia.composeEmptyNode(c,d.end,n,null,d,o);let f=l.contents.range[2],u=nd.resolveEnd(r,f,!1,o);return u.comment&&(l.comment=u.comment),l.range=[s,f,u.offset],l}ra.composeDoc=rd});var mi=q(ca=>{"use strict";var od=Bt("process"),ad=Zs(),ld=Et(),Tt=qt(),aa=_(),cd=oa(),ud=He();function Lt(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:s}=t;return[e,e+(typeof s=="string"?s.length:1)]}function la(t){let e="",s=!1,n=!1;for(let i=0;i<t.length;++i){let r=t[i];switch(r[0]){case"#":e+=(e===""?"":n?`
98
+ `),e+=1,n=t[e+1];return s||(s=" "),{fold:s,offset:e}}var Uf={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
99
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Yf(t,e,s,n){let i=t.substr(e,s),o=i.length===s&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(o)}catch{let a=t.substr(e-2,s+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}Ho.resolveFlowScalar=Ff});var ea=L(Zo=>{"use strict";var De=F(),Qo=V(),zf=pi(),Vf=hi();function Gf(t,e,s,n){let{value:i,type:r,comment:o,range:a}=e.type==="block-scalar"?zf.resolveBlockScalar(t,e,n):Vf.resolveFlowScalar(e,t.options.strict,n),l=s?t.directives.tagName(s.source,f=>n(s,"TAG_RESOLVE_FAILED",f)):null,c;t.options.stringKeys&&t.atKey?c=t.schema[De.SCALAR]:l?c=Jf(t.schema,i,l,s,n):e.type==="scalar"?c=Xf(t,i,e,n):c=t.schema[De.SCALAR];let p;try{let f=c.resolve(i,u=>n(s??e,"TAG_RESOLVE_FAILED",u),t.options);p=De.isScalar(f)?f:new Qo.Scalar(f)}catch(f){let u=f instanceof Error?f.message:String(f);n(s??e,"TAG_RESOLVE_FAILED",u),p=new Qo.Scalar(i)}return p.range=a,p.source=i,r&&(p.type=r),l&&(p.tag=l),c.format&&(p.format=c.format),o&&(p.comment=o),p}function Jf(t,e,s,n,i){if(s==="!")return t[De.SCALAR];let r=[];for(let a of t.tags)if(!a.collection&&a.tag===s)if(a.default&&a.test)r.push(a);else return a;for(let a of r)if(a.test?.test(e))return a;let o=t.knownTags[s];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,s!=="tag:yaml.org,2002:str"),t[De.SCALAR])}function Xf({atKey:t,directives:e,schema:s},n,i,r){let o=s.tags.find(a=>(a.default===!0||t&&a.default==="key")&&a.test?.test(n))||s[De.SCALAR];if(s.compat){let a=s.compat.find(l=>l.default&&l.test?.test(n))??s[De.SCALAR];if(o.tag!==a.tag){let l=e.tagString(o.tag),c=e.tagString(a.tag),p=`Value may be parsed as either ${l} or ${c}`;r(i,"TAG_RESOLVE_FAILED",p,!0)}}return o}Zo.composeScalar=Gf});var sa=L(ta=>{"use strict";function Hf(t,e,s){if(e){s??(s=e.length);for(let n=s-1;n>=0;--n){let i=e[n];switch(i.type){case"space":case"comment":case"newline":t-=i.source.length;continue}for(i=e[++n];i?.type==="space";)t+=i.source.length,i=e[++n];break}}return t}ta.emptyScalarPosition=Hf});var ra=L(gi=>{"use strict";var Qf=pt(),Zf=F(),ep=Go(),na=ea(),tp=Ze(),sp=sa(),np={composeNode:ia,composeEmptyNode:mi};function ia(t,e,s,n){let i=t.atKey,{spaceBefore:r,comment:o,anchor:a,tag:l}=s,c,p=!0;switch(e.type){case"alias":c=ip(t,e,n),(a||l)&&n(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":c=na.composeScalar(t,e,l,n),a&&(c.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{c=ep.composeCollection(np,t,e,s,n),a&&(c.anchor=a.source.substring(1))}catch(f){let u=f instanceof Error?f.message:String(f);n(e,"RESOURCE_EXHAUSTION",u)}break;default:{let f=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",f),p=!1}}return c??(c=mi(t,e.offset,void 0,null,s,n)),a&&c.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),i&&t.options.stringKeys&&(!Zf.isScalar(c)||typeof c.value!="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str")&&n(l??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),r&&(c.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?c.comment=o:c.commentBefore=o),t.options.keepSourceTokens&&p&&(c.srcToken=e),c}function mi(t,e,s,n,{spaceBefore:i,comment:r,anchor:o,tag:a,end:l},c){let p={type:"scalar",offset:sp.emptyScalarPosition(e,s,n),indent:-1,source:""},f=na.composeScalar(t,p,a,c);return o&&(f.anchor=o.source.substring(1),f.anchor===""&&c(o,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(f.spaceBefore=!0),r&&(f.comment=r,f.range[2]=l),f}function ip({options:t},{offset:e,source:s,end:n},i){let r=new Qf.Alias(s.substring(1));r.source===""&&i(e,"BAD_ALIAS","Alias cannot be an empty string"),r.source.endsWith(":")&&i(e+s.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+s.length,a=tp.resolveEnd(n,o,t.strict,i);return r.range=[e,o,a.offset],a.comment&&(r.comment=a.comment),r}gi.composeEmptyNode=mi;gi.composeNode=ia});var la=L(aa=>{"use strict";var rp=xt(),oa=ra(),op=Ze(),ap=Tt();function lp(t,e,{offset:s,start:n,value:i,end:r},o){let a=Object.assign({_directives:e},t),l=new rp.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},p=ap.resolveProps(n,{indicator:"doc-start",next:i??r?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});p.found&&(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!p.hasNewline&&o(p.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),l.contents=i?oa.composeNode(c,i,p,o):oa.composeEmptyNode(c,p.end,n,null,p,o);let f=l.contents.range[2],u=op.resolveEnd(r,f,!1,o);return u.comment&&(l.comment=u.comment),l.range=[s,f,u.offset],l}aa.composeDoc=lp});var bi=L(fa=>{"use strict";var cp=Ut("process"),up=sn(),fp=xt(),It=Lt(),ca=F(),pp=la(),dp=Ze();function Pt(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:s}=t;return[e,e+(typeof s=="string"?s.length:1)]}function ua(t){let e="",s=!1,n=!1;for(let i=0;i<t.length;++i){let r=t[i];switch(r[0]){case"#":e+=(e===""?"":n?`
100
100
 
101
101
  `:`
102
- `)+(r.substring(1)||" "),s=!0,n=!1;break;case"%":t[i+1]?.[0]!=="#"&&(i+=1),s=!1;break;default:s||(n=!0),s=!1}}return{comment:e,afterEmptyLine:n}}var hi=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(s,n,i,r)=>{let o=Lt(s);r?this.warnings.push(new Tt.YAMLWarning(o,n,i)):this.errors.push(new Tt.YAMLParseError(o,n,i))},this.directives=new ad.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,s){let{comment:n,afterEmptyLine:i}=la(this.prelude);if(n){let r=e.contents;if(s)e.comment=e.comment?`${e.comment}
103
- ${n}`:n;else if(i||e.directives.docStart||!r)e.commentBefore=n;else if(aa.isCollection(r)&&!r.flow&&r.items.length>0){let o=r.items[0];aa.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${n}
102
+ `)+(r.substring(1)||" "),s=!0,n=!1;break;case"%":t[i+1]?.[0]!=="#"&&(i+=1),s=!1;break;default:s||(n=!0),s=!1}}return{comment:e,afterEmptyLine:n}}var yi=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(s,n,i,r)=>{let o=Pt(s);r?this.warnings.push(new It.YAMLWarning(o,n,i)):this.errors.push(new It.YAMLParseError(o,n,i))},this.directives=new up.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,s){let{comment:n,afterEmptyLine:i}=ua(this.prelude);if(n){let r=e.contents;if(s)e.comment=e.comment?`${e.comment}
103
+ ${n}`:n;else if(i||e.directives.docStart||!r)e.commentBefore=n;else if(ca.isCollection(r)&&!r.flow&&r.items.length>0){let o=r.items[0];ca.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${n}
104
104
  ${a}`:n}else{let o=r.commentBefore;r.commentBefore=o?`${n}
105
- ${o}`:n}}if(s){for(let r=0;r<this.errors.length;++r)e.errors.push(this.errors[r]);for(let r=0;r<this.warnings.length;++r)e.warnings.push(this.warnings[r])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:la(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,s=!1,n=-1){for(let i of e)yield*this.next(i);yield*this.end(s,n)}*next(e){switch(od.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(s,n,i)=>{let r=Lt(e);r[0]+=s,this.onError(r,"BAD_DIRECTIVE",n,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let s=cd.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!s.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(s,!1),this.doc&&(yield this.doc),this.doc=s,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let s=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new Tt.YAMLParseError(Lt(e),"UNEXPECTED_TOKEN",s);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new Tt.YAMLParseError(Lt(e),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let s=ud.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),s.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
106
- ${s.comment}`:s.comment}this.doc.range[2]=s.offset;break}default:this.errors.push(new Tt.YAMLParseError(Lt(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,s=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let n=Object.assign({_directives:this.directives},this.options),i=new ld.Document(void 0,n);this.atDirectives&&this.onError(s,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,s,s],this.decorate(i,!1),yield i}}};ca.Composer=hi});var da=q(Is=>{"use strict";var fd=ci(),dd=fi(),pd=qt(),ua=mt();function hd(t,e=!0,s){if(t){let n=(i,r,o)=>{let a=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(s)s(a,r,o);else throw new pd.YAMLParseError([a,a+1],r,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return dd.resolveFlowScalar(t,e,n);case"block-scalar":return fd.resolveBlockScalar({options:{strict:e}},t,n)}}return null}function md(t,e){let{implicitKey:s=!1,indent:n,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=ua.stringifyString({type:o,value:t},{implicitKey:s,indent:n>0?" ".repeat(n):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=e.end??[{type:"newline",offset:-1,indent:n,source:`
105
+ ${o}`:n}}if(s){for(let r=0;r<this.errors.length;++r)e.errors.push(this.errors[r]);for(let r=0;r<this.warnings.length;++r)e.warnings.push(this.warnings[r])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:ua(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,s=!1,n=-1){for(let i of e)yield*this.next(i);yield*this.end(s,n)}*next(e){switch(cp.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(s,n,i)=>{let r=Pt(e);r[0]+=s,this.onError(r,"BAD_DIRECTIVE",n,i)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let s=pp.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!s.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(s,!1),this.doc&&(yield this.doc),this.doc=s,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let s=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new It.YAMLParseError(Pt(e),"UNEXPECTED_TOKEN",s);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new It.YAMLParseError(Pt(e),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let s=dp.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),s.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
106
+ ${s.comment}`:s.comment}this.doc.range[2]=s.offset;break}default:this.errors.push(new It.YAMLParseError(Pt(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,s=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let n=Object.assign({_directives:this.directives},this.options),i=new fp.Document(void 0,n);this.atDirectives&&this.onError(s,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,s,s],this.decorate(i,!1),yield i}}};fa.Composer=yi});var ha=L(Ms=>{"use strict";var hp=pi(),mp=hi(),gp=Lt(),pa=yt();function yp(t,e=!0,s){if(t){let n=(i,r,o)=>{let a=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(s)s(a,r,o);else throw new gp.YAMLParseError([a,a+1],r,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return mp.resolveFlowScalar(t,e,n);case"block-scalar":return hp.resolveBlockScalar({options:{strict:e}},t,n)}}return null}function bp(t,e){let{implicitKey:s=!1,indent:n,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=e,a=pa.stringifyString({type:o,value:t},{implicitKey:s,indent:n>0?" ".repeat(n):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=e.end??[{type:"newline",offset:-1,indent:n,source:`
107
107
  `}];switch(a[0]){case"|":case">":{let c=a.indexOf(`
108
- `),d=a.substring(0,c),f=a.substring(c+1)+`
109
- `,u=[{type:"block-scalar-header",offset:r,indent:n,source:d}];return fa(u,l)||u.push({type:"newline",offset:-1,indent:n,source:`
110
- `}),{type:"block-scalar",offset:r,indent:n,props:u,source:f}}case'"':return{type:"double-quoted-scalar",offset:r,indent:n,source:a,end:l};case"'":return{type:"single-quoted-scalar",offset:r,indent:n,source:a,end:l};default:return{type:"scalar",offset:r,indent:n,source:a,end:l}}}function gd(t,e,s={}){let{afterKey:n=!1,implicitKey:i=!1,inFlow:r=!1,type:o}=s,a="indent"in t?t.indent:null;if(n&&typeof a=="number"&&(a+=2),!o)switch(t.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let c=t.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let l=ua.stringifyString({type:o,value:e},{implicitKey:i||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":yd(t,l);break;case'"':gi(t,l,"double-quoted-scalar");break;case"'":gi(t,l,"single-quoted-scalar");break;default:gi(t,l,"scalar")}}function yd(t,e){let s=e.indexOf(`
108
+ `),p=a.substring(0,c),f=a.substring(c+1)+`
109
+ `,u=[{type:"block-scalar-header",offset:r,indent:n,source:p}];return da(u,l)||u.push({type:"newline",offset:-1,indent:n,source:`
110
+ `}),{type:"block-scalar",offset:r,indent:n,props:u,source:f}}case'"':return{type:"double-quoted-scalar",offset:r,indent:n,source:a,end:l};case"'":return{type:"single-quoted-scalar",offset:r,indent:n,source:a,end:l};default:return{type:"scalar",offset:r,indent:n,source:a,end:l}}}function wp(t,e,s={}){let{afterKey:n=!1,implicitKey:i=!1,inFlow:r=!1,type:o}=s,a="indent"in t?t.indent:null;if(n&&typeof a=="number"&&(a+=2),!o)switch(t.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let c=t.props[0];if(c.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=c.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let l=pa.stringifyString({type:o,value:e},{implicitKey:i||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}});switch(l[0]){case"|":case">":kp(t,l);break;case'"':wi(t,l,"double-quoted-scalar");break;case"'":wi(t,l,"single-quoted-scalar");break;default:wi(t,l,"scalar")}}function kp(t,e){let s=e.indexOf(`
111
111
  `),n=e.substring(0,s),i=e.substring(s+1)+`
112
- `;if(t.type==="block-scalar"){let r=t.props[0];if(r.type!=="block-scalar-header")throw new Error("Invalid block scalar header");r.source=n,t.source=i}else{let{offset:r}=t,o="indent"in t?t.indent:-1,a=[{type:"block-scalar-header",offset:r,indent:o,source:n}];fa(a,"end"in t?t.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
113
- `});for(let l of Object.keys(t))l!=="type"&&l!=="offset"&&delete t[l];Object.assign(t,{type:"block-scalar",indent:o,props:a,source:i})}}function fa(t,e){if(e)for(let s of e)switch(s.type){case"space":case"comment":t.push(s);break;case"newline":return t.push(s),!0}return!1}function gi(t,e,s){switch(t.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":t.type=s,t.source=e;break;case"block-scalar":{let n=t.props.slice(1),i=e.length;t.props[0].type==="block-scalar-header"&&(i-=t.props[0].source.length);for(let r of n)r.offset+=i;delete t.props,Object.assign(t,{type:s,source:e,end:n});break}case"block-map":case"block-seq":{let i={type:"newline",offset:t.offset+e.length,indent:t.indent,source:`
114
- `};delete t.items,Object.assign(t,{type:s,source:e,end:[i]});break}default:{let n="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(r=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(t))r!=="type"&&r!=="offset"&&delete t[r];Object.assign(t,{type:s,indent:n,source:e,end:i})}}}Is.createScalarToken=md;Is.resolveAsScalar=hd;Is.setScalarValue=gd});var ha=q(pa=>{"use strict";var bd=t=>"type"in t?Ps(t):Ms(t);function Ps(t){switch(t.type){case"block-scalar":{let e="";for(let s of t.props)e+=Ps(s);return e+t.source}case"block-map":case"block-seq":{let e="";for(let s of t.items)e+=Ms(s);return e}case"flow-collection":{let e=t.start.source;for(let s of t.items)e+=Ms(s);for(let s of t.end)e+=s.source;return e}case"document":{let e=Ms(t);if(t.end)for(let s of t.end)e+=s.source;return e}default:{let e=t.source;if("end"in t&&t.end)for(let s of t.end)e+=s.source;return e}}}function Ms({start:t,key:e,sep:s,value:n}){let i="";for(let r of t)i+=r.source;if(e&&(i+=Ps(e)),s)for(let r of s)i+=r.source;return n&&(i+=Ps(n)),i}pa.stringify=bd});var ba=q(ya=>{"use strict";var yi=Symbol("break visit"),wd=Symbol("skip children"),ma=Symbol("remove item");function Pe(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),ga(Object.freeze([]),t,e)}Pe.BREAK=yi;Pe.SKIP=wd;Pe.REMOVE=ma;Pe.itemAtPath=(t,e)=>{let s=t;for(let[n,i]of e){let r=s?.[n];if(r&&"items"in r)s=r.items[i];else return}return s};Pe.parentCollection=(t,e)=>{let s=Pe.itemAtPath(t,e.slice(0,-1)),n=e[e.length-1][0],i=s?.[n];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function ga(t,e,s){let n=s(e,t);if(typeof n=="symbol")return n;for(let i of["key","value"]){let r=e[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=ga(Object.freeze(t.concat([[i,o]])),r.items[o],s);if(typeof a=="number")o=a-1;else{if(a===yi)return yi;a===ma&&(r.items.splice(o,1),o-=1)}}typeof n=="function"&&i==="key"&&(n=n(e,t))}}return typeof n=="function"?n(e,t):n}ya.visit=Pe});var Ds=q(te=>{"use strict";var bi=da(),kd=ha(),Sd=ba(),wi="\uFEFF",ki="",Si="",vi="",vd=t=>!!t&&"items"in t,$d=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function Od(t){switch(t){case wi:return"<BOM>";case ki:return"<DOC>";case Si:return"<FLOW_END>";case vi:return"<SCALAR>";default:return JSON.stringify(t)}}function Ad(t){switch(t){case wi:return"byte-order-mark";case ki:return"doc-mode";case Si:return"flow-error-end";case vi:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
112
+ `;if(t.type==="block-scalar"){let r=t.props[0];if(r.type!=="block-scalar-header")throw new Error("Invalid block scalar header");r.source=n,t.source=i}else{let{offset:r}=t,o="indent"in t?t.indent:-1,a=[{type:"block-scalar-header",offset:r,indent:o,source:n}];da(a,"end"in t?t.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
113
+ `});for(let l of Object.keys(t))l!=="type"&&l!=="offset"&&delete t[l];Object.assign(t,{type:"block-scalar",indent:o,props:a,source:i})}}function da(t,e){if(e)for(let s of e)switch(s.type){case"space":case"comment":t.push(s);break;case"newline":return t.push(s),!0}return!1}function wi(t,e,s){switch(t.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":t.type=s,t.source=e;break;case"block-scalar":{let n=t.props.slice(1),i=e.length;t.props[0].type==="block-scalar-header"&&(i-=t.props[0].source.length);for(let r of n)r.offset+=i;delete t.props,Object.assign(t,{type:s,source:e,end:n});break}case"block-map":case"block-seq":{let i={type:"newline",offset:t.offset+e.length,indent:t.indent,source:`
114
+ `};delete t.items,Object.assign(t,{type:s,source:e,end:[i]});break}default:{let n="indent"in t?t.indent:-1,i="end"in t&&Array.isArray(t.end)?t.end.filter(r=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(t))r!=="type"&&r!=="offset"&&delete t[r];Object.assign(t,{type:s,indent:n,source:e,end:i})}}}Ms.createScalarToken=bp;Ms.resolveAsScalar=yp;Ms.setScalarValue=wp});var ga=L(ma=>{"use strict";var vp=t=>"type"in t?Ws(t):Ds(t);function Ws(t){switch(t.type){case"block-scalar":{let e="";for(let s of t.props)e+=Ws(s);return e+t.source}case"block-map":case"block-seq":{let e="";for(let s of t.items)e+=Ds(s);return e}case"flow-collection":{let e=t.start.source;for(let s of t.items)e+=Ds(s);for(let s of t.end)e+=s.source;return e}case"document":{let e=Ds(t);if(t.end)for(let s of t.end)e+=s.source;return e}default:{let e=t.source;if("end"in t&&t.end)for(let s of t.end)e+=s.source;return e}}}function Ds({start:t,key:e,sep:s,value:n}){let i="";for(let r of t)i+=r.source;if(e&&(i+=Ws(e)),s)for(let r of s)i+=r.source;return n&&(i+=Ws(n)),i}ma.stringify=vp});var ka=L(wa=>{"use strict";var ki=Symbol("break visit"),Sp=Symbol("skip children"),ya=Symbol("remove item");function We(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),ba(Object.freeze([]),t,e)}We.BREAK=ki;We.SKIP=Sp;We.REMOVE=ya;We.itemAtPath=(t,e)=>{let s=t;for(let[n,i]of e){let r=s?.[n];if(r&&"items"in r)s=r.items[i];else return}return s};We.parentCollection=(t,e)=>{let s=We.itemAtPath(t,e.slice(0,-1)),n=e[e.length-1][0],i=s?.[n];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function ba(t,e,s){let n=s(e,t);if(typeof n=="symbol")return n;for(let i of["key","value"]){let r=e[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=ba(Object.freeze(t.concat([[i,o]])),r.items[o],s);if(typeof a=="number")o=a-1;else{if(a===ki)return ki;a===ya&&(r.items.splice(o,1),o-=1)}}typeof n=="function"&&i==="key"&&(n=n(e,t))}}return typeof n=="function"?n(e,t):n}wa.visit=We});var _s=L(te=>{"use strict";var vi=ha(),$p=ga(),Op=ka(),Si="\uFEFF",$i="",Oi="",Ai="",Ap=t=>!!t&&"items"in t,Ep=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function Np(t){switch(t){case Si:return"<BOM>";case $i:return"<DOC>";case Oi:return"<FLOW_END>";case Ai:return"<SCALAR>";default:return JSON.stringify(t)}}function xp(t){switch(t){case Si:return"byte-order-mark";case $i:return"doc-mode";case Oi:return"flow-error-end";case Ai:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
115
115
  `:case`\r
116
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(t[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}te.createScalarToken=bi.createScalarToken;te.resolveAsScalar=bi.resolveAsScalar;te.setScalarValue=bi.setScalarValue;te.stringify=kd.stringify;te.visit=Sd.visit;te.BOM=wi;te.DOCUMENT=ki;te.FLOW_END=Si;te.SCALAR=vi;te.isCollection=vd;te.isScalar=$d;te.prettyToken=Od;te.tokenType=Ad});var Ai=q(ka=>{"use strict";var It=Ds();function oe(t){switch(t){case void 0:case" ":case`
117
- `:case"\r":case" ":return!0;default:return!1}}var wa=new Set("0123456789ABCDEFabcdef"),Ed=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),_s=new Set(",[]{}"),Nd=new Set(` ,[]{}
118
- \r `),$i=t=>!t||Nd.has(t),Oi=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,s=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!s;let n=this.next??"stream";for(;n&&(s||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,s=this.buffer[e];for(;s===" "||s===" ";)s=this.buffer[++e];return!s||s==="#"||s===`
116
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(t[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}te.createScalarToken=vi.createScalarToken;te.resolveAsScalar=vi.resolveAsScalar;te.setScalarValue=vi.setScalarValue;te.stringify=$p.stringify;te.visit=Op.visit;te.BOM=Si;te.DOCUMENT=$i;te.FLOW_END=Oi;te.SCALAR=Ai;te.isCollection=Ap;te.isScalar=Ep;te.prettyToken=Np;te.tokenType=xp});var xi=L(Sa=>{"use strict";var Mt=_s();function le(t){switch(t){case void 0:case" ":case`
117
+ `:case"\r":case" ":return!0;default:return!1}}var va=new Set("0123456789ABCDEFabcdef"),qp=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Fs=new Set(",[]{}"),Cp=new Set(` ,[]{}
118
+ \r `),Ei=t=>!t||Cp.has(t),Ni=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,s=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!s;let n=this.next??"stream";for(;n&&(s||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,s=this.buffer[e];for(;s===" "||s===" ";)s=this.buffer[++e];return!s||s==="#"||s===`
119
119
  `?!0:s==="\r"?this.buffer[e+1]===`
120
120
  `:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let s=this.buffer[e];if(this.indentNext>0){let n=0;for(;s===" ";)s=this.buffer[++n+e];if(s==="\r"){let i=this.buffer[n+e+1];if(i===`
121
121
  `||!i&&!this.atEnd)return e+n+1}return s===`
122
- `||n>=this.indentNext||!s&&!this.atEnd?e+n:-1}if(s==="-"||s==="."){let n=this.buffer.substr(e,3);if((n==="---"||n==="...")&&oe(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
123
- `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===It.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let s=e.length,n=e.indexOf("#");for(;n!==-1;){let r=e[n-1];if(r===" "||r===" "){s=n-1;break}else n=e.indexOf("#",n+1)}for(;;){let r=e[s-1];if(r===" "||r===" ")s-=1;else break}let i=(yield*this.pushCount(s))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-i),this.pushNewline(),"stream"}if(this.atLineEnd()){let s=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-s),yield*this.pushNewline(),"stream"}return yield It.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let s=this.peek(3);if((s==="---"||s==="...")&&oe(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,s==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!oe(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,s]=this.peek(2);if(!s&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&oe(s)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let s=yield*this.pushIndicators();switch(e[s]){case"#":yield*this.pushCount(e.length-s);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil($i),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return s+=yield*this.parseBlockScalarHeader(),s+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-s),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,s,n=-1;do e=yield*this.pushNewline(),e>0?(s=yield*this.pushSpaces(!1),this.indentValue=n=s):s=0,s+=yield*this.pushSpaces(!0);while(e+s>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&i[0]!=="#"||n===0&&(i.startsWith("---")||i.startsWith("..."))&&oe(i[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield It.FLOW_END,yield*this.parseLineStart();let r=0;for(;i[r]===",";)r+=yield*this.pushCount(1),r+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(r+=yield*this.pushIndicators(),i[r]){case void 0:return"flow";case"#":return yield*this.pushCount(i.length-r),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil($i),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||oe(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),s=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;s!==-1&&this.buffer[s+1]==="'";)s=this.buffer.indexOf("'",s+2);else for(;s!==-1;){let r=0;for(;this.buffer[s-1-r]==="\\";)r+=1;if(r%2===0)break;s=this.buffer.indexOf('"',s+1)}let n=this.buffer.substring(0,s),i=n.indexOf(`
122
+ `||n>=this.indentNext||!s&&!this.atEnd?e+n:-1}if(s==="-"||s==="."){let n=this.buffer.substr(e,3);if((n==="---"||n==="...")&&le(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
123
+ `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===Mt.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let s=e.length,n=e.indexOf("#");for(;n!==-1;){let r=e[n-1];if(r===" "||r===" "){s=n-1;break}else n=e.indexOf("#",n+1)}for(;;){let r=e[s-1];if(r===" "||r===" ")s-=1;else break}let i=(yield*this.pushCount(s))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-i),this.pushNewline(),"stream"}if(this.atLineEnd()){let s=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-s),yield*this.pushNewline(),"stream"}return yield Mt.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let s=this.peek(3);if((s==="---"||s==="...")&&le(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,s==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!le(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,s]=this.peek(2);if(!s&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&le(s)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let s=yield*this.pushIndicators();switch(e[s]){case"#":yield*this.pushCount(e.length-s);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Ei),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return s+=yield*this.parseBlockScalarHeader(),s+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-s),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,s,n=-1;do e=yield*this.pushNewline(),e>0?(s=yield*this.pushSpaces(!1),this.indentValue=n=s):s=0,s+=yield*this.pushSpaces(!0);while(e+s>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&i[0]!=="#"||n===0&&(i.startsWith("---")||i.startsWith("..."))&&le(i[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(i[0]==="]"||i[0]==="}")))return this.flowLevel=0,yield Mt.FLOW_END,yield*this.parseLineStart();let r=0;for(;i[r]===",";)r+=yield*this.pushCount(1),r+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(r+=yield*this.pushIndicators(),i[r]){case void 0:return"flow";case"#":return yield*this.pushCount(i.length-r),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Ei),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||le(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),s=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;s!==-1&&this.buffer[s+1]==="'";)s=this.buffer.indexOf("'",s+2);else for(;s!==-1;){let r=0;for(;this.buffer[s-1-r]==="\\";)r+=1;if(r%2===0)break;s=this.buffer.indexOf('"',s+1)}let n=this.buffer.substring(0,s),i=n.indexOf(`
124
124
  `,this.pos);if(i!==-1){for(;i!==-1;){let r=this.continueScalar(i+1);if(r===-1)break;i=n.indexOf(`
125
- `,r)}i!==-1&&(s=i-(n[i-1]==="\r"?2:1))}if(s===-1){if(!this.atEnd)return this.setNext("quoted-scalar");s=this.buffer.length}return yield*this.pushToIndex(s+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let s=this.buffer[++e];if(s==="+")this.blockScalarKeep=!0;else if(s>"0"&&s<="9")this.blockScalarIndent=Number(s)-1;else if(s!=="-")break}return yield*this.pushUntil(s=>oe(s)||s==="#")}*parseBlockScalar(){let e=this.pos-1,s=0,n;e:for(let r=this.pos;n=this.buffer[r];++r)switch(n){case" ":s+=1;break;case`
125
+ `,r)}i!==-1&&(s=i-(n[i-1]==="\r"?2:1))}if(s===-1){if(!this.atEnd)return this.setNext("quoted-scalar");s=this.buffer.length}return yield*this.pushToIndex(s+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let s=this.buffer[++e];if(s==="+")this.blockScalarKeep=!0;else if(s>"0"&&s<="9")this.blockScalarIndent=Number(s)-1;else if(s!=="-")break}return yield*this.pushUntil(s=>le(s)||s==="#")}*parseBlockScalar(){let e=this.pos-1,s=0,n;e:for(let r=this.pos;n=this.buffer[r];++r)switch(n){case" ":s+=1;break;case`
126
126
  `:e=r,s=0;break;case"\r":{let o=this.buffer[r+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
127
127
  `)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(s>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=s:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let r=this.continueScalar(e+1);if(r===-1)break;e=this.buffer.indexOf(`
128
128
  `,r)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let i=e+1;for(n=this.buffer[i];n===" ";)n=this.buffer[++i];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
129
129
  `;)n=this.buffer[++i];e=i-1}else if(!this.blockScalarKeep)do{let r=e-1,o=this.buffer[r];o==="\r"&&(o=this.buffer[--r]);let a=r;for(;o===" ";)o=this.buffer[--r];if(o===`
130
- `&&r>=this.pos&&r+1+s>a)e=r;else break}while(!0);return yield It.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,s=this.pos-1,n=this.pos-1,i;for(;i=this.buffer[++n];)if(i===":"){let r=this.buffer[n+1];if(oe(r)||e&&_s.has(r))break;s=n}else if(oe(i)){let r=this.buffer[n+1];if(i==="\r"&&(r===`
130
+ `&&r>=this.pos&&r+1+s>a)e=r;else break}while(!0);return yield Mt.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,s=this.pos-1,n=this.pos-1,i;for(;i=this.buffer[++n];)if(i===":"){let r=this.buffer[n+1];if(le(r)||e&&Fs.has(r))break;s=n}else if(le(i)){let r=this.buffer[n+1];if(i==="\r"&&(r===`
131
131
  `?(n+=1,i=`
132
- `,r=this.buffer[n+1]):s=n),r==="#"||e&&_s.has(r))break;if(i===`
133
- `){let o=this.continueScalar(n+1);if(o===-1)break;n=Math.max(n,o-2)}}else{if(e&&_s.has(i))break;s=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield It.SCALAR,yield*this.pushToIndex(s+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,s){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(s&&(yield""),0)}*pushIndicators(){let e=0;e:for(;;){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue e;case"&":e+=yield*this.pushUntil($i),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let s=this.flowLevel>0,n=this.charAt(1);if(oe(n)||s&&_s.has(n)){s?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue e}}}break e}return e}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,s=this.buffer[e];for(;!oe(s)&&s!==">";)s=this.buffer[++e];return yield*this.pushToIndex(s===">"?e+1:e,!1)}else{let e=this.pos+1,s=this.buffer[e];for(;s;)if(Ed.has(s))s=this.buffer[++e];else if(s==="%"&&wa.has(this.buffer[e+1])&&wa.has(this.buffer[e+2]))s=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
132
+ `,r=this.buffer[n+1]):s=n),r==="#"||e&&Fs.has(r))break;if(i===`
133
+ `){let o=this.continueScalar(n+1);if(o===-1)break;n=Math.max(n,o-2)}}else{if(e&&Fs.has(i))break;s=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield Mt.SCALAR,yield*this.pushToIndex(s+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,s){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(s&&(yield""),0)}*pushIndicators(){let e=0;e:for(;;){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue e;case"&":e+=yield*this.pushUntil(Ei),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let s=this.flowLevel>0,n=this.charAt(1);if(le(n)||s&&Fs.has(n)){s?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue e}}}break e}return e}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,s=this.buffer[e];for(;!le(s)&&s!==">";)s=this.buffer[++e];return yield*this.pushToIndex(s===">"?e+1:e,!1)}else{let e=this.pos+1,s=this.buffer[e];for(;s;)if(qp.has(s))s=this.buffer[++e];else if(s==="%"&&va.has(this.buffer[e+1])&&va.has(this.buffer[e+2]))s=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
134
134
  `?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
135
- `?yield*this.pushCount(2):0}*pushSpaces(e){let s=this.pos-1,n;do n=this.buffer[++s];while(n===" "||e&&n===" ");let i=s-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=s),i}*pushUntil(e){let s=this.pos,n=this.buffer[s];for(;!e(n);)n=this.buffer[++s];return yield*this.pushToIndex(s,!1)}};ka.Lexer=Oi});var Ni=q(Sa=>{"use strict";var Ei=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let s=0,n=this.lineStarts.length;for(;s<n;){let r=s+n>>1;this.lineStarts[r]<e?s=r+1:n=r}if(this.lineStarts[s]===e)return{line:s+1,col:1};if(s===0)return{line:0,col:e};let i=this.lineStarts[s-1];return{line:s,col:e-i+1}}}};Sa.LineCounter=Ei});var qi=q(Ea=>{"use strict";var xd=Bt("process"),va=Ds(),qd=Ai();function Oe(t,e){for(let s=0;s<t.length;++s)if(t[s].type===e)return!0;return!1}function $a(t){for(let e=0;e<t.length;++e)switch(t[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function Aa(t){switch(t?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Ws(t){switch(t.type){case"document":return t.start;case"block-map":{let e=t.items[t.items.length-1];return e.sep??e.start}case"block-seq":return t.items[t.items.length-1].start;default:return[]}}function Qe(t){if(t.length===0)return[];let e=t.length;e:for(;--e>=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function Fs(t,e){if(e.length<1e5)Array.prototype.push.apply(t,e);else for(let s=0;s<e.length;++s)t.push(e[s])}function Oa(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!Oe(e.start,"explicit-key-ind")&&!Oe(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Aa(e.value)?e.value.end?Fs(e.value.end,e.sep):e.value.end=e.sep:Fs(e.start,e.sep),delete e.sep)}var xi=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new qd.Lexer,this.onNewLine=e}*parse(e,s=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,s))yield*this.next(n);s||(yield*this.end())}*next(e){if(this.source=e,xd.env.LOG_TOKENS&&console.log("|",va.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let s=va.tokenType(e);if(s)if(s==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=s,yield*this.step(),s){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let n=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let s=e??this.stack.pop();if(!s)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield s;else{let n=this.peek(1);switch(s.type==="block-scalar"?s.indent="indent"in n?n.indent:0:s.type==="flow-collection"&&n.type==="document"&&(s.indent=0),s.type==="flow-collection"&&Oa(s),n.type){case"document":n.value=s;break;case"block-scalar":n.props.push(s);break;case"block-map":{let i=n.items[n.items.length-1];if(i.value){n.items.push({start:[],key:s,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=s;else{Object.assign(i,{key:s,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=n.items[n.items.length-1];i.value?n.items.push({start:[],value:s}):i.value=s;break}case"flow-collection":{let i=n.items[n.items.length-1];!i||i.value?n.items.push({start:[],key:s,sep:[]}):i.sep?i.value=s:Object.assign(i,{key:s,sep:[]});return}default:yield*this.pop(),yield*this.pop(s)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(s.type==="block-map"||s.type==="block-seq")){let i=s.items[s.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&$a(i.start)===-1&&(s.indent===0||i.start.every(r=>r.type!=="comment"||r.indent<s.indent))&&(n.type==="document"?n.end=i.start:n.items.push({start:i.start}),s.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{$a(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let s=Ws(this.peek(2)),n=Qe(s),i;e.end?(i=e.end,i.push(this.sourceToken),delete e.end):i=[this.sourceToken];let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let s=this.source.indexOf(`
135
+ `?yield*this.pushCount(2):0}*pushSpaces(e){let s=this.pos-1,n;do n=this.buffer[++s];while(n===" "||e&&n===" ");let i=s-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=s),i}*pushUntil(e){let s=this.pos,n=this.buffer[s];for(;!e(n);)n=this.buffer[++s];return yield*this.pushToIndex(s,!1)}};Sa.Lexer=Ni});var Ci=L($a=>{"use strict";var qi=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let s=0,n=this.lineStarts.length;for(;s<n;){let r=s+n>>1;this.lineStarts[r]<e?s=r+1:n=r}if(this.lineStarts[s]===e)return{line:s+1,col:1};if(s===0)return{line:0,col:e};let i=this.lineStarts[s-1];return{line:s,col:e-i+1}}}};$a.LineCounter=qi});var Ti=L(xa=>{"use strict";var Lp=Ut("process"),Oa=_s(),Tp=xi();function Ne(t,e){for(let s=0;s<t.length;++s)if(t[s].type===e)return!0;return!1}function Aa(t){for(let e=0;e<t.length;++e)switch(t[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function Na(t){switch(t?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function js(t){switch(t.type){case"document":return t.start;case"block-map":{let e=t.items[t.items.length-1];return e.sep??e.start}case"block-seq":return t.items[t.items.length-1].start;default:return[]}}function et(t){if(t.length===0)return[];let e=t.length;e:for(;--e>=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function Rs(t,e){if(e.length<1e5)Array.prototype.push.apply(t,e);else for(let s=0;s<e.length;++s)t.push(e[s])}function Ea(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!Ne(e.start,"explicit-key-ind")&&!Ne(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Na(e.value)?e.value.end?Rs(e.value.end,e.sep):e.value.end=e.sep:Rs(e.start,e.sep),delete e.sep)}var Li=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Tp.Lexer,this.onNewLine=e}*parse(e,s=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,s))yield*this.next(n);s||(yield*this.end())}*next(e){if(this.source=e,Lp.env.LOG_TOKENS&&console.log("|",Oa.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let s=Oa.tokenType(e);if(s)if(s==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=s,yield*this.step(),s){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let n=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let s=e??this.stack.pop();if(!s)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield s;else{let n=this.peek(1);switch(s.type==="block-scalar"?s.indent="indent"in n?n.indent:0:s.type==="flow-collection"&&n.type==="document"&&(s.indent=0),s.type==="flow-collection"&&Ea(s),n.type){case"document":n.value=s;break;case"block-scalar":n.props.push(s);break;case"block-map":{let i=n.items[n.items.length-1];if(i.value){n.items.push({start:[],key:s,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=s;else{Object.assign(i,{key:s,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=n.items[n.items.length-1];i.value?n.items.push({start:[],value:s}):i.value=s;break}case"flow-collection":{let i=n.items[n.items.length-1];!i||i.value?n.items.push({start:[],key:s,sep:[]}):i.sep?i.value=s:Object.assign(i,{key:s,sep:[]});return}default:yield*this.pop(),yield*this.pop(s)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(s.type==="block-map"||s.type==="block-seq")){let i=s.items[s.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&Aa(i.start)===-1&&(s.indent===0||i.start.every(r=>r.type!=="comment"||r.indent<s.indent))&&(n.type==="document"?n.end=i.start:n.items.push({start:i.start}),s.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{Aa(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let s=js(this.peek(2)),n=et(s),i;e.end?(i=e.end,i.push(this.sourceToken),delete e.end):i=[this.sourceToken];let r={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=r}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let s=this.source.indexOf(`
136
136
  `)+1;for(;s!==0;)this.onNewLine(this.offset+s),s=this.source.indexOf(`
137
- `,s)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let s=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,s.value){let n="end"in s.value?s.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)e.items.push({start:[this.sourceToken]});else if(s.sep)s.sep.push(this.sourceToken);else{if(this.atIndentedComment(s.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Fs(i,s.start),i.push(this.sourceToken),e.items.pop();return}}s.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,i=n&&(s.sep||s.explicitKey)&&this.type!=="seq-item-ind",r=[];if(i&&s.sep&&!s.value){let o=[];for(let a=0;a<s.sep.length;++a){let l=s.sep[a];switch(l.type){case"newline":o.push(a);break;case"space":break;case"comment":l.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(r=s.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":i||s.value?(r.push(this.sourceToken),e.items.push({start:r}),this.onKeyLine=!0):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"explicit-key-ind":!s.sep&&!s.explicitKey?(s.start.push(this.sourceToken),s.explicitKey=!0):i||s.value?(r.push(this.sourceToken),e.items.push({start:r,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(s.explicitKey)if(s.sep)if(s.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Oe(s.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]});else if(Aa(s.key)&&!Oe(s.sep,"newline")){let o=Qe(s.start),a=s.key,l=s.sep;l.push(this.sourceToken),delete s.key,delete s.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:l}]})}else r.length>0?s.sep=s.sep.concat(r,this.sourceToken):s.sep.push(this.sourceToken);else if(Oe(s.start,"newline"))Object.assign(s,{key:null,sep:[this.sourceToken]});else{let o=Qe(s.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else s.sep?s.value||i?e.items.push({start:r,key:null,sep:[this.sourceToken]}):Oe(s.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);i||s.value?(e.items.push({start:r,key:o,sep:[]}),this.onKeyLine=!0):s.sep?this.stack.push(o):(Object.assign(s,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!s.explicitKey&&s.sep&&!Oe(s.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&e.items.push({start:r});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let s=e.items[e.items.length-1];switch(this.type){case"newline":if(s.value){let n="end"in s.value?s.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(s.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Fs(i,s.start),i.push(this.sourceToken),e.items.pop();return}}s.start.push(this.sourceToken)}return;case"anchor":case"tag":if(s.value||this.indent<=e.indent)break;s.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;s.value||Oe(s.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return}if(this.indent>e.indent){let n=this.startBlockValue(e);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let s=e.items[e.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!s||s.sep?e.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return;case"map-value-ind":!s||s.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!s||s.value?e.items.push({start:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!s||s.value?e.items.push({start:[],key:i,sep:[]}):s.sep?this.stack.push(i):Object.assign(s,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===e.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let i=Ws(n),r=Qe(i);Oa(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let s=this.source.indexOf(`
137
+ `,s)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let s=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,s.value){let n="end"in s.value?s.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)e.items.push({start:[this.sourceToken]});else if(s.sep)s.sep.push(this.sourceToken);else{if(this.atIndentedComment(s.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Rs(i,s.start),i.push(this.sourceToken),e.items.pop();return}}s.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,i=n&&(s.sep||s.explicitKey)&&this.type!=="seq-item-ind",r=[];if(i&&s.sep&&!s.value){let o=[];for(let a=0;a<s.sep.length;++a){let l=s.sep[a];switch(l.type){case"newline":o.push(a);break;case"space":break;case"comment":l.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(r=s.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":i||s.value?(r.push(this.sourceToken),e.items.push({start:r}),this.onKeyLine=!0):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"explicit-key-ind":!s.sep&&!s.explicitKey?(s.start.push(this.sourceToken),s.explicitKey=!0):i||s.value?(r.push(this.sourceToken),e.items.push({start:r,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(s.explicitKey)if(s.sep)if(s.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ne(s.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]});else if(Na(s.key)&&!Ne(s.sep,"newline")){let o=et(s.start),a=s.key,l=s.sep;l.push(this.sourceToken),delete s.key,delete s.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:l}]})}else r.length>0?s.sep=s.sep.concat(r,this.sourceToken):s.sep.push(this.sourceToken);else if(Ne(s.start,"newline"))Object.assign(s,{key:null,sep:[this.sourceToken]});else{let o=et(s.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else s.sep?s.value||i?e.items.push({start:r,key:null,sep:[this.sourceToken]}):Ne(s.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);i||s.value?(e.items.push({start:r,key:o,sep:[]}),this.onKeyLine=!0):s.sep?this.stack.push(o):(Object.assign(s,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!s.explicitKey&&s.sep&&!Ne(s.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&e.items.push({start:r});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let s=e.items[e.items.length-1];switch(this.type){case"newline":if(s.value){let n="end"in s.value?s.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else s.start.push(this.sourceToken);return;case"space":case"comment":if(s.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(s.start,e.indent)){let i=e.items[e.items.length-2]?.value?.end;if(Array.isArray(i)){Rs(i,s.start),i.push(this.sourceToken),e.items.pop();return}}s.start.push(this.sourceToken)}return;case"anchor":case"tag":if(s.value||this.indent<=e.indent)break;s.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;s.value||Ne(s.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return}if(this.indent>e.indent){let n=this.startBlockValue(e);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let s=e.items[e.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!s||s.sep?e.items.push({start:[this.sourceToken]}):s.start.push(this.sourceToken);return;case"map-value-ind":!s||s.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):Object.assign(s,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!s||s.value?e.items.push({start:[this.sourceToken]}):s.sep?s.sep.push(this.sourceToken):s.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!s||s.value?e.items.push({start:[],key:i,sep:[]}):s.sep?this.stack.push(i):Object.assign(s,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===e.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let i=js(n),r=et(i);Ea(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let s=this.source.indexOf(`
138
138
  `)+1;for(;s!==0;)this.onNewLine(this.offset+s),s=this.source.indexOf(`
139
- `,s)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let s=Ws(e),n=Qe(s);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let s=Ws(e),n=Qe(s);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,s){return this.type!=="comment"||this.indent<=s?!1:e.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};Ea.Parser=xi});var Ta=q(Pt=>{"use strict";var Na=mi(),Cd=Et(),Mt=qt(),Td=pn(),Ld=_(),Id=Ni(),xa=qi();function qa(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Id.LineCounter||null,prettyErrors:e}}function Md(t,e={}){let{lineCounter:s,prettyErrors:n}=qa(e),i=new xa.Parser(s?.addNewLine),r=new Na.Composer(e),o=Array.from(r.compose(i.parse(t)));if(n&&s)for(let a of o)a.errors.forEach(Mt.prettifyError(t,s)),a.warnings.forEach(Mt.prettifyError(t,s));return o.length>0?o:Object.assign([],{empty:!0},r.streamInfo())}function Ca(t,e={}){let{lineCounter:s,prettyErrors:n}=qa(e),i=new xa.Parser(s?.addNewLine),r=new Na.Composer(e),o=null;for(let a of r.compose(i.parse(t),!0,t.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Mt.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&s&&(o.errors.forEach(Mt.prettifyError(t,s)),o.warnings.forEach(Mt.prettifyError(t,s))),o}function Pd(t,e,s){let n;typeof e=="function"?n=e:s===void 0&&e&&typeof e=="object"&&(s=e);let i=Ca(t,s);if(!i)return null;if(i.warnings.forEach(r=>Td.warn(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:n},s))}function Dd(t,e,s){let n=null;if(typeof e=="function"||Array.isArray(e)?n=e:s===void 0&&e&&(s=e),typeof s=="string"&&(s=s.length),typeof s=="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(t===void 0){let{keepUndefined:i}=s??e??{};if(!i)return}return Ld.isDocument(t)&&!n?t.toString(s):new Cd.Document(t,n,s).toString(s)}Pt.parse=Pd;Pt.parseAllDocuments=Md;Pt.parseDocument=Ca;Pt.stringify=Dd});var Ia=q(W=>{"use strict";var _d=mi(),Wd=Et(),Fd=Jn(),Ci=qt(),Rd=ut(),Ae=_(),jd=ke(),Bd=V(),Kd=ve(),Ud=$e(),Yd=Ds(),zd=Ai(),Vd=Ni(),Gd=qi(),Rs=Ta(),La=ot();W.Composer=_d.Composer;W.Document=Wd.Document;W.Schema=Fd.Schema;W.YAMLError=Ci.YAMLError;W.YAMLParseError=Ci.YAMLParseError;W.YAMLWarning=Ci.YAMLWarning;W.Alias=Rd.Alias;W.isAlias=Ae.isAlias;W.isCollection=Ae.isCollection;W.isDocument=Ae.isDocument;W.isMap=Ae.isMap;W.isNode=Ae.isNode;W.isPair=Ae.isPair;W.isScalar=Ae.isScalar;W.isSeq=Ae.isSeq;W.Pair=jd.Pair;W.Scalar=Bd.Scalar;W.YAMLMap=Kd.YAMLMap;W.YAMLSeq=Ud.YAMLSeq;W.CST=Yd;W.Lexer=zd.Lexer;W.LineCounter=Vd.LineCounter;W.Parser=Gd.Parser;W.parse=Rs.parse;W.parseAllDocuments=Rs.parseAllDocuments;W.parseDocument=Rs.parseDocument;W.stringify=Rs.stringify;W.visit=La.visit;W.visitAsync=La.visitAsync});var ue=kl(Ia());var Dt="_next";function ae(t,e){let s=t.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,34)||"item",n=new Set(e);if(!n.has(s))return s;for(let i=2;;i++)if(!n.has(`${s}-${i}`))return`${s}-${i}`}function Ma(t,e){let s=t.stages.find(a=>a.id===e);if(!s||t.stages.length<2)return t;let n=new Set((s.outputs??[]).map(a=>a.id)),i=(t.links??[]).filter(a=>a.target===e&&a.kind==="next").map(a=>a.source),r=(t.links??[]).filter(a=>a.source===e&&a.kind==="next").map(a=>a.target),o=new Set((t.kpis??[]).filter(a=>a.stage===e).map(a=>a.id));return{...t,kpis:(t.kpis??[]).filter(a=>!o.has(a.id)).map(a=>a.since===e?{...a,since:null}:a),stages:t.stages.filter(a=>a.id!==e),gates:(t.gates??[]).filter(a=>a.after!==e).map(a=>({...a,on_fail:a.on_fail===e?null:a.on_fail,criteria:(a.criteria??[]).map(l=>l.kind==="outputs"?{...l,outputs:l.outputs.filter(c=>!n.has(c))}:l.kind==="kpis"?{...l,kpis:l.kpis.filter(c=>!o.has(c))}:l).filter(l=>!(l.kind==="outputs"&&!l.outputs.length)&&!(l.kind==="activities"&&l.stage===e)&&!(l.kind==="kpis"&&!l.kpis.length))})),links:[...(t.links??[]).filter(a=>a.source!==e&&a.target!==e),...i.flatMap(a=>r.filter(l=>l!==a).map(l=>({source:a,target:l,kind:"next",label:""})))],triggers:(t.triggers??[]).filter(a=>a.stage!==e).map(a=>({...a,activities:a.activities.filter(l=>l.stage!==e)})).filter(a=>a.activities.length),next:t.next&&n.has(t.next.per)?null:t.next,suggested:(t.suggested??[]).filter(a=>a!==e&&!(t.gates??[]).some(l=>l.id===a&&l.after===e))}}var Pa=(t,e)=>({...t,gates:(t.gates??[]).filter(s=>s.id!==e),suggested:(t.suggested??[]).filter(s=>s!==e)});function Da(t,e){return{...t,roles:(t.roles??[]).filter(s=>s.id!==e),stages:t.stages.map(s=>({...s,roles:(s.roles??[]).filter(n=>n!==e),outputs:(s.outputs??[]).map(n=>n.by===e?{...n,by:null}:n)})),gates:(t.gates??[]).map(s=>({...s,approver:s.approver===e?null:s.approver,roles:(s.roles??[]).filter(n=>n!==e)}))}}var Jd=/^[a-z0-9-]{1,40}$/,P=(t,e)=>(Array.isArray(t)?t.map(String).join(" \xB7 "):t==null?"":String(t)).slice(0,e),Ee=(t,e,s)=>(Array.isArray(t)?t:t==null?[]:[t]).map(n=>P(n,e)).filter(Boolean).slice(0,s),Xd=t=>t.split(/[\s/·-]+/).filter(e=>e.length>2||/^[A-Z]/.test(e)).map(e=>e[0].toUpperCase()).join("").slice(0,8)||t.slice(0,20);function Hd(t){let e=(t.lanes??[]).slice(0,8);return{...t,lanes:e.map(s=>({...s,id:P(s.id,60),name:P(s.name,80)||P(s.id,80),sub:P(s.sub,140)})),roles:(t.roles??[]).slice(0,30).map(s=>{let n=P(s.acronym,200),i=n.length>20;return{...s,id:P(s.id,60),acronym:i?Xd(n):n||"X",name:P(s.name,140)||(i?n.slice(0,140):""),lane:P(s.lane,60)}}),phases:(t.phases??[]).slice(0,8).map(s=>({...s,id:P(s.id,60),name:P(s.name,80)||P(s.id,80)})),stages:(t.stages??[]).slice(0,30).map(s=>({...s,id:P(s.id,60),name:P(s.name,80)||P(s.id,80),description:P(s.description,2e3),question:P(s.question,140),inputs:Ee(s.inputs,140,12),outside:Ee(s.outside,140,12),metrics:Ee(s.metrics,140,8),roles:Ee(s.roles,60,20),outputs:(s.outputs??[]).slice(0,12).map(n=>({...n,name:P(n.name,120)||P(n.id,120),description:P(n.description,140)})),activities:(s.activities??[]).slice(0,20).map(n=>({...n,name:P(n.name,120)||P(n.id,120)})),fields:(s.fields??[]).slice(0,12).map(n=>({...n,name:P(n.name,80)||P(n.id,80),kind:"text"})),copilot:{instructions:P(s.copilot?.instructions,2e3),actions:Ee(s.copilot?.actions,80,8)}})),gates:(t.gates??[]).slice(0,12).map(s=>({...s,name:P(s.name,80)||P(s.id,80),description:P(s.description,2e3),metrics:Ee(s.metrics,140,8),roles:Ee(s.roles,60,20),outputs:(s.outputs??[]).slice(0,12).map(n=>({...n,name:P(n.name,120)||P(n.id,120),description:P(n.description,140)})),results:(s.results??[]).slice(0,6).map(n=>({...n,label:P(n.label,40)||P(n.id,40)})),criteria:(s.criteria??[]).slice(0,6)})),work_types:(t.work_types??[]).slice(0,12).map(s=>({...s,name:P(s.name,40)||P(s.id,40),parents:Ee(s.parents,60,6)})),triggers:(t.triggers??[]).slice(0,12).map(s=>({...s,question:P(s.question,200),activities:(s.activities??[]).slice(0,12).map(n=>({...n,name:P(n.name,120)||P(n.id,120)}))})),links:(t.links??[]).slice(0,40),subitem:t.subitem&&{...t.subitem,name:P(t.subitem.name,40),plural:P(t.subitem.plural,40),results:(t.subitem.results??[]).slice(0,8).map(s=>({...s,label:P(s.label,40)||P(s.id,40)}))},en:{}}}function _a(t){let e=Hd(t),s=(h,b=[])=>{let g=[...b],A=new Map;for(let E of h){let x=Jd.test(E)&&!g.includes(E)?E:ae(E.slice(0,34),g);g.push(x),A.has(E)||A.set(E,x)}return A},n=s(e.lanes.map(h=>h.id)),i=s((e.roles??[]).map(h=>h.id)),r=s(e.phases.map(h=>h.id)),o=s(e.stages.map(h=>h.id)),a=s((e.gates??[]).map(h=>h.id)),l=s((e.work_types??[]).map(h=>h.id)),c=s([...e.stages.flatMap(h=>[...(h.outputs??[]).map(b=>b.id),...(h.activities??[]).map(b=>b.id)]),...(e.gates??[]).flatMap(h=>(h.outputs??[]).map(b=>b.id)),...(e.triggers??[]).flatMap(h=>h.activities.map(b=>b.id))]),d=s((e.subitem?.results??[]).map(h=>h.id)),f=(h,b)=>b!=null&&h.has(b)?h.get(b):null,u=(h,b)=>(b??[]).filter(g=>h.has(g)).map(g=>h.get(g)),y=e.lanes[0]?n.get(e.lanes[0].id):"",$=e.phases[0]?r.get(e.phases[0].id):"",m=new Set(e.stages.flatMap(h=>(h.outputs??[]).map(b=>b.id))),w=new Set((e.kpis??[]).filter(h=>o.has(h.stage)).map(h=>h.id));return{...e,lanes:e.lanes.map(h=>({...h,id:n.get(h.id)})),roles:(e.roles??[]).map(h=>({...h,id:i.get(h.id),lane:f(n,h.lane)??y})),phases:e.phases.map(h=>({...h,id:r.get(h.id)})),subitem:e.subitem&&{...e.subitem,results:e.subitem.results.map(h=>({...h,id:d.get(h.id)}))},work_types:(e.work_types??[]).map(h=>({...h,id:l.get(h.id),parents:u(l,h.parents)})),stages:e.stages.map(h=>({...h,id:o.get(h.id),phase:f(r,h.phase)??$,lane:f(n,h.lane)??y,roles:u(i,h.roles),work_type:f(l,h.work_type),outputs:(h.outputs??[]).map(b=>({...b,id:c.get(b.id),by:f(i,b.by)})),activities:(h.activities??[]).map(b=>({...b,id:c.get(b.id)})),fields:[...s((h.fields??[]).map(b=>b.id))].map(([,b],g)=>({...(h.fields??[])[g],id:b})),scope:h.scope==="subitem"&&!e.subitem?"initiative":h.scope})),gates:(e.gates??[]).filter(h=>o.has(h.after)).map(h=>({...h,id:a.get(h.id),after:o.get(h.after),on_fail:f(o,h.on_fail),approver:f(i,h.approver),roles:u(i,h.roles),outputs:(h.outputs??[]).map(b=>({...b,id:c.get(b.id),by:f(i,b.by)})),results:[...s(h.results.map(b=>b.id))].map(([,b],g)=>({...h.results[g],id:b})),criteria:(h.criteria??[]).map(b=>b.kind==="outputs"?{...b,outputs:b.outputs.filter(g=>m.has(g)).map(g=>c.get(g))}:b.kind==="activities"?{...b,stage:f(o,b.stage)??""}:b.kind==="kpis"?{...b,kpis:b.kpis.filter(g=>w.has(g))}:{...b,result:f(d,b.result)??""}).filter(b=>b.kind==="outputs"?b.outputs.length>0:b.kind==="activities"?!!b.stage:b.kind==="kpis"?b.kpis.length>0:!!b.result)})),links:(e.links??[]).filter(h=>o.has(h.source)&&o.has(h.target)).map(h=>({...h,source:o.get(h.source),target:o.get(h.target)})),triggers:(e.triggers??[]).filter(h=>o.has(h.stage)).map(h=>({...h,stage:o.get(h.stage),activities:h.activities.filter(b=>o.has(b.stage)).map(b=>({...b,id:c.get(b.id),stage:o.get(b.stage)}))})).filter(h=>h.activities.length),next:e.next&&m.has(e.next.per)?{...e.next,per:c.get(e.next.per)}:null,suggested:(e.suggested??[]).map(h=>o.get(h)??a.get(h)).filter(h=>!!h),kpis:(e.kpis??[]).filter(h=>o.has(h.stage)).map(h=>({...h,stage:o.get(h.stage),since:f(o,h.since)}))}}var Wa="hubs.way/v1",Li="stage-door/v1",Qd=new Set([Wa,Li]);function Zd(t,e,s,n=Wa){let{en:i,...r}=e,o=n===Li?ep(r):r,a={format:n,name:t,...o};return s==="json"?JSON.stringify(a,null,2)+`
140
- `:(0,ue.stringify)(a,{lineWidth:0})}function ep(t){let{suggested:e,...s}=t,n=tp(s);return Ti({...s,stages:s.stages.map(({copilot:i,fields:r,col:o,outside:a,...l})=>({...l,inputs:(l.inputs??[]).map(c=>a?.includes(c)?{name:c}:n.has(c)?{from:n.get(c)}:c)}))})}function tp(t){let e=new Map;for(let s of[...t.stages.flatMap(n=>n.outputs??[]),...(t.gates??[]).flatMap(n=>n.outputs??[])])e.has(s.name)||e.set(s.name,s.id);return e}var Ti=t=>Array.isArray(t)?t.map(Ti):Ze(t)?Object.fromEntries(Object.entries(t).map(([e,s])=>[e,Ti(s)]).filter(([,e])=>e!=null&&e!==""&&!(Array.isArray(e)&&!e.length))):t,Ze=t=>!!t&&typeof t=="object"&&!Array.isArray(t),K=t=>typeof t=="string"?t.trim():"";function sp(t){let e=new ue.LineCounter,s=(0,ue.parseDocument)(t,{lineCounter:e,prettyErrors:!1}),n=O=>{let p=s.getIn(O,!0);return p?.range?e.linePos(p.range[0]).line:1},i={lanes:0,phases:0,stages:0,gates:0,outputs:0};if(s.errors.length){let O=s.errors[0];return{name:"",problems:[{line:e.linePos(O.pos[0]).line,key:"syntax",detail:O.code}],fatal:!0,summary:i}}let r=s.toJS();if(!Ze(r)||!Qd.has(String(r.format))||!(0,ue.isMap)(s.contents))return{name:"",problems:[{line:n(["format"]),key:"format"}],fatal:!0,summary:i};let o=[],a=O=>{let p=r[O];return p==null?[]:!Array.isArray(p)||!(0,ue.isSeq)(s.getIn([O],!0))?(o.push({line:n([O]),key:"shape",what:O}),[]):p.map((v,N)=>{if(Ze(v)&&K(v.id))return v;o.push({line:n([O,N]),key:"shape",what:`${O}[${N}]`})}).filter(v=>!!v)},l=a("lanes"),c=a("phases"),d=a("stages"),f=a("gates");if(!l.length)return{name:K(r.name),problems:[...o,{line:n(["lanes"]),key:"noLanes"}],fatal:!0,summary:i};let u=(O,p)=>{let v=new Set;return p.filter(N=>{let T=K(N.id);return v.has(T)?(o.push({line:n([O,r[O].indexOf(N),"id"]),key:"duplicate",what:O,id:T}),!1):(v.add(T),!0)})},y=u("lanes",l),$=u("phases",c),m=new Set(y.map(O=>K(O.id))),w=new Set($.map(O=>K(O.id))),h=u("stages",d).filter(O=>{let p=r.stages.indexOf(O);return m.has(K(O.lane))?$.length&&!w.has(K(O.phase))?(o.push({line:n(["stages",p,"phase"]),key:"phaseUnknown",stage:K(O.id),phase:K(O.phase),phases:[...w].join(", ")}),!1):!0:(o.push({line:n(["stages",p,"lane"]),key:"laneUnknown",stage:K(O.id),lane:K(O.lane),lanes:[...m].join(", ")}),!1)}),b=new Map([...d,...f].flatMap(O=>Array.isArray(O.outputs)?O.outputs:[]).filter(Ze).map(O=>[K(O.id),K(O.name)])),g=h.map(O=>{if(!Array.isArray(O.inputs))return O;let p=r.stages.indexOf(O),v=[],N=[];return O.inputs.forEach((T,F)=>{if(typeof T=="string"&&T.trim())v.push(T.trim());else if(Ze(T)&&K(T.from)){let U=b.get(K(T.from));U?v.push(U):o.push({line:n(["stages",p,"inputs",F]),key:"inputUnknown",stage:K(O.id),from:K(T.from)})}else Ze(T)&&K(T.name)?(v.push(K(T.name)),N.push(K(T.name))):o.push({line:n(["stages",p,"inputs",F]),key:"shape",what:`stages[${p}].inputs[${F}]`})}),{...O,inputs:v,...N.length?{outside:N}:{}}}),A=new Set(h.map(O=>K(O.id))),E=u("gates",f).filter(O=>A.has(K(O.after))?!0:(o.push({line:n(["gates",r.gates.indexOf(O),"after"]),key:"gateUnknown",gate:K(O.id),after:K(O.after)}),!1)),{format:x,name:L,...k}=r,I=_a({...k,lanes:y,phases:$,stages:g,gates:E.map(O=>({...O,results:O.results??[]})),en:{}}),B={lanes:I.lanes.length,phases:I.phases.length,stages:I.stages.length,gates:(I.gates??[]).length,outputs:I.stages.reduce((O,p)=>O+(p.outputs??[]).length,0)};return{name:K(r.name),def:I,problems:o,fatal:!1,summary:B}}var np={way:["order","subitem","next","discard"],lane:["name","sub","inside"],role:["acronym","name","lane"],phase:["name"],stage:["name","lane","phase","roles","description","where","inputs","outside","outputs","activities","fields","question","copilot","metrics","scope","work_type","optional","wip"],gate:["name","after","approver","on_fail","criteria","results","description","roles","metrics","outputs"],kpi:["name","unit","stage","source","since"],link:[]},Ba={lane:"lanes",role:"roles",phase:"phases",stage:"stages",gate:"gates",kpi:"kpis"},me=(t,e)=>t[Ba[e]]??[],Mi=(t,e,s)=>({...t,[Ba[e]]:s}),_t=t=>`${t.source}>${t.target}>${t.kind}`,Wt=t=>{let e=new Map;for(let s of t.links??[])s.source!==Dt&&s.target!==Dt&&!e.has(_t(s))&&e.set(_t(s),s);return e};function et(t){if(!(t==null||t==="")){if(Array.isArray(t)){let e=t.map(et).filter(s=>s!==void 0);return e.length?e:void 0}if(typeof t=="object"){let e=Object.entries(t).map(([s,n])=>[s,et(n)]).filter(([,s])=>s!==void 0);return e.length?Object.fromEntries(e.sort(([s],[n])=>s.localeCompare(n))):void 0}return t}}var Ii=(t,e)=>JSON.stringify(et(t))===JSON.stringify(et(e)),Fa=t=>t.stages.map((e,s)=>({s:e,k:e.col??s,i:s})).sort((e,s)=>e.k-s.k||e.i-s.i).map(e=>e.s.id);var Ra={lane:6,role:30,phase:6,stage:30,gate:12,kpi:8};function Pi(t){let e=[];for(let o of["lane","role","phase","stage","gate","kpi"]){let a=me(t,o);a.length>Ra[o]&&e.push({key:"limit",item:o,max:Ra[o]});let l=new Set;for(let c of a)l.has(c.id)&&e.push({key:"duplicate",item:o,id:c.id}),l.add(c.id)}for(let o of["lane","phase","stage"])me(t,o).length||e.push({key:"empty",item:o});(t.links??[]).length>40&&e.push({key:"limit",item:"link",max:40});let s=(o,a)=>me(t,o).some(l=>l.id===a),n=new Set(t.stages.flatMap(o=>(o.outputs??[]).map(a=>a.id))),i=(o,a,l,c,d)=>{o||e.push({key:"missing",item:a,id:l,field:c,to:d})};for(let o of t.roles??[])i(s("lane",o.lane),"role",o.id,"lane",o.lane);for(let o of t.stages){i(s("lane",o.lane),"stage",o.id,"lane",o.lane),i(s("phase",o.phase),"stage",o.id,"phase",o.phase);for(let a of o.roles??[])i(s("role",a),"stage",o.id,"roles",a);for(let a of o.outputs??[])a.by&&i(s("role",a.by),"stage",o.id,"outputs",a.by)}let r=new Set;for(let o of t.gates??[]){i(s("stage",o.after),"gate",o.id,"after",o.after),r.has(o.after)&&e.push({key:"twoGates",stage:o.after}),r.add(o.after),o.approver&&i(s("role",o.approver),"gate",o.id,"approver",o.approver),o.on_fail&&i(s("stage",o.on_fail),"gate",o.id,"on_fail",o.on_fail);for(let a of o.roles??[])i(s("role",a),"gate",o.id,"roles",a);for(let a of o.criteria??[]){if(a.kind==="outputs")for(let l of a.outputs)i(n.has(l),"gate",o.id,"criteria",l);if(a.kind==="kpis")for(let l of a.kpis)i(s("kpi",l),"gate",o.id,"criteria",l);a.kind==="activities"&&i(s("stage",a.stage),"gate",o.id,"criteria",a.stage)}}for(let o of t.kpis??[])i(s("stage",o.stage),"kpi",o.id,"stage",o.stage),o.since&&i(s("stage",o.since),"kpi",o.id,"since",o.since);for(let o of Wt(t).values())i(s("stage",o.source),"link",_t(o),"source",o.source),i(s("stage",o.target),"link",_t(o),"target",o.target);return e}var Di=t=>t.key==="duplicate"?`${t.item} ${t.id} is repeated`:t.key==="missing"?`${t.item} ${t.id} \xB7 ${t.field}: "${t.to}" does not exist`:t.key==="twoGates"?`two gates after stage ${t.stage} (one per stage)`:t.key==="limit"?`more than ${t.max} ${t.item}s`:`no ${t.item} left`;function ip(t,e,s){return e==="stage"?Ma(t,s):e==="role"?Da(t,s):e==="gate"?Pa(t,s):e==="kpi"?{...t,kpis:(t.kpis??[]).filter(n=>n.id!==s),gates:(t.gates??[]).map(n=>({...n,criteria:(n.criteria??[]).map(i=>i.kind==="kpis"?{...i,kpis:i.kpis.filter(r=>r!==s)}:i).filter(i=>!(i.kind==="kpis"&&!i.kpis.length))}))}:e==="link"?{...t,links:(t.links??[]).filter(n=>_t(n)!==s)}:e==="way"?t:Mi(t,e,me(t,e).filter(n=>n.id!==s))}var rp={lane:{inside:!0},stage:{scope:"initiative",optional:!1}},ja=(t,e,s)=>e[s]??rp[t]?.[s];function op(t,e,s={}){let n=[],i=Fa(t),r=Fa(e),o=(u,y)=>u.filter($=>y.includes($)),a=(u,y)=>{let $=u.stages.findIndex(m=>m.id===y);return u.stages[$].col??$};(o(i,r).some(u=>a(t,u)!==a(e,u))||!Ii(o(i,r),o(r,i)))&&n.push({key:"way::order",item:"way",id:"",field:"order",kind:"set",before:i,after:r,risky:!1});for(let u of["subitem","next","discard"])Ii(t[u],e[u])||n.push({key:`way::${u}`,item:"way",id:"",field:u,kind:"set",before:t[u],after:e[u],risky:!1});for(let u of["lane","role","phase","stage","gate","kpi"]){let y=new Map(me(t,u).map(m=>[m.id,m])),$=new Map(me(e,u).map(m=>[m.id,m]));for(let[m,w]of $){let h=y.get(m);if(!h){n.push({key:`${u}:${m}`,item:u,id:m,kind:"add",after:w,risky:!1});continue}for(let b of np[u])Ii(ja(u,h,b),ja(u,w,b))||n.push({key:`${u}:${m}:${b}`,item:u,id:m,field:b,kind:"set",before:h[b],after:w[b],risky:u==="gate"&&(b==="approver"&&!!et(h[b])||b==="criteria")})}for(let[m,w]of y)if(!$.has(m)){let h=u==="stage"&&$.has(s[m])?s[m]:void 0;n.push({key:`${u}:${m}`,item:u,id:m,kind:"remove",before:w,risky:!h,...h&&{into:h}})}}let c=Wt(t),d=Wt(e);for(let[u,y]of d)c.has(u)||n.push({key:`link:${u}`,item:"link",id:u,kind:"add",after:y,risky:!1});let f=new Set(t.stages.filter(u=>!e.stages.some(y=>y.id===u.id)).map(u=>u.id));for(let[u,y]of c)!d.has(u)&&!f.has(y.source)&&!f.has(y.target)&&n.push({key:`link:${u}`,item:"link",id:u,kind:"remove",before:y,risky:!0});return n}function ap(t,e,s){let n=structuredClone(t),i={add:0,set:1,remove:2},r=["lane","role","phase","stage","gate","kpi","link","way"],o=[...s].sort((a,l)=>i[a.kind]-i[l.kind]||r.indexOf(a.item)-r.indexOf(l.item));for(let a of o)if(a.kind==="remove")n=ip(n,a.item,a.id);else if(a.item==="link")a.kind==="add"&&!Wt(n).has(a.id)&&(n={...n,links:[...n.links??[],a.after]});else if(a.item==="way")if(a.field==="order"){let l=new Map(e.stages.map((c,d)=>[c.id,c.col??d]));n={...n,stages:n.stages.map(c=>l.has(c.id)?{...c,col:l.get(c.id)}:c)}}else n={...n,[a.field]:a.after};else a.kind==="add"?n=Mi(n,a.item,[...me(n,a.item),structuredClone(a.after)]):n=Mi(n,a.item,me(n,a.item).map(l=>l.id===a.id?{...l,[a.field]:structuredClone(a.after)}:l));return{...n,links:[...(n.links??[]).filter(a=>a.source===Dt||a.target===Dt),...Wt(n).values()]}}var lp={"stage.lane":"lane","stage.phase":"phase","stage.roles":"role","role.lane":"lane","gate.after":"stage","gate.approver":"role","gate.on_fail":"stage","gate.roles":"role","kpi.stage":"stage","kpi.since":"stage","way.order":"stage"};function cp(t,e,s,n,i){if(et(s)===void 0)return i.empty;let r=lp[`${t}.${e}`],o=a=>{for(let l of n){let c=r==="role"?(l.roles??[]).find(d=>d.id===a)?.acronym:r==="lane"?l.lanes.find(d=>d.id===a)?.name:r==="phase"?l.phases.find(d=>d.id===a)?.name:r==="stage"?l.stages.find(d=>d.id===a)?.name:void 0;if(c)return c}return a};return r?Array.isArray(s)?s.map(a=>o(String(a))).join(e==="order"?" \u2192 ":", "):o(String(s)):typeof s=="boolean"?s?i.yes:i.no:e==="criteria"?s.map(i.criteria).join(" \xB7 "):e==="copilot"?s.instructions||s.actions?.join(", ")||i.empty:e==="subitem"?s.plural:e==="next"?s.way:Array.isArray(s)?s.map(a=>String(typeof a=="object"&&a?a.name??a.label??"":a)).join(", "):String(s)}function up(t,e){let s=t.after??t.before,n=r=>e.map(o=>r(o)?.find(a=>a.id===t.id)).find(Boolean);if(t.item==="way")return"";if(t.item==="link"){let[r,o]=t.id.split(">"),a=l=>e.map(c=>c.stages.find(d=>d.id===l)?.name).find(Boolean)??l;return`${a(r)} \u2192 ${a(o)}`}return t.item==="role"?s?.acronym??n(r=>r.roles)?.acronym??t.id:n(r=>me(r,t.item))?.name??s?.name??t.id}var Ka=/\b(medir|medi[çc][ãa]o|medida|resultado|meta|measur\w*|outcome|kpi)\b/i;function tt(t){let e=t.gates??[],s=new Map;t.stages.forEach((a,l)=>s.set(a.id,2*l));for(let a of e)s.set(a.id,(s.get(a.after)??0)+1);let n=[...t.stages.flatMap(a=>(a.outputs??[]).map(l=>({at:s.get(a.id),by:a.id,kind:"stage",output:l}))),...e.flatMap(a=>(a.outputs??[]).map(l=>({at:s.get(a.id),by:a.id,kind:"gate",output:l})))].sort((a,l)=>a.at-l.at),i={},r={},o=(a,l)=>{(r[a]??=[]).includes(l)||r[a].push(l)};for(let a of t.stages){let l=s.get(a.id);i[a.id]=(a.inputs??[]).map(c=>{if((a.outside??[]).includes(c))return{name:c,kind:"outside"};let d=n.filter(y=>y.output.name.trim().toLowerCase()===c.trim().toLowerCase()),f=d.filter(y=>y.at<l).at(-1),u=f??d[0];return u?(o(u.output.id,a.id),{name:c,kind:u.kind,from:u.by,output:u.output.id,...f?{}:{late:!0}}):{name:c,kind:"nowhere"}})}for(let a of e)for(let l of a.criteria??[])if(l.kind==="outputs")for(let c of l.outputs)o(c,a.id);for(let a of Object.keys(r))r[a].sort((l,c)=>(s.get(l)??0)-(s.get(c)??0));return{uses:t.stages.some(a=>(a.inputs??[]).length),inputs:i,receivers:r}}var Ua=/^(dev|desenvolvimento|qa|hml|homolog(a[çc][ãa]o)?|staging|stage|uat|prd|prod|produ[çc][ãa]o|production|sandbox)$/i,fp=/(^|\s)(daily|dailies|planning|planejamento|refinement|refinamento|grooming|retro|retrospectiva|retrospective|sprint review|review da sprint|stand-?up)(\s|$)/i,dp=/(^|\s)(owner|lead|leader|manager|master|analyst|engineer|developer|designer|tester|architect|director|head|coordinator|specialist|team|squad|gerente|l[ií]der|analista|engenheir[oa]|desenvolvedor[a]?|arquitet[oa]|diretor[a]?|coordenador[a]?|especialista|time|equipe|comit[êe]|qualidade|produto|neg[óo]cio|dono|respons[áa]vel)(\s|$)/i,pp=/^[A-ZÀ-Ý][a-zà-ÿ]+(\s+(da|de|do|dos|das|e)?\s*[A-ZÀ-Ý][a-zà-ÿ]+){1,2}$/;function _i(t){let e=[],s=t.stages,n=t.gates??[],i=t.roles??[],r=c=>s.find(d=>d.id===c)?.name??c;for(let c of s.slice(0,-1))(c.outputs??[]).length||c.optional||e.push({key:"outputs",at:{stage:c.id},en:`\xAB${c.name}\xBB delivers nothing: what comes out of it?`,pt:`\xAB${c.name}\xBB n\xE3o entrega nada: o que sai dela?`});s.length>1&&!n.length&&e.push({key:"noGate",en:"No gate: where does someone decide the work goes on?",pt:"Nenhum gate: onde algu\xE9m decide que o trabalho segue?"});let o=new Set(i.map(c=>c.acronym.toLowerCase()).concat(i.map(c=>c.id.toLowerCase()))),a=(c,d)=>!!d&&(d===c.id||d.toLowerCase()===c.acronym.toLowerCase());for(let c of n)c.approver?i.length&&!o.has(c.approver.toLowerCase())&&e.push({key:"unknownApprover",at:{gate:c.id},en:`The gate \xAB${c.name}\xBB is approved by \xAB${c.approver}\xBB, which is not one of the roles`,pt:`O gate \xAB${c.name}\xBB \xE9 aprovado por \xAB${c.approver}\xBB, que n\xE3o \xE9 um dos pap\xE9is`}):e.push({key:"approver",at:{gate:c.id},en:`Nobody approves the gate \xAB${c.name}\xBB`,pt:`Ningu\xE9m aprova o gate \xAB${c.name}\xBB`}),(c.criteria??[]).length||e.push({key:"criteria",at:{gate:c.id},en:`The gate \xAB${c.name}\xBB (after \xAB${r(c.after)}\xBB) says nothing about what must be ready`,pt:`O gate \xAB${c.name}\xBB (depois de \xAB${r(c.after)}\xBB) n\xE3o diz o que precisa estar pronto`});for(let c of t.phases){if(Ua.test(c.name.trim())||Ua.test(c.id)){e.push({key:"environment",at:{phase:c.id},en:`The phase \xAB${c.name}\xBB is an environment: it is where stages happen (their \xABwhere\xBB), not a milestone`,pt:`A fase \xAB${c.name}\xBB \xE9 um ambiente: \xE9 onde as etapas acontecem (\xABonde\xBB), n\xE3o um marco`});continue}let d=s.filter(f=>f.phase===c.id);t.phases.length>1&&d.length&&!d.some(f=>(f.outputs??[]).length||n.some(u=>u.after===f.id))&&e.push({key:"phase",at:{phase:c.id},en:`The phase \xAB${c.name}\xBB has no deliverable and no gate closes it`,pt:`A fase \xAB${c.name}\xBB n\xE3o tem entrega e nenhum gate a fecha`})}s.length>=3&&!s.some(c=>Ka.test(c.name)||(c.outputs??[]).some(d=>d.kpi))&&e.push({key:"measure",en:"No stage measures the result: what number shows it worked, and where is it measured?",pt:"Nenhuma etapa mede o resultado: que n\xFAmero mostra que deu certo, e onde se mede?"});for(let c of s)fp.test(c.name)&&e.push({key:"ritual",at:{stage:c.id},en:`\xAB${c.name}\xBB is a ritual (it has a cadence): it stays out of the flow`,pt:`\xAB${c.name}\xBB \xE9 um ritual (tem cad\xEAncia): fica fora do fluxo`});for(let c of t.lanes)s.length&&!s.some(d=>d.lane===c.id)&&e.push({key:"lane",at:{lane:c.id},en:`No stage is led by \xAB${c.name}\xBB`,pt:`Nenhuma etapa \xE9 liderada por \xAB${c.name}\xBB`});for(let c of i){let d=(c.name??"").trim();d&&pp.test(d)&&!dp.test(d)&&e.push({key:"person",at:{role:c.id},en:`\xAB${d}\xBB reads as a person: a role is a function (who does it is a lane's \xABsub\xBB)`,pt:`\xAB${d}\xBB parece uma pessoa: papel \xE9 uma fun\xE7\xE3o (quem faz fica no \xABsub\xBB da raia)`});let f=s.some(u=>(u.roles??[]).some(y=>a(c,y)))||n.some(u=>a(c,u.approver));s.length&&!f&&e.push({key:"idleRole",at:{role:c.id},en:`The role \xAB${c.acronym}\xBB takes part in no stage and approves no gate`,pt:`O papel \xAB${c.acronym}\xBB n\xE3o participa de nenhuma etapa nem aprova gate`})}let l=tt(t);if(l.uses){let c=d=>s.find(f=>f.id===d)?.name??n.find(f=>f.id===d)?.name??d??"";for(let d of s)for(let f of l.inputs[d.id]??[])f.kind==="nowhere"?e.push({key:"inputNowhere",at:{stage:d.id},en:`\xAB${d.name}\xBB receives \xAB${f.name}\xBB and nothing before it delivers that: does it come from outside?`,pt:`\xAB${d.name}\xBB recebe \xAB${f.name}\xBB e nada antes dela entrega isso: vem de fora?`}):f.late&&e.push({key:"lateInput",at:{stage:d.id},en:`\xAB${d.name}\xBB receives \xAB${f.name}\xBB, which only \xAB${c(f.from)}\xBB delivers, at or after it`,pt:`\xAB${d.name}\xBB recebe \xAB${f.name}\xBB, que s\xF3 \xAB${c(f.from)}\xBB entrega, nela ou depois dela`});for(let d of s.slice(0,-1))for(let f of d.outputs??[])!f.kpi&&!(l.receivers[f.id]??[]).length&&e.push({key:"unusedOutput",at:{stage:d.id,output:f.id},en:`\xAB${f.name}\xBB comes out of \xAB${d.name}\xBB and no stage or gate receives it: who is it for?`,pt:`\xAB${f.name}\xBB sai de \xAB${d.name}\xBB e nenhuma etapa nem gate o recebe: \xE9 para quem?`});for(let d of n)(d.outputs??[]).length||e.push({key:"gateNoOutputs",at:{gate:d.id},en:`The gate \xAB${d.name}\xBB says nothing about what comes out of it (the decision, what was approved)`,pt:`O gate \xAB${d.name}\xBB n\xE3o diz o que sai dele (a decis\xE3o, o que foi aprovado)`})}return e}var hp={prod:"DCE6FF",tech:"DDF3E6",qa:"FFE9D1",forge:"ECE0FF",slate:"E8EAED",coral:"FFE0DA"},Ya=["prod","tech","qa","forge","slate","coral"],za={en:{summary:"Summary",stages:"Stages",gates:"Gates",roles:"Roles (RACI)",outputs:"Outputs",kpis:"KPIs",checklist:"Gate checklist",way:"Way of working",phases:"Phases",nStages:"Stages",nGates:"Gates",nRoles:"Roles",look:"To look at",none:"Nothing to look at",raci:"R leads (the stage\u2019s lane) \xB7 C takes part \xB7 A approves the gate after it",id:"id",order:"#",phase:"Phase",stage:"Stage",lane:"Led by",roles2:"Take part",question:"Key question",inputs:"Comes in",delivers:"Delivers",activities:"Activities",where:"Where",wip:"Limit",gate:"Gate",after:"After",approver:"Approves",criteria:"Criteria",onFail:"If it fails",results:"Results",role:"Role",name:"Name",output:"Output",description:"Description",by:"By",kpi:"KPI",unit:"Unit",source:"Source",since:"Since",check:"What must be ready",ok:"OK?",note:"Note",who:"Who confirms",yes:"yes",outputsOf:t=>`Outputs: ${t}`,activitiesOf:t=>`Activities of \xAB${t}\xBB done`,subitems:(t,e)=>`At least ${t} sub-items \xAB${e}\xBB`,kpisOf:t=>`KPIs: ${t}`,metrics:"Metrics",gateOut:"What comes out",thread:"Thread",fromCol:"From",toCol:"To",outsideWord:"from outside",nobody:"nobody"},pt:{summary:"Resumo",stages:"Etapas",gates:"Gates",roles:"Pap\xE9is (RACI)",outputs:"Entregas",kpis:"KPIs",checklist:"Checklist de gate",way:"Jeito de trabalhar",phases:"Fases",nStages:"Etapas",nGates:"Gates",nRoles:"Pap\xE9is",look:"Para olhar",none:"Nada para olhar",raci:"R lidera (a raia da etapa) \xB7 C participa \xB7 A aprova o gate depois dela",id:"id",order:"#",phase:"Fase",stage:"Etapa",lane:"Lidera",roles2:"Participam",question:"Pergunta-chave",inputs:"Entra",delivers:"Entrega",activities:"Atividades",where:"Onde",wip:"Limite",gate:"Gate",after:"Depois de",approver:"Quem aprova",criteria:"Crit\xE9rios",onFail:"Se n\xE3o passar",results:"Resultados",role:"Papel",name:"Nome",output:"Entrega",description:"Descri\xE7\xE3o",by:"Por",kpi:"KPI",unit:"Unidade",source:"Fonte",since:"Desde",check:"O que precisa estar pronto",ok:"OK?",note:"Nota",who:"Quem confirma",yes:"sim",outputsOf:t=>`Entregas: ${t}`,activitiesOf:t=>`Atividades de \xAB${t}\xBB feitas`,subitems:(t,e)=>`Pelo menos ${t} subitens \xAB${e}\xBB`,kpisOf:t=>`KPIs: ${t}`,metrics:"M\xE9tricas",gateOut:"O que sai",thread:"Fio",fromCol:"De",toCol:"Para",outsideWord:"de fora",nobody:"ningu\xE9m"}},js=za,mp={bold:!0,fill:"E8EEF7"},De=t=>t.map(e=>({v:e,...mp})),_e=t=>(t??[]).filter(Boolean).join("; ");function gp(t,e,s="pt"){let n=za[s],i=p=>{let v=e.lanes.findIndex(T=>T.id===p),N=e.lanes[v];return N?hp[N.color??Ya[v%Ya.length]]:void 0},r=p=>e.lanes.find(v=>v.id===p)?.name??p,o=p=>e.phases.find(v=>v.id===p)?.name??p,a=p=>p?e.stages.find(v=>v.id===p)?.name??p:"",l=p=>e.stages.flatMap(v=>v.outputs??[]).find(v=>v.id===p)?.name??p,c=p=>(e.kpis??[]).find(v=>v.id===p)?.name??p,d=p=>p?(e.roles??[]).find(v=>v.id===p)?.acronym??p:"",f=p=>p.kind==="outputs"?n.outputsOf(p.outputs.map(l).join(", ")):p.kind==="activities"?n.activitiesOf(a(p.stage)):p.kind==="subitems"?n.subitems(p.min,p.result):n.kpisOf(p.kpis.map(c).join(", ")),u=e.gates??[],y=e.roles??[],$=_i(e),m=tt(e),w=p=>e.stages.find(v=>v.id===p)?.name??u.find(v=>v.id===p)?.name??"",h=p=>(m.inputs[p]??[]).map(v=>v.kind==="outside"?`${v.name} (${n.outsideWord})`:v.from?`${v.name} (${w(v.from)})`:v.name),b={key:"summary",name:n.summary,header:!1,columns:[{title:"",width:26},{title:"",width:90}],rows:[[{v:n.way,bold:!0},{v:t,bold:!0}],[n.phases,e.phases.map(p=>p.name).join(" \u2192 ")],[n.nStages,e.stages.length],[n.nGates,u.length],[n.nRoles,y.map(p=>p.acronym).join(", ")],[],[{v:n.look,bold:!0},$.length?"":n.none],...$.map(p=>["",{v:p[s],wrap:!0}])]},g={key:"stages",name:n.stages,header:!0,columns:[{title:n.order,width:5},{title:n.id,width:14},{title:n.phase,width:14},{title:n.stage,width:22},{title:n.lane,width:16},{title:n.roles2,width:16},{title:n.question,width:32},{title:n.inputs,width:30},{title:n.delivers,width:34},{title:n.metrics,width:30},{title:n.activities,width:30},{title:n.where,width:10},{title:n.wip,width:8},{title:n.description,width:40}],rows:[]};g.rows=[De(g.columns.map(p=>p.title)),...e.stages.map((p,v)=>[v+1,p.id,o(p.phase),{v:p.name,bold:!0},{v:r(p.lane),fill:i(p.lane)},(p.roles??[]).map(d).join(", "),{v:p.question??"",wrap:!0},{v:_e(h(p.id)),wrap:!0},{v:_e((p.outputs??[]).map(N=>N.name)),wrap:!0},{v:_e(p.metrics),wrap:!0},{v:_e((p.activities??[]).map(N=>N.name)),wrap:!0},p.where??"",p.wip??"",{v:p.description??"",wrap:!0}])];let A={key:"gates",name:n.gates,header:!0,columns:[{title:n.id,width:16},{title:n.gate,width:26},{title:n.after,width:20},{title:n.approver,width:12},{title:n.criteria,width:46},{title:n.onFail,width:20},{title:n.gateOut,width:34},{title:n.metrics,width:30},{title:n.results,width:20}],rows:[]};A.rows=[De(A.columns.map(p=>p.title)),...u.map(p=>[p.id,{v:p.name,bold:!0},a(p.after),d(p.approver),{v:(p.criteria??[]).map(f).join(`
141
- `),wrap:!0},a(p.on_fail),{v:_e((p.outputs??[]).map(v=>v.name)),wrap:!0},{v:_e(p.metrics),wrap:!0},p.results.map(v=>v.label).join(" / ")])];let E=(p,v)=>{let N=[];return(v.roles??[]).includes(p.id)&&N.push(p.lane===v.lane?"R":"C"),u.some(T=>T.after===v.id&&T.approver===p.id)&&N.push("A"),N.join("/")},x={key:"roles",name:n.roles,header:!0,columns:[{title:n.role,width:10},{title:n.name,width:22},{title:n.lane,width:16},...e.stages.map(p=>({title:p.name,width:Math.max(9,Math.min(18,p.name.length+2))}))],rows:[]};x.rows=[De(x.columns.map(p=>p.title)),...y.map(p=>[{v:p.acronym,bold:!0},p.name??"",{v:r(p.lane),fill:i(p.lane)},...e.stages.map(v=>({v:E(p,v),center:!0,bold:!0}))]),[],[{v:n.raci,color:"6B6B6B"}]];let L={key:"outputs",name:n.outputs,header:!0,columns:[{title:n.stage,width:20},{title:n.id,width:14},{title:n.output,width:32},{title:n.description,width:40},{title:n.by,width:10},{title:n.kpi,width:8}],rows:[]};L.rows=[De(L.columns.map(p=>p.title)),...e.stages.flatMap(p=>(p.outputs??[]).map(v=>[a(p.id),v.id,{v:v.name,bold:!0},{v:v.description??"",wrap:!0},d(v.by),v.kpi?n.yes:""]))];let k={key:"kpis",name:n.kpis,header:!0,columns:[{title:n.id,width:14},{title:n.name,width:30},{title:n.unit,width:12},{title:n.stage,width:20},{title:n.source,width:14},{title:n.since,width:20}],rows:[]};k.rows=[De(k.columns.map(p=>p.title)),...(e.kpis??[]).map(p=>[p.id,{v:p.name,bold:!0},p.unit,a(p.stage),p.source,a(p.since)])];let I={key:"checklist",name:n.checklist,header:!0,columns:[{title:n.gate,width:26},{title:n.check,width:48},{title:n.who,width:14},{title:n.ok,width:8},{title:n.note,width:36}],rows:[]};I.rows=[De(I.columns.map(p=>p.title))];for(let p of u){let v=(p.criteria??[]).flatMap(N=>N.kind==="outputs"?N.outputs.map(T=>l(T)):[f(N)]);I.rows.push(...(v.length?v:["\u2014"]).map((N,T)=>[T===0?{v:p.name,bold:!0}:"",`\u2610 ${N}`,d(p.approver),"",""]))}let B={key:"thread",name:n.thread,header:!0,columns:[{title:n.fromCol,width:26},{title:n.output,width:34},{title:n.toCol,width:40}],rows:[]},O=[...e.stages.flatMap(p=>[...(p.outputs??[]).map(v=>[p.id,v]),...u.filter(v=>v.after===p.id).flatMap(v=>(v.outputs??[]).map(N=>[v.id,N]))])];return B.rows=[De(B.columns.map(p=>p.title)),...O.map(([p,v])=>[w(p),{v:v.name,bold:!0},{v:_e((m.receivers[v.id]??[]).map(w))||`(${n.nobody})`,wrap:!0}]),...e.stages.flatMap(p=>(m.inputs[p.id]??[]).filter(v=>v.kind==="outside"||v.kind==="nowhere").map(v=>[`(${v.kind==="outside"?n.outsideWord:n.nobody})`,{v:v.name,bold:!0},p.name]))],[b,g,A,x,L,k,I,B]}var Va=new TextEncoder,Wi=t=>t.replace(/[&<>"]/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[e]).replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,""),Ft=t=>t<26?String.fromCharCode(65+t):Ft(Math.floor(t/26)-1)+String.fromCharCode(65+t%26),yp=t=>t.replace(/[:\\/?*[\]]/g," ").slice(0,31)||"Sheet";function bp(t){let e=[{}],s=u=>JSON.stringify([u.bold??!1,u.fill??"",u.color??"",u.center??!1,u.wrap??!1]),n=new Map([[s({}),0]]);for(let u of t)for(let y of u.rows)for(let $ of y){if(typeof $!="object")continue;let{v:m,...w}=$,h=s(w);n.has(h)||(n.set(h,e.length),e.push(w))}let i=new Map([["|",0]]),r=new Map([["",0]]),o=u=>{let y=`${u.bold?"b":""}|${u.color??""}`;return i.has(y)||i.set(y,i.size),i.get(y)},a=u=>u.fill?(r.has(u.fill)||r.set(u.fill,r.size+1),r.get(u.fill)):0,l=e.map(u=>{let y=u.center||u.wrap?`<alignment${u.center?' horizontal="center"':""}${u.wrap?' wrapText="1"':""} vertical="top"/>`:'<alignment vertical="top"/>';return`<xf numFmtId="0" fontId="${o(u)}" fillId="${a(u)}" borderId="${u.fill||u.bold?1:0}" xfId="0" applyFont="1" applyFill="1" applyBorder="1" applyAlignment="1">${y}</xf>`}),c=[...i.keys()].map(u=>{let[y,$]=u.split("|");return`<font>${y?"<b/>":""}<sz val="11"/>${$?`<color rgb="FF${$}"/>`:""}<name val="Calibri"/><family val="2"/></font>`}),d=['<fill><patternFill patternType="none"/></fill>','<fill><patternFill patternType="gray125"/></fill>',...[...r.keys()].filter(Boolean).map(u=>`<fill><patternFill patternType="solid"><fgColor rgb="FF${u}"/><bgColor indexed="64"/></patternFill></fill>`)];return{xml:`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
139
+ `,s)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let s=js(e),n=et(s);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let s=js(e),n=et(s);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,s){return this.type!=="comment"||this.indent<=s?!1:e.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};xa.Parser=Li});var Ia=L(Wt=>{"use strict";var qa=bi(),Ip=xt(),Dt=Lt(),Pp=gn(),Mp=F(),Dp=Ci(),Ca=Ti();function La(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Dp.LineCounter||null,prettyErrors:e}}function Wp(t,e={}){let{lineCounter:s,prettyErrors:n}=La(e),i=new Ca.Parser(s?.addNewLine),r=new qa.Composer(e),o=Array.from(r.compose(i.parse(t)));if(n&&s)for(let a of o)a.errors.forEach(Dt.prettifyError(t,s)),a.warnings.forEach(Dt.prettifyError(t,s));return o.length>0?o:Object.assign([],{empty:!0},r.streamInfo())}function Ta(t,e={}){let{lineCounter:s,prettyErrors:n}=La(e),i=new Ca.Parser(s?.addNewLine),r=new qa.Composer(e),o=null;for(let a of r.compose(i.parse(t),!0,t.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Dt.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&s&&(o.errors.forEach(Dt.prettifyError(t,s)),o.warnings.forEach(Dt.prettifyError(t,s))),o}function _p(t,e,s){let n;typeof e=="function"?n=e:s===void 0&&e&&typeof e=="object"&&(s=e);let i=Ta(t,s);if(!i)return null;if(i.warnings.forEach(r=>Pp.warn(i.options.logLevel,r)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:n},s))}function Fp(t,e,s){let n=null;if(typeof e=="function"||Array.isArray(e)?n=e:s===void 0&&e&&(s=e),typeof s=="string"&&(s=s.length),typeof s=="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(t===void 0){let{keepUndefined:i}=s??e??{};if(!i)return}return Mp.isDocument(t)&&!n?t.toString(s):new Ip.Document(t,n,s).toString(s)}Wt.parse=_p;Wt.parseAllDocuments=Wp;Wt.parseDocument=Ta;Wt.stringify=Fp});var Ma=L(j=>{"use strict";var jp=bi(),Rp=xt(),Bp=Qn(),Ii=Lt(),Kp=pt(),xe=F(),Up=$e(),Yp=V(),zp=Ae(),Vp=Ee(),Gp=_s(),Jp=xi(),Xp=Ci(),Hp=Ti(),Bs=Ia(),Pa=lt();j.Composer=jp.Composer;j.Document=Rp.Document;j.Schema=Bp.Schema;j.YAMLError=Ii.YAMLError;j.YAMLParseError=Ii.YAMLParseError;j.YAMLWarning=Ii.YAMLWarning;j.Alias=Kp.Alias;j.isAlias=xe.isAlias;j.isCollection=xe.isCollection;j.isDocument=xe.isDocument;j.isMap=xe.isMap;j.isNode=xe.isNode;j.isPair=xe.isPair;j.isScalar=xe.isScalar;j.isSeq=xe.isSeq;j.Pair=Up.Pair;j.Scalar=Yp.Scalar;j.YAMLMap=zp.YAMLMap;j.YAMLSeq=Vp.YAMLSeq;j.CST=Gp;j.Lexer=Jp.Lexer;j.LineCounter=Xp.LineCounter;j.Parser=Hp.Parser;j.parse=Bs.parse;j.parseAllDocuments=Bs.parseAllDocuments;j.parseDocument=Bs.parseDocument;j.stringify=Bs.stringify;j.visit=Pa.visit;j.visitAsync=Pa.visitAsync});var pe=$l(Ma());var _t="_next";var se=t=>t.approvals?.length?t.approvals:t.approver?[{by:t.approver}]:[],Da=(t,e)=>{let s=se(t).find(n=>n.by===e);return s?s.when??null:void 0};function ce(t,e){let s=t.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,34)||"item",n=new Set(e);if(!n.has(s))return s;for(let i=2;;i++)if(!n.has(`${s}-${i}`))return`${s}-${i}`}function Wa(t,e){let s=t.stages.find(a=>a.id===e);if(!s||t.stages.length<2)return t;let n=new Set((s.outputs??[]).map(a=>a.id)),i=(t.links??[]).filter(a=>a.target===e&&a.kind==="next").map(a=>a.source),r=(t.links??[]).filter(a=>a.source===e&&a.kind==="next").map(a=>a.target),o=new Set((t.kpis??[]).filter(a=>a.stage===e).map(a=>a.id));return{...t,kpis:(t.kpis??[]).filter(a=>!o.has(a.id)).map(a=>a.since===e?{...a,since:null}:a),stages:t.stages.filter(a=>a.id!==e),gates:(t.gates??[]).filter(a=>a.after!==e).map(a=>({...a,on_fail:a.on_fail===e?null:a.on_fail,criteria:(a.criteria??[]).map(l=>l.kind==="outputs"?{...l,outputs:l.outputs.filter(c=>!n.has(c))}:l.kind==="kpis"?{...l,kpis:l.kpis.filter(c=>!o.has(c))}:l).filter(l=>!(l.kind==="outputs"&&!l.outputs.length)&&!(l.kind==="activities"&&l.stage===e)&&!(l.kind==="kpis"&&!l.kpis.length))})),links:[...(t.links??[]).filter(a=>a.source!==e&&a.target!==e),...i.flatMap(a=>r.filter(l=>l!==a).map(l=>({source:a,target:l,kind:"next",label:""})))],triggers:(t.triggers??[]).filter(a=>a.stage!==e).map(a=>({...a,activities:a.activities.filter(l=>l.stage!==e)})).filter(a=>a.activities.length),next:t.next&&n.has(t.next.per)?null:t.next,suggested:(t.suggested??[]).filter(a=>a!==e&&!(t.gates??[]).some(l=>l.id===a&&l.after===e))}}var _a=(t,e)=>({...t,gates:(t.gates??[]).filter(s=>s.id!==e),suggested:(t.suggested??[]).filter(s=>s!==e)});function Fa(t,e){return{...t,roles:(t.roles??[]).filter(s=>s.id!==e),stages:t.stages.map(s=>({...s,roles:(s.roles??[]).filter(n=>n!==e),outputs:(s.outputs??[]).map(n=>n.by===e?{...n,by:null}:n)})),gates:(t.gates??[]).map(s=>{let n=s.approvals?.filter(i=>i.by!==e);return{...s,approver:s.approver===e?null:s.approver,roles:(s.roles??[]).filter(i=>i!==e),approvals:n?.length?n:void 0}})}}var Qp=/^[a-z0-9-]{1,40}$/,W=(t,e)=>(Array.isArray(t)?t.map(String).join(" \xB7 "):t==null?"":String(t)).slice(0,e),qe=(t,e,s)=>(Array.isArray(t)?t:t==null?[]:[t]).map(n=>W(n,e)).filter(Boolean).slice(0,s),Zp=t=>t.split(/[\s/·-]+/).filter(e=>e.length>2||/^[A-Z]/.test(e)).map(e=>e[0].toUpperCase()).join("").slice(0,8)||t.slice(0,20);function ed(t){let e=(t.lanes??[]).slice(0,8);return{...t,lanes:e.map(s=>({...s,id:W(s.id,60),name:W(s.name,80)||W(s.id,80),sub:W(s.sub,140)})),roles:(t.roles??[]).slice(0,30).map(s=>{let n=W(s.acronym,200),i=n.length>20;return{...s,id:W(s.id,60),acronym:i?Zp(n):n||"X",name:W(s.name,140)||(i?n.slice(0,140):""),lane:W(s.lane,60)}}),phases:(t.phases??[]).slice(0,8).map(s=>({...s,id:W(s.id,60),name:W(s.name,80)||W(s.id,80)})),stages:(t.stages??[]).slice(0,30).map(s=>({...s,id:W(s.id,60),name:W(s.name,80)||W(s.id,80),description:W(s.description,2e3),question:W(s.question,140),inputs:qe(s.inputs,140,12),outside:qe(s.outside,140,12),metrics:qe(s.metrics,140,8),roles:qe(s.roles,60,20),outputs:(s.outputs??[]).slice(0,12).map(n=>({...n,name:W(n.name,120)||W(n.id,120),description:W(n.description,140)})),activities:(s.activities??[]).slice(0,20).map(n=>({...n,name:W(n.name,120)||W(n.id,120)})),fields:(s.fields??[]).slice(0,12).map(n=>({...n,name:W(n.name,80)||W(n.id,80),kind:"text"})),copilot:{instructions:W(s.copilot?.instructions,2e3),actions:qe(s.copilot?.actions,80,8)}})),gates:(t.gates??[]).slice(0,12).map(s=>({...s,name:W(s.name,80)||W(s.id,80),description:W(s.description,2e3),metrics:qe(s.metrics,140,8),roles:qe(s.roles,60,20),outputs:(s.outputs??[]).slice(0,12).map(n=>({...n,name:W(n.name,120)||W(n.id,120),description:W(n.description,140)})),results:(s.results??[]).slice(0,6).map(n=>({...n,label:W(n.label,40)||W(n.id,40)})),criteria:(s.criteria??[]).slice(0,6)})),work_types:(t.work_types??[]).slice(0,12).map(s=>({...s,name:W(s.name,40)||W(s.id,40),parents:qe(s.parents,60,6)})),triggers:(t.triggers??[]).slice(0,12).map(s=>({...s,question:W(s.question,200),activities:(s.activities??[]).slice(0,12).map(n=>({...n,name:W(n.name,120)||W(n.id,120)}))})),links:(t.links??[]).slice(0,40),subitem:t.subitem&&{...t.subitem,name:W(t.subitem.name,40),plural:W(t.subitem.plural,40),results:(t.subitem.results??[]).slice(0,8).map(s=>({...s,label:W(s.label,40)||W(s.id,40)}))},en:{}}}function ja(t){let e=ed(t),s=(h,b=[])=>{let g=[...b],A=new Map;for(let E of h){let x=Qp.test(E)&&!g.includes(E)?E:ce(E.slice(0,34),g);g.push(x),A.has(E)||A.set(E,x)}return A},n=s(e.lanes.map(h=>h.id)),i=s((e.roles??[]).map(h=>h.id)),r=s(e.phases.map(h=>h.id)),o=s(e.stages.map(h=>h.id)),a=s((e.gates??[]).map(h=>h.id)),l=s((e.work_types??[]).map(h=>h.id)),c=s([...e.stages.flatMap(h=>[...(h.outputs??[]).map(b=>b.id),...(h.activities??[]).map(b=>b.id)]),...(e.gates??[]).flatMap(h=>(h.outputs??[]).map(b=>b.id)),...(e.triggers??[]).flatMap(h=>h.activities.map(b=>b.id))]),p=s((e.subitem?.results??[]).map(h=>h.id)),f=(h,b)=>b!=null&&h.has(b)?h.get(b):null,u=(h,b)=>(b??[]).filter(g=>h.has(g)).map(g=>h.get(g)),y=e.lanes[0]?n.get(e.lanes[0].id):"",$=e.phases[0]?r.get(e.phases[0].id):"",m=new Set(e.stages.flatMap(h=>(h.outputs??[]).map(b=>b.id))),w=new Set((e.kpis??[]).filter(h=>o.has(h.stage)).map(h=>h.id));return{...e,lanes:e.lanes.map(h=>({...h,id:n.get(h.id)})),roles:(e.roles??[]).map(h=>({...h,id:i.get(h.id),lane:f(n,h.lane)??y})),phases:e.phases.map(h=>({...h,id:r.get(h.id)})),subitem:e.subitem&&{...e.subitem,results:e.subitem.results.map(h=>({...h,id:p.get(h.id)}))},work_types:(e.work_types??[]).map(h=>({...h,id:l.get(h.id),parents:u(l,h.parents)})),stages:e.stages.map(h=>({...h,id:o.get(h.id),phase:f(r,h.phase)??$,lane:f(n,h.lane)??y,roles:u(i,h.roles),work_type:f(l,h.work_type),outputs:(h.outputs??[]).map(b=>({...b,id:c.get(b.id),by:f(i,b.by)})),activities:(h.activities??[]).map(b=>({...b,id:c.get(b.id)})),fields:[...s((h.fields??[]).map(b=>b.id))].map(([,b],g)=>({...(h.fields??[])[g],id:b})),scope:h.scope==="subitem"&&!e.subitem?"initiative":h.scope})),gates:(e.gates??[]).filter(h=>o.has(h.after)).map(h=>({...h,id:a.get(h.id),after:o.get(h.after),on_fail:f(o,h.on_fail),approver:f(i,h.approver),approvals:h.approvals?.filter(b=>i.has(b.by)).map(b=>({...b,by:i.get(b.by)})),roles:u(i,h.roles),outputs:(h.outputs??[]).map(b=>({...b,id:c.get(b.id),by:f(i,b.by)})),results:[...s(h.results.map(b=>b.id))].map(([,b],g)=>({...h.results[g],id:b})),criteria:(h.criteria??[]).map(b=>b.kind==="outputs"?{...b,outputs:b.outputs.filter(g=>m.has(g)).map(g=>c.get(g))}:b.kind==="activities"?{...b,stage:f(o,b.stage)??""}:b.kind==="kpis"?{...b,kpis:b.kpis.filter(g=>w.has(g))}:{...b,result:f(p,b.result)??""}).filter(b=>b.kind==="outputs"?b.outputs.length>0:b.kind==="activities"?!!b.stage:b.kind==="kpis"?b.kpis.length>0:!!b.result)})),links:(e.links??[]).filter(h=>o.has(h.source)&&o.has(h.target)).map(h=>({...h,source:o.get(h.source),target:o.get(h.target)})),triggers:(e.triggers??[]).filter(h=>o.has(h.stage)).map(h=>({...h,stage:o.get(h.stage),activities:h.activities.filter(b=>o.has(b.stage)).map(b=>({...b,id:c.get(b.id),stage:o.get(b.stage)}))})).filter(h=>h.activities.length),next:e.next&&m.has(e.next.per)?{...e.next,per:c.get(e.next.per)}:null,suggested:(e.suggested??[]).map(h=>o.get(h)??a.get(h)).filter(h=>!!h),kpis:(e.kpis??[]).filter(h=>o.has(h.stage)).map(h=>({...h,stage:o.get(h.stage),since:f(o,h.since)}))}}var Ra="hubs.way/v1",Mi="stage-door/v1",td=new Set([Ra,Mi]);function sd(t,e,s,n=Ra){let{en:i,...r}=e,o=n===Mi?nd(r):r,a={format:n,name:t,...o};return s==="json"?JSON.stringify(a,null,2)+`
140
+ `:(0,pe.stringify)(a,{lineWidth:0})}function nd(t){let{suggested:e,...s}=t,n=id(s);return Pi({...s,stages:s.stages.map(({copilot:i,fields:r,col:o,outside:a,...l})=>({...l,inputs:(l.inputs??[]).map(c=>a?.includes(c)?{name:c}:n.has(c)?{from:n.get(c)}:c)}))})}function id(t){let e=new Map;for(let s of[...t.stages.flatMap(n=>n.outputs??[]),...(t.gates??[]).flatMap(n=>n.outputs??[])])e.has(s.name)||e.set(s.name,s.id);return e}var Pi=t=>Array.isArray(t)?t.map(Pi):tt(t)?Object.fromEntries(Object.entries(t).map(([e,s])=>[e,Pi(s)]).filter(([,e])=>e!=null&&e!==""&&!(Array.isArray(e)&&!e.length))):t,tt=t=>!!t&&typeof t=="object"&&!Array.isArray(t),U=t=>typeof t=="string"?t.trim():"";function rd(t){let e=new pe.LineCounter,s=(0,pe.parseDocument)(t,{lineCounter:e,prettyErrors:!1}),n=q=>{let N=s.getIn(q,!0);return N?.range?e.linePos(N.range[0]).line:1},i={lanes:0,phases:0,stages:0,gates:0,outputs:0};if(s.errors.length){let q=s.errors[0];return{name:"",problems:[{line:e.linePos(q.pos[0]).line,key:"syntax",detail:q.code}],fatal:!0,summary:i}}let r=s.toJS();if(!tt(r)||!td.has(String(r.format))||!(0,pe.isMap)(s.contents))return{name:"",problems:[{line:n(["format"]),key:"format"}],fatal:!0,summary:i};let o=[],a=q=>{let N=r[q];return N==null?[]:!Array.isArray(N)||!(0,pe.isSeq)(s.getIn([q],!0))?(o.push({line:n([q]),key:"shape",what:q}),[]):N.map((d,v)=>{if(tt(d)&&U(d.id))return d;o.push({line:n([q,v]),key:"shape",what:`${q}[${v}]`})}).filter(d=>!!d)},l=a("lanes"),c=a("phases"),p=a("stages"),f=a("gates");if(!l.length)return{name:U(r.name),problems:[...o,{line:n(["lanes"]),key:"noLanes"}],fatal:!0,summary:i};let u=(q,N)=>{let d=new Set;return N.filter(v=>{let O=U(v.id);return d.has(O)?(o.push({line:n([q,r[q].indexOf(v),"id"]),key:"duplicate",what:q,id:O}),!1):(d.add(O),!0)})},y=u("lanes",l),$=u("phases",c),m=new Set(y.map(q=>U(q.id))),w=new Set($.map(q=>U(q.id))),h=u("stages",p).filter(q=>{let N=r.stages.indexOf(q);return m.has(U(q.lane))?$.length&&!w.has(U(q.phase))?(o.push({line:n(["stages",N,"phase"]),key:"phaseUnknown",stage:U(q.id),phase:U(q.phase),phases:[...w].join(", ")}),!1):!0:(o.push({line:n(["stages",N,"lane"]),key:"laneUnknown",stage:U(q.id),lane:U(q.lane),lanes:[...m].join(", ")}),!1)}),b=new Map([...p,...f].flatMap(q=>Array.isArray(q.outputs)?q.outputs:[]).filter(tt).map(q=>[U(q.id),U(q.name)])),g=h.map(q=>{if(!Array.isArray(q.inputs))return q;let N=r.stages.indexOf(q),d=[],v=[];return q.inputs.forEach((O,C)=>{if(typeof O=="string"&&O.trim())d.push(O.trim());else if(tt(O)&&U(O.from)){let D=b.get(U(O.from));D?d.push(D):o.push({line:n(["stages",N,"inputs",C]),key:"inputUnknown",stage:U(q.id),from:U(O.from)})}else tt(O)&&U(O.name)?(d.push(U(O.name)),v.push(U(O.name))):o.push({line:n(["stages",N,"inputs",C]),key:"shape",what:`stages[${N}].inputs[${C}]`})}),{...q,inputs:d,...v.length?{outside:v}:{}}}),A=new Set(h.map(q=>U(q.id))),E=u("gates",f).filter(q=>A.has(U(q.after))?!0:(o.push({line:n(["gates",r.gates.indexOf(q),"after"]),key:"gateUnknown",gate:U(q.id),after:U(q.after)}),!1)),{format:x,name:I,...k}=r,P=ja({...k,lanes:y,phases:$,stages:g,gates:E.map(q=>({...q,results:q.results??[]})),en:{}}),R={lanes:P.lanes.length,phases:P.phases.length,stages:P.stages.length,gates:(P.gates??[]).length,outputs:P.stages.reduce((q,N)=>q+(N.outputs??[]).length,0)};return{name:U(r.name),def:P,problems:o,fatal:!1,summary:R}}var od={way:["order","subitem","next","discard"],lane:["name","sub","inside"],role:["acronym","name","lane"],phase:["name"],stage:["name","lane","phase","roles","description","where","inputs","outside","outputs","activities","fields","question","copilot","metrics","scope","work_type","optional","wip"],gate:["name","after","approver","approvals","on_fail","criteria","results","description","roles","metrics","outputs"],kpi:["name","unit","stage","source","since"],link:[]},Ya={lane:"lanes",role:"roles",phase:"phases",stage:"stages",gate:"gates",kpi:"kpis"},ye=(t,e)=>t[Ya[e]]??[],Wi=(t,e,s)=>({...t,[Ya[e]]:s}),Ft=t=>`${t.source}>${t.target}>${t.kind}`,jt=t=>{let e=new Map;for(let s of t.links??[])s.source!==_t&&s.target!==_t&&!e.has(Ft(s))&&e.set(Ft(s),s);return e};function st(t){if(!(t==null||t==="")){if(Array.isArray(t)){let e=t.map(st).filter(s=>s!==void 0);return e.length?e:void 0}if(typeof t=="object"){let e=Object.entries(t).map(([s,n])=>[s,st(n)]).filter(([,s])=>s!==void 0);return e.length?Object.fromEntries(e.sort(([s],[n])=>s.localeCompare(n))):void 0}return t}}var Di=(t,e)=>JSON.stringify(st(t))===JSON.stringify(st(e)),Ba=t=>t.stages.map((e,s)=>({s:e,k:e.col??s,i:s})).sort((e,s)=>e.k-s.k||e.i-s.i).map(e=>e.s.id);var Ka={lane:6,role:30,phase:6,stage:30,gate:12,kpi:8};function _i(t){let e=[];for(let o of["lane","role","phase","stage","gate","kpi"]){let a=ye(t,o);a.length>Ka[o]&&e.push({key:"limit",item:o,max:Ka[o]});let l=new Set;for(let c of a)l.has(c.id)&&e.push({key:"duplicate",item:o,id:c.id}),l.add(c.id)}for(let o of["lane","phase","stage"])ye(t,o).length||e.push({key:"empty",item:o});(t.links??[]).length>40&&e.push({key:"limit",item:"link",max:40});let s=(o,a)=>ye(t,o).some(l=>l.id===a),n=new Set(t.stages.flatMap(o=>(o.outputs??[]).map(a=>a.id))),i=(o,a,l,c,p)=>{o||e.push({key:"missing",item:a,id:l,field:c,to:p})};for(let o of t.roles??[])i(s("lane",o.lane),"role",o.id,"lane",o.lane);for(let o of t.stages){i(s("lane",o.lane),"stage",o.id,"lane",o.lane),i(s("phase",o.phase),"stage",o.id,"phase",o.phase);for(let a of o.roles??[])i(s("role",a),"stage",o.id,"roles",a);for(let a of o.outputs??[])a.by&&i(s("role",a.by),"stage",o.id,"outputs",a.by)}let r=new Set;for(let o of t.gates??[]){if(i(s("stage",o.after),"gate",o.id,"after",o.after),r.has(o.after)&&e.push({key:"twoGates",stage:o.after}),r.add(o.after),o.approver&&i(s("role",o.approver),"gate",o.id,"approver",o.approver),o.approvals?.length){o.approver&&e.push({key:"approvals",gate:o.id,why:"both"}),o.approvals.length>6&&e.push({key:"approvals",gate:o.id,why:"many"}),new Set(o.approvals.map(a=>a.by)).size<o.approvals.length&&e.push({key:"approvals",gate:o.id,why:"repeated"}),o.approvals.some(a=>(a.when??"").length>80)&&e.push({key:"approvals",gate:o.id,why:"when"});for(let a of new Set(o.approvals.map(l=>l.by)))i(s("role",a),"gate",o.id,"approvals",a)}o.on_fail&&i(s("stage",o.on_fail),"gate",o.id,"on_fail",o.on_fail);for(let a of o.roles??[])i(s("role",a),"gate",o.id,"roles",a);for(let a of o.criteria??[]){if(a.kind==="outputs")for(let l of a.outputs)i(n.has(l),"gate",o.id,"criteria",l);if(a.kind==="kpis")for(let l of a.kpis)i(s("kpi",l),"gate",o.id,"criteria",l);a.kind==="activities"&&i(s("stage",a.stage),"gate",o.id,"criteria",a.stage)}}for(let o of t.kpis??[])i(s("stage",o.stage),"kpi",o.id,"stage",o.stage),o.since&&i(s("stage",o.since),"kpi",o.id,"since",o.since);for(let o of jt(t).values())i(s("stage",o.source),"link",Ft(o),"source",o.source),i(s("stage",o.target),"link",Ft(o),"target",o.target);return e}var ad={both:"use approver or approvals, not both (put the approver in approvals)",many:"at most 6",repeated:"a role approves once",when:"a condition is at most 80 characters"},Fi=t=>t.key==="duplicate"?`${t.item} ${t.id} is repeated`:t.key==="missing"?`${t.item} ${t.id} \xB7 ${t.field}: "${t.to}" does not exist`:t.key==="twoGates"?`two gates after stage ${t.stage} (one per stage). Another approval on the same gate? use approvals:, with when: for the condition`:t.key==="approvals"?`gate ${t.gate} \xB7 approvals: ${ad[t.why]}`:t.key==="limit"?`more than ${t.max} ${t.item}s`:`no ${t.item} left`;function ld(t,e,s){return e==="stage"?Wa(t,s):e==="role"?Fa(t,s):e==="gate"?_a(t,s):e==="kpi"?{...t,kpis:(t.kpis??[]).filter(n=>n.id!==s),gates:(t.gates??[]).map(n=>({...n,criteria:(n.criteria??[]).map(i=>i.kind==="kpis"?{...i,kpis:i.kpis.filter(r=>r!==s)}:i).filter(i=>!(i.kind==="kpis"&&!i.kpis.length))}))}:e==="link"?{...t,links:(t.links??[]).filter(n=>Ft(n)!==s)}:e==="way"?t:Wi(t,e,ye(t,e).filter(n=>n.id!==s))}var cd={lane:{inside:!0},stage:{scope:"initiative",optional:!1}},Ua=(t,e,s)=>e[s]??cd[t]?.[s];function ud(t,e,s={}){let n=[],i=Ba(t),r=Ba(e),o=(u,y)=>u.filter($=>y.includes($)),a=(u,y)=>{let $=u.stages.findIndex(m=>m.id===y);return u.stages[$].col??$};(o(i,r).some(u=>a(t,u)!==a(e,u))||!Di(o(i,r),o(r,i)))&&n.push({key:"way::order",item:"way",id:"",field:"order",kind:"set",before:i,after:r,risky:!1});for(let u of["subitem","next","discard"])Di(t[u],e[u])||n.push({key:`way::${u}`,item:"way",id:"",field:u,kind:"set",before:t[u],after:e[u],risky:!1});for(let u of["lane","role","phase","stage","gate","kpi"]){let y=new Map(ye(t,u).map(m=>[m.id,m])),$=new Map(ye(e,u).map(m=>[m.id,m]));for(let[m,w]of $){let h=y.get(m);if(!h){n.push({key:`${u}:${m}`,item:u,id:m,kind:"add",after:w,risky:!1});continue}for(let b of od[u])Di(Ua(u,h,b),Ua(u,w,b))||n.push({key:`${u}:${m}:${b}`,item:u,id:m,field:b,kind:"set",before:h[b],after:w[b],risky:u==="gate"&&(b==="approver"&&!!st(h[b])||b==="criteria")})}for(let[m,w]of y)if(!$.has(m)){let h=u==="stage"&&$.has(s[m])?s[m]:void 0;n.push({key:`${u}:${m}`,item:u,id:m,kind:"remove",before:w,risky:!h,...h&&{into:h}})}}let c=jt(t),p=jt(e);for(let[u,y]of p)c.has(u)||n.push({key:`link:${u}`,item:"link",id:u,kind:"add",after:y,risky:!1});let f=new Set(t.stages.filter(u=>!e.stages.some(y=>y.id===u.id)).map(u=>u.id));for(let[u,y]of c)!p.has(u)&&!f.has(y.source)&&!f.has(y.target)&&n.push({key:`link:${u}`,item:"link",id:u,kind:"remove",before:y,risky:!0});return n}function fd(t,e,s){let n=structuredClone(t),i={add:0,set:1,remove:2},r=["lane","role","phase","stage","gate","kpi","link","way"],o=[...s].sort((a,l)=>i[a.kind]-i[l.kind]||r.indexOf(a.item)-r.indexOf(l.item));for(let a of o)if(a.kind==="remove")n=ld(n,a.item,a.id);else if(a.item==="link")a.kind==="add"&&!jt(n).has(a.id)&&(n={...n,links:[...n.links??[],a.after]});else if(a.item==="way")if(a.field==="order"){let l=new Map(e.stages.map((c,p)=>[c.id,c.col??p]));n={...n,stages:n.stages.map(c=>l.has(c.id)?{...c,col:l.get(c.id)}:c)}}else n={...n,[a.field]:a.after};else a.kind==="add"?n=Wi(n,a.item,[...ye(n,a.item),structuredClone(a.after)]):n=Wi(n,a.item,ye(n,a.item).map(l=>l.id===a.id?{...l,[a.field]:structuredClone(a.after)}:l));return{...n,links:[...(n.links??[]).filter(a=>a.source===_t||a.target===_t),...jt(n).values()]}}var pd={"stage.lane":"lane","stage.phase":"phase","stage.roles":"role","role.lane":"lane","gate.after":"stage","gate.approver":"role","gate.on_fail":"stage","gate.roles":"role","kpi.stage":"stage","kpi.since":"stage","way.order":"stage"};function dd(t,e,s,n,i){if(st(s)===void 0)return i.empty;let r=pd[`${t}.${e}`],o=a=>{for(let l of n){let c=r==="role"?(l.roles??[]).find(p=>p.id===a)?.acronym:r==="lane"?l.lanes.find(p=>p.id===a)?.name:r==="phase"?l.phases.find(p=>p.id===a)?.name:r==="stage"?l.stages.find(p=>p.id===a)?.name:void 0;if(c)return c}return a};if(r)return Array.isArray(s)?s.map(a=>o(String(a))).join(e==="order"?" \u2192 ":", "):o(String(s));if(typeof s=="boolean")return s?i.yes:i.no;if(e==="criteria")return s.map(i.criteria).join(" \xB7 ");if(e==="approvals"){let a=l=>n.map(c=>(c.roles??[]).find(p=>p.id===l)?.acronym).find(Boolean)??l;return s.map(l=>l.when?`${a(l.by)} (${l.when})`:a(l.by)).join(" \xB7 ")}return e==="copilot"?s.instructions||s.actions?.join(", ")||i.empty:e==="subitem"?s.plural:e==="next"?s.way:Array.isArray(s)?s.map(a=>String(typeof a=="object"&&a?a.name??a.label??"":a)).join(", "):String(s)}function hd(t,e){let s=t.after??t.before,n=r=>e.map(o=>r(o)?.find(a=>a.id===t.id)).find(Boolean);if(t.item==="way")return"";if(t.item==="link"){let[r,o]=t.id.split(">"),a=l=>e.map(c=>c.stages.find(p=>p.id===l)?.name).find(Boolean)??l;return`${a(r)} \u2192 ${a(o)}`}return t.item==="role"?s?.acronym??n(r=>r.roles)?.acronym??t.id:n(r=>ye(r,t.item))?.name??s?.name??t.id}var za=/\b(medir|medi[çc][ãa]o|medida|resultado|meta|measur\w*|outcome|kpi)\b/i;function nt(t){let e=t.gates??[],s=new Map;t.stages.forEach((a,l)=>s.set(a.id,2*l));for(let a of e)s.set(a.id,(s.get(a.after)??0)+1);let n=[...t.stages.flatMap(a=>(a.outputs??[]).map(l=>({at:s.get(a.id),by:a.id,kind:"stage",output:l}))),...e.flatMap(a=>(a.outputs??[]).map(l=>({at:s.get(a.id),by:a.id,kind:"gate",output:l})))].sort((a,l)=>a.at-l.at),i={},r={},o=(a,l)=>{(r[a]??=[]).includes(l)||r[a].push(l)};for(let a of t.stages){let l=s.get(a.id);i[a.id]=(a.inputs??[]).map(c=>{if((a.outside??[]).includes(c))return{name:c,kind:"outside"};let p=n.filter(y=>y.output.name.trim().toLowerCase()===c.trim().toLowerCase()),f=p.filter(y=>y.at<l).at(-1),u=f??p[0];return u?(o(u.output.id,a.id),{name:c,kind:u.kind,from:u.by,output:u.output.id,...f?{}:{late:!0}}):{name:c,kind:"nowhere"}})}for(let a of e)for(let l of a.criteria??[])if(l.kind==="outputs")for(let c of l.outputs)o(c,a.id);for(let a of Object.keys(r))r[a].sort((l,c)=>(s.get(l)??0)-(s.get(c)??0));return{uses:t.stages.some(a=>(a.inputs??[]).length),inputs:i,receivers:r}}var Va=/^(dev|desenvolvimento|qa|hml|homolog(a[çc][ãa]o)?|staging|stage|uat|prd|prod|produ[çc][ãa]o|production|sandbox)$/i,md=/(^|\s)(daily|dailies|planning|planejamento|refinement|refinamento|grooming|retro|retrospectiva|retrospective|sprint review|review da sprint|stand-?up)(\s|$)/i,gd=/(^|\s)(owner|lead|leader|manager|master|analyst|engineer|developer|designer|tester|architect|director|head|coordinator|specialist|team|squad|gerente|l[ií]der|analista|engenheir[oa]|desenvolvedor[a]?|arquitet[oa]|diretor[a]?|coordenador[a]?|especialista|time|equipe|comit[êe]|qualidade|produto|neg[óo]cio|dono|respons[áa]vel)(\s|$)/i,yd=/^[A-ZÀ-Ý][a-zà-ÿ]+(\s+(da|de|do|dos|das|e)?\s*[A-ZÀ-Ý][a-zà-ÿ]+){1,2}$/;function ji(t){let e=[],s=t.stages,n=t.gates??[],i=t.roles??[],r=c=>s.find(p=>p.id===c)?.name??c;for(let c of s.slice(0,-1))(c.outputs??[]).length||c.optional||e.push({key:"outputs",at:{stage:c.id},en:`\xAB${c.name}\xBB delivers nothing: what comes out of it?`,pt:`\xAB${c.name}\xBB n\xE3o entrega nada: o que sai dela?`});s.length>1&&!n.length&&e.push({key:"noGate",en:"No gate: where does someone decide the work goes on?",pt:"Nenhum gate: onde algu\xE9m decide que o trabalho segue?"});let o=new Set(i.map(c=>c.acronym.toLowerCase()).concat(i.map(c=>c.id.toLowerCase()))),a=(c,p)=>!!p&&(p===c.id||p.toLowerCase()===c.acronym.toLowerCase());for(let c of n){let p=se(c).map(f=>f.by);if(!p.length)e.push({key:"approver",at:{gate:c.id},en:`Nobody approves the gate \xAB${c.name}\xBB`,pt:`Ningu\xE9m aprova o gate \xAB${c.name}\xBB`});else for(let f of p.filter(u=>i.length&&!o.has(u.toLowerCase())))e.push({key:"unknownApprover",at:{gate:c.id},en:`The gate \xAB${c.name}\xBB is approved by \xAB${f}\xBB, which is not one of the roles`,pt:`O gate \xAB${c.name}\xBB \xE9 aprovado por \xAB${f}\xBB, que n\xE3o \xE9 um dos pap\xE9is`});(c.criteria??[]).length||e.push({key:"criteria",at:{gate:c.id},en:`The gate \xAB${c.name}\xBB (after \xAB${r(c.after)}\xBB) says nothing about what must be ready`,pt:`O gate \xAB${c.name}\xBB (depois de \xAB${r(c.after)}\xBB) n\xE3o diz o que precisa estar pronto`})}for(let c of t.phases){if(Va.test(c.name.trim())||Va.test(c.id)){e.push({key:"environment",at:{phase:c.id},en:`The phase \xAB${c.name}\xBB is an environment: it is where stages happen (their \xABwhere\xBB), not a milestone`,pt:`A fase \xAB${c.name}\xBB \xE9 um ambiente: \xE9 onde as etapas acontecem (\xABonde\xBB), n\xE3o um marco`});continue}let p=s.filter(f=>f.phase===c.id);t.phases.length>1&&p.length&&!p.some(f=>(f.outputs??[]).length||n.some(u=>u.after===f.id))&&e.push({key:"phase",at:{phase:c.id},en:`The phase \xAB${c.name}\xBB has no deliverable and no gate closes it`,pt:`A fase \xAB${c.name}\xBB n\xE3o tem entrega e nenhum gate a fecha`})}s.length>=3&&!s.some(c=>za.test(c.name)||(c.outputs??[]).some(p=>p.kpi))&&e.push({key:"measure",en:"No stage measures the result: what number shows it worked, and where is it measured?",pt:"Nenhuma etapa mede o resultado: que n\xFAmero mostra que deu certo, e onde se mede?"});for(let c of s)md.test(c.name)&&e.push({key:"ritual",at:{stage:c.id},en:`\xAB${c.name}\xBB is a ritual (it has a cadence): it stays out of the flow`,pt:`\xAB${c.name}\xBB \xE9 um ritual (tem cad\xEAncia): fica fora do fluxo`});for(let c of t.lanes)s.length&&!s.some(p=>p.lane===c.id)&&e.push({key:"lane",at:{lane:c.id},en:`No stage is led by \xAB${c.name}\xBB`,pt:`Nenhuma etapa \xE9 liderada por \xAB${c.name}\xBB`});for(let c of i){let p=(c.name??"").trim();p&&yd.test(p)&&!gd.test(p)&&e.push({key:"person",at:{role:c.id},en:`\xAB${p}\xBB reads as a person: a role is a function (who does it is a lane's \xABsub\xBB)`,pt:`\xAB${p}\xBB parece uma pessoa: papel \xE9 uma fun\xE7\xE3o (quem faz fica no \xABsub\xBB da raia)`});let f=s.some(u=>(u.roles??[]).some(y=>a(c,y)))||n.some(u=>se(u).some(y=>a(c,y.by)));s.length&&!f&&e.push({key:"idleRole",at:{role:c.id},en:`The role \xAB${c.acronym}\xBB takes part in no stage and approves no gate`,pt:`O papel \xAB${c.acronym}\xBB n\xE3o participa de nenhuma etapa nem aprova gate`})}let l=nt(t);if(l.uses){let c=p=>s.find(f=>f.id===p)?.name??n.find(f=>f.id===p)?.name??p??"";for(let p of s)for(let f of l.inputs[p.id]??[])f.kind==="nowhere"?e.push({key:"inputNowhere",at:{stage:p.id},en:`\xAB${p.name}\xBB receives \xAB${f.name}\xBB and nothing before it delivers that: does it come from outside?`,pt:`\xAB${p.name}\xBB recebe \xAB${f.name}\xBB e nada antes dela entrega isso: vem de fora?`}):f.late&&e.push({key:"lateInput",at:{stage:p.id},en:`\xAB${p.name}\xBB receives \xAB${f.name}\xBB, which only \xAB${c(f.from)}\xBB delivers, at or after it`,pt:`\xAB${p.name}\xBB recebe \xAB${f.name}\xBB, que s\xF3 \xAB${c(f.from)}\xBB entrega, nela ou depois dela`});for(let p of s.slice(0,-1))for(let f of p.outputs??[])!f.kpi&&!(l.receivers[f.id]??[]).length&&e.push({key:"unusedOutput",at:{stage:p.id,output:f.id},en:`\xAB${f.name}\xBB comes out of \xAB${p.name}\xBB and no stage or gate receives it: who is it for?`,pt:`\xAB${f.name}\xBB sai de \xAB${p.name}\xBB e nenhuma etapa nem gate o recebe: \xE9 para quem?`});for(let p of n)(p.outputs??[]).length||e.push({key:"gateNoOutputs",at:{gate:p.id},en:`The gate \xAB${p.name}\xBB says nothing about what comes out of it (the decision, what was approved)`,pt:`O gate \xAB${p.name}\xBB n\xE3o diz o que sai dele (a decis\xE3o, o que foi aprovado)`})}return e}var bd={prod:"DCE6FF",tech:"DDF3E6",qa:"FFE9D1",forge:"ECE0FF",slate:"E8EAED",coral:"FFE0DA"},Ga=["prod","tech","qa","forge","slate","coral"],Ja={en:{summary:"Summary",stages:"Stages",gates:"Gates",roles:"Roles (RACI)",outputs:"Outputs",kpis:"KPIs",checklist:"Gate checklist",way:"Way of working",phases:"Phases",nStages:"Stages",nGates:"Gates",nRoles:"Roles",look:"To look at",none:"Nothing to look at",raci:"R leads (the stage\u2019s lane) \xB7 C takes part \xB7 A approves the gate after it",id:"id",order:"#",phase:"Phase",stage:"Stage",lane:"Led by",roles2:"Take part",question:"Key question",inputs:"Comes in",delivers:"Delivers",activities:"Activities",where:"Where",wip:"Limit",gate:"Gate",after:"After",approver:"Approves",when:"When",ifWord:"if",okOf:(t,e)=>`Ok from ${t}, if ${e} (n/a when not)`,criteria:"Criteria",onFail:"If it fails",results:"Results",role:"Role",name:"Name",output:"Output",description:"Description",by:"By",kpi:"KPI",unit:"Unit",source:"Source",since:"Since",check:"What must be ready",ok:"OK?",note:"Note",who:"Who confirms",yes:"yes",outputsOf:t=>`Outputs: ${t}`,activitiesOf:t=>`Activities of \xAB${t}\xBB done`,subitems:(t,e)=>`At least ${t} sub-items \xAB${e}\xBB`,kpisOf:t=>`KPIs: ${t}`,metrics:"Metrics",gateOut:"What comes out",thread:"Thread",fromCol:"From",toCol:"To",outsideWord:"from outside",nobody:"nobody"},pt:{summary:"Resumo",stages:"Etapas",gates:"Gates",roles:"Pap\xE9is (RACI)",outputs:"Entregas",kpis:"KPIs",checklist:"Checklist de gate",way:"Jeito de trabalhar",phases:"Fases",nStages:"Etapas",nGates:"Gates",nRoles:"Pap\xE9is",look:"Para olhar",none:"Nada para olhar",raci:"R lidera (a raia da etapa) \xB7 C participa \xB7 A aprova o gate depois dela",id:"id",order:"#",phase:"Fase",stage:"Etapa",lane:"Lidera",roles2:"Participam",question:"Pergunta-chave",inputs:"Entra",delivers:"Entrega",activities:"Atividades",where:"Onde",wip:"Limite",gate:"Gate",after:"Depois de",approver:"Quem aprova",when:"Quando",ifWord:"se",okOf:(t,e)=>`Ok de ${t}, se ${e} (n.a. quando n\xE3o for)`,criteria:"Crit\xE9rios",onFail:"Se n\xE3o passar",results:"Resultados",role:"Papel",name:"Nome",output:"Entrega",description:"Descri\xE7\xE3o",by:"Por",kpi:"KPI",unit:"Unidade",source:"Fonte",since:"Desde",check:"O que precisa estar pronto",ok:"OK?",note:"Nota",who:"Quem confirma",yes:"sim",outputsOf:t=>`Entregas: ${t}`,activitiesOf:t=>`Atividades de \xAB${t}\xBB feitas`,subitems:(t,e)=>`Pelo menos ${t} subitens \xAB${e}\xBB`,kpisOf:t=>`KPIs: ${t}`,metrics:"M\xE9tricas",gateOut:"O que sai",thread:"Fio",fromCol:"De",toCol:"Para",outsideWord:"de fora",nobody:"ningu\xE9m"}},Ks=Ja,wd={bold:!0,fill:"E8EEF7"},_e=t=>t.map(e=>({v:e,...wd})),Fe=t=>(t??[]).filter(Boolean).join("; ");function kd(t,e,s="pt"){let n=Ja[s],i=d=>{let v=e.lanes.findIndex(C=>C.id===d),O=e.lanes[v];return O?bd[O.color??Ga[v%Ga.length]]:void 0},r=d=>e.lanes.find(v=>v.id===d)?.name??d,o=d=>e.phases.find(v=>v.id===d)?.name??d,a=d=>d?e.stages.find(v=>v.id===d)?.name??d:"",l=d=>e.stages.flatMap(v=>v.outputs??[]).find(v=>v.id===d)?.name??d,c=d=>(e.kpis??[]).find(v=>v.id===d)?.name??d,p=d=>d?(e.roles??[]).find(v=>v.id===d)?.acronym??d:"",f=d=>d.kind==="outputs"?n.outputsOf(d.outputs.map(l).join(", ")):d.kind==="activities"?n.activitiesOf(a(d.stage)):d.kind==="subitems"?n.subitems(d.min,d.result):n.kpisOf(d.kpis.map(c).join(", ")),u=e.gates??[],y=e.roles??[],$=ji(e),m=nt(e),w=d=>e.stages.find(v=>v.id===d)?.name??u.find(v=>v.id===d)?.name??"",h=d=>(m.inputs[d]??[]).map(v=>v.kind==="outside"?`${v.name} (${n.outsideWord})`:v.from?`${v.name} (${w(v.from)})`:v.name),b={key:"summary",name:n.summary,header:!1,columns:[{title:"",width:26},{title:"",width:90}],rows:[[{v:n.way,bold:!0},{v:t,bold:!0}],[n.phases,e.phases.map(d=>d.name).join(" \u2192 ")],[n.nStages,e.stages.length],[n.nGates,u.length],[n.nRoles,y.map(d=>d.acronym).join(", ")],[],[{v:n.look,bold:!0},$.length?"":n.none],...$.map(d=>["",{v:d[s],wrap:!0}])]},g={key:"stages",name:n.stages,header:!0,columns:[{title:n.order,width:5},{title:n.id,width:14},{title:n.phase,width:14},{title:n.stage,width:22},{title:n.lane,width:16},{title:n.roles2,width:16},{title:n.question,width:32},{title:n.inputs,width:30},{title:n.delivers,width:34},{title:n.metrics,width:30},{title:n.activities,width:30},{title:n.where,width:10},{title:n.wip,width:8},{title:n.description,width:40}],rows:[]};g.rows=[_e(g.columns.map(d=>d.title)),...e.stages.map((d,v)=>[v+1,d.id,o(d.phase),{v:d.name,bold:!0},{v:r(d.lane),fill:i(d.lane)},(d.roles??[]).map(p).join(", "),{v:d.question??"",wrap:!0},{v:Fe(h(d.id)),wrap:!0},{v:Fe((d.outputs??[]).map(O=>O.name)),wrap:!0},{v:Fe(d.metrics),wrap:!0},{v:Fe((d.activities??[]).map(O=>O.name)),wrap:!0},d.where??"",d.wip??"",{v:d.description??"",wrap:!0}])];let A=u.some(d=>se(d).some(v=>v.when)),E={key:"gates",name:n.gates,header:!0,columns:[{title:n.id,width:16},{title:n.gate,width:26},{title:n.after,width:20},{title:n.approver,width:12},...A?[{title:n.when,width:28}]:[],{title:n.criteria,width:46},{title:n.onFail,width:20},{title:n.gateOut,width:34},{title:n.metrics,width:30},{title:n.results,width:20}],rows:[]};E.rows=[_e(E.columns.map(d=>d.title)),...u.flatMap(d=>{let[v,...O]=se(d).length?se(d):[void 0],C=D=>A?[D?.when??""]:[];return[[d.id,{v:d.name,bold:!0},a(d.after),p(v?.by),...C(v),{v:(d.criteria??[]).map(f).join(`
141
+ `),wrap:!0},a(d.on_fail),{v:Fe((d.outputs??[]).map(D=>D.name)),wrap:!0},{v:Fe(d.metrics),wrap:!0},d.results.map(D=>D.label).join(" / ")],...O.map(D=>[d.id,"","",p(D.by),...C(D),"","","","",""])]})];let x=(d,v)=>{let O=[];(v.roles??[]).includes(d.id)&&O.push(d.lane===v.lane?"R":"C");for(let C of u.filter(D=>D.after===v.id)){let D=Da(C,d.id);D!==void 0&&O.push(D?`A (${n.ifWord} ${D})`:"A")}return O.join("/")},I={key:"roles",name:n.roles,header:!0,columns:[{title:n.role,width:10},{title:n.name,width:22},{title:n.lane,width:16},...e.stages.map(d=>({title:d.name,width:Math.max(9,Math.min(18,d.name.length+2))}))],rows:[]};I.rows=[_e(I.columns.map(d=>d.title)),...y.map(d=>[{v:d.acronym,bold:!0},d.name??"",{v:r(d.lane),fill:i(d.lane)},...e.stages.map(v=>({v:x(d,v),center:!0,bold:!0}))]),[],[{v:n.raci,color:"6B6B6B"}]];let k={key:"outputs",name:n.outputs,header:!0,columns:[{title:n.stage,width:20},{title:n.id,width:14},{title:n.output,width:32},{title:n.description,width:40},{title:n.by,width:10},{title:n.kpi,width:8}],rows:[]};k.rows=[_e(k.columns.map(d=>d.title)),...e.stages.flatMap(d=>(d.outputs??[]).map(v=>[a(d.id),v.id,{v:v.name,bold:!0},{v:v.description??"",wrap:!0},p(v.by),v.kpi?n.yes:""]))];let P={key:"kpis",name:n.kpis,header:!0,columns:[{title:n.id,width:14},{title:n.name,width:30},{title:n.unit,width:12},{title:n.stage,width:20},{title:n.source,width:14},{title:n.since,width:20}],rows:[]};P.rows=[_e(P.columns.map(d=>d.title)),...(e.kpis??[]).map(d=>[d.id,{v:d.name,bold:!0},d.unit,a(d.stage),d.source,a(d.since)])];let R={key:"checklist",name:n.checklist,header:!0,columns:[{title:n.gate,width:26},{title:n.check,width:48},{title:n.who,width:14},{title:n.ok,width:8},{title:n.note,width:36}],rows:[]};R.rows=[_e(R.columns.map(d=>d.title))];for(let d of u){let v=(d.criteria??[]).flatMap(C=>C.kind==="outputs"?C.outputs.map(D=>l(D)):[f(C)]),O=se(d).filter(C=>!C.when).map(C=>p(C.by)).join(", ");R.rows.push(...(v.length?v:["\u2014"]).map((C,D)=>[D===0?{v:d.name,bold:!0}:"",`\u2610 ${C}`,O,"",""]));for(let C of se(d).filter(D=>D.when))R.rows.push(["",`\u2610 ${n.okOf(p(C.by),C.when)}`,p(C.by),"",""])}let q={key:"thread",name:n.thread,header:!0,columns:[{title:n.fromCol,width:26},{title:n.output,width:34},{title:n.toCol,width:40}],rows:[]},N=[...e.stages.flatMap(d=>[...(d.outputs??[]).map(v=>[d.id,v]),...u.filter(v=>v.after===d.id).flatMap(v=>(v.outputs??[]).map(O=>[v.id,O]))])];return q.rows=[_e(q.columns.map(d=>d.title)),...N.map(([d,v])=>[w(d),{v:v.name,bold:!0},{v:Fe((m.receivers[v.id]??[]).map(w))||`(${n.nobody})`,wrap:!0}]),...e.stages.flatMap(d=>(m.inputs[d.id]??[]).filter(v=>v.kind==="outside"||v.kind==="nowhere").map(v=>[`(${v.kind==="outside"?n.outsideWord:n.nobody})`,{v:v.name,bold:!0},d.name]))],[b,g,E,I,k,P,R,q]}var Xa=new TextEncoder,Ri=t=>t.replace(/[&<>"]/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"})[e]).replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,""),Rt=t=>t<26?String.fromCharCode(65+t):Rt(Math.floor(t/26)-1)+String.fromCharCode(65+t%26),vd=t=>t.replace(/[:\\/?*[\]]/g," ").slice(0,31)||"Sheet";function Sd(t){let e=[{}],s=u=>JSON.stringify([u.bold??!1,u.fill??"",u.color??"",u.center??!1,u.wrap??!1]),n=new Map([[s({}),0]]);for(let u of t)for(let y of u.rows)for(let $ of y){if(typeof $!="object")continue;let{v:m,...w}=$,h=s(w);n.has(h)||(n.set(h,e.length),e.push(w))}let i=new Map([["|",0]]),r=new Map([["",0]]),o=u=>{let y=`${u.bold?"b":""}|${u.color??""}`;return i.has(y)||i.set(y,i.size),i.get(y)},a=u=>u.fill?(r.has(u.fill)||r.set(u.fill,r.size+1),r.get(u.fill)):0,l=e.map(u=>{let y=u.center||u.wrap?`<alignment${u.center?' horizontal="center"':""}${u.wrap?' wrapText="1"':""} vertical="top"/>`:'<alignment vertical="top"/>';return`<xf numFmtId="0" fontId="${o(u)}" fillId="${a(u)}" borderId="${u.fill||u.bold?1:0}" xfId="0" applyFont="1" applyFill="1" applyBorder="1" applyAlignment="1">${y}</xf>`}),c=[...i.keys()].map(u=>{let[y,$]=u.split("|");return`<font>${y?"<b/>":""}<sz val="11"/>${$?`<color rgb="FF${$}"/>`:""}<name val="Calibri"/><family val="2"/></font>`}),p=['<fill><patternFill patternType="none"/></fill>','<fill><patternFill patternType="gray125"/></fill>',...[...r.keys()].filter(Boolean).map(u=>`<fill><patternFill patternType="solid"><fgColor rgb="FF${u}"/><bgColor indexed="64"/></patternFill></fill>`)];return{xml:`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
142
142
  <styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
143
143
  <fonts count="${c.length}">${c.join("")}</fonts>
144
- <fills count="${d.length}">${d.join("")}</fills>
144
+ <fills count="${p.length}">${p.join("")}</fills>
145
145
  <borders count="2"><border><left/><right/><top/><bottom/><diagonal/></border><border><left style="thin"><color rgb="FFD0D7E2"/></left><right style="thin"><color rgb="FFD0D7E2"/></right><top style="thin"><color rgb="FFD0D7E2"/></top><bottom style="thin"><color rgb="FFD0D7E2"/></bottom><diagonal/></border></borders>
146
146
  <cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>
147
147
  <cellXfs count="${l.length}">${l.join("")}</cellXfs>
148
148
  <cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>
149
- </styleSheet>`,styleOf:u=>typeof u=="object"?n.get(s((({v:y,...$})=>$)(u)))??0:0}}function wp(t,e){let s=Math.max(t.columns.length,...t.rows.map(l=>l.length),1),n=t.rows.map((l,c)=>{let d=l.map((f,u)=>{let y=`${Ft(u)}${c+1}`,$=typeof f=="object"?f.v:f,m=e(f),w=m?` s="${m}"`:"";return $===""||$===void 0||$===null?m?`<c r="${y}"${w}/>`:"":typeof $=="number"?`<c r="${y}"${w}><v>${$}</v></c>`:`<c r="${y}"${w} t="inlineStr"><is><t xml:space="preserve">${Wi(String($))}</t></is></c>`}).join("");return`<row r="${c+1}">${d}</row>`}),i=`${Ft(s-1)}${Math.max(1,t.rows.length)}`,r=t.header?'<pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/><selection pane="bottomLeft" activeCell="A2" sqref="A2"/>':"",o=t.columns.length?`<cols>${t.columns.map((l,c)=>`<col min="${c+1}" max="${c+1}" width="${l.width}" customWidth="1"/>`).join("")}</cols>`:"",a=t.header&&t.rows.length>1?`<autoFilter ref="A1:${Ft(Math.max(0,t.columns.length-1))}${t.rows.length}"/>`:"";return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
149
+ </styleSheet>`,styleOf:u=>typeof u=="object"?n.get(s((({v:y,...$})=>$)(u)))??0:0}}function $d(t,e){let s=Math.max(t.columns.length,...t.rows.map(l=>l.length),1),n=t.rows.map((l,c)=>{let p=l.map((f,u)=>{let y=`${Rt(u)}${c+1}`,$=typeof f=="object"?f.v:f,m=e(f),w=m?` s="${m}"`:"";return $===""||$===void 0||$===null?m?`<c r="${y}"${w}/>`:"":typeof $=="number"?`<c r="${y}"${w}><v>${$}</v></c>`:`<c r="${y}"${w} t="inlineStr"><is><t xml:space="preserve">${Ri(String($))}</t></is></c>`}).join("");return`<row r="${c+1}">${p}</row>`}),i=`${Rt(s-1)}${Math.max(1,t.rows.length)}`,r=t.header?'<pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/><selection pane="bottomLeft" activeCell="A2" sqref="A2"/>':"",o=t.columns.length?`<cols>${t.columns.map((l,c)=>`<col min="${c+1}" max="${c+1}" width="${l.width}" customWidth="1"/>`).join("")}</cols>`:"",a=t.header&&t.rows.length>1?`<autoFilter ref="A1:${Rt(Math.max(0,t.columns.length-1))}${t.rows.length}"/>`:"";return`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
150
150
  <worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
151
151
  <dimension ref="A1:${i}"/><sheetViews><sheetView workbookViewId="0">${r}</sheetView></sheetViews><sheetFormatPr defaultRowHeight="15"/>${o}<sheetData>${n.join("")}</sheetData>${a}
152
- </worksheet>`}function kp(t){let{xml:e,styleOf:s}=bp(t),n=t.map(o=>yp(o.name)),i=t.map((o,a)=>o.header&&o.rows.length>1?`<definedName name="_xlnm._FilterDatabase" localSheetId="${a}" hidden="1">'${Wi(n[a]).replace(/'/g,"''")}'!$A$1:$${Ft(Math.max(0,o.columns.length-1))}$${o.rows.length}</definedName>`:"").join(""),r=[["[Content_Types].xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
152
+ </worksheet>`}function Od(t){let{xml:e,styleOf:s}=Sd(t),n=t.map(o=>vd(o.name)),i=t.map((o,a)=>o.header&&o.rows.length>1?`<definedName name="_xlnm._FilterDatabase" localSheetId="${a}" hidden="1">'${Ri(n[a]).replace(/'/g,"''")}'!$A$1:$${Rt(Math.max(0,o.columns.length-1))}$${o.rows.length}</definedName>`:"").join(""),r=[["[Content_Types].xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
153
153
  <Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/>${t.map((o,a)=>`<Override PartName="/xl/worksheets/sheet${a+1}.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/>`).join("")}</Types>`],["_rels/.rels",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
154
154
  <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>`],["xl/workbook.xml",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
155
- <workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><bookViews><workbookView/></bookViews><sheets>${n.map((o,a)=>`<sheet name="${Wi(o)}" sheetId="${a+1}" r:id="rId${a+1}"/>`).join("")}</sheets>${i?`<definedNames>${i}</definedNames>`:""}</workbook>`],["xl/_rels/workbook.xml.rels",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
156
- <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${t.map((o,a)=>`<Relationship Id="rId${a+1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet${a+1}.xml"/>`).join("")}<Relationship Id="rId${t.length+1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>`],["xl/styles.xml",e],...t.map((o,a)=>[`xl/worksheets/sheet${a+1}.xml`,wp(o,s)])];return $p(r.map(([o,a])=>[o,Va.encode(a)]))}var Sp=(()=>{let t=new Uint32Array(256);for(let e=0;e<256;e++){let s=e;for(let n=0;n<8;n++)s=s&1?3988292384^s>>>1:s>>>1;t[e]=s>>>0}return t})();function vp(t){let e=4294967295;for(let s=0;s<t.length;s++)e=Sp[(e^t[s])&255]^e>>>8;return(e^4294967295)>>>0}function $p(t){let e=[],s=[],n=0;for(let[c,d]of t){let f=Va.encode(c),u=vp(d),y=new DataView(new ArrayBuffer(30));y.setUint32(0,67324752,!0),y.setUint16(4,20,!0),y.setUint16(6,2048,!0),y.setUint16(8,0,!0),y.setUint32(14,u,!0),y.setUint32(18,d.length,!0),y.setUint32(22,d.length,!0),y.setUint16(26,f.length,!0),e.push(new Uint8Array(y.buffer),f,d);let $=new DataView(new ArrayBuffer(46));$.setUint32(0,33639248,!0),$.setUint16(4,20,!0),$.setUint16(6,20,!0),$.setUint16(8,2048,!0),$.setUint32(16,u,!0),$.setUint32(20,d.length,!0),$.setUint32(24,d.length,!0),$.setUint16(28,f.length,!0),$.setUint32(42,n,!0),s.push(new Uint8Array($.buffer),f),n+=30+f.length+d.length}let i=s.reduce((c,d)=>c+d.length,0),r=new DataView(new ArrayBuffer(22));r.setUint32(0,101010256,!0),r.setUint16(8,t.length,!0),r.setUint16(10,t.length,!0),r.setUint32(12,i,!0),r.setUint32(16,n,!0);let o=[...e,...s,new Uint8Array(r.buffer)],a=new Uint8Array(o.reduce((c,d)=>c+d.length,0)),l=0;for(let c of o)a.set(c,l),l+=c.length;return a}function Ga(t){let e=t.trim().toLowerCase();for(let s of Object.values(js))for(let n of["summary","stages","gates","roles","outputs","kpis","checklist","thread"])if(String(s[n]).toLowerCase().slice(0,31)===e)return n}var J=t=>t.normalize("NFD").replace(/[̀-ͯ]/g,"").trim().toLowerCase(),We=(t,e)=>(t??"").split(e).map(s=>s.trim()).filter(Boolean);function Op(t,e){let s=structuredClone(t),n=[],i=new Map(e.map(g=>[Ga(g.name),g])),r=(g,A)=>{if(!g?.rows.length)return;let E=Object.values(js).map(L=>J(String(L[A]))),x=g.rows[0].findIndex(L=>E.includes(J(L)));return x<0?void 0:L=>(L[x]??"").trim()},o=g=>(g?.rows.slice(1)??[]).filter(A=>A.some(E=>String(E??"").trim())),a=()=>[...s.lanes,...s.phases,...s.stages,...s.gates??[],...s.roles??[],...s.kpis??[]].map(g=>g.id),l=(g,A)=>g.find(E=>E.id===A||J(E.name??"")===J(A)),c=i.get("roles");if(c){let[g,A,E]=[r(c,"role"),r(c,"name"),r(c,"lane")];if(g){let x=[];for(let L of o(c)){let k=g(L);if(!k||k.length>12||/\s/.test(k))continue;let I=(s.roles??[]).find(p=>J(p.acronym)===J(k)),B=E?.(L)??"",O=B?l(s.lanes,B)?.id??f(B):I?.lane??s.lanes[0]?.id??"";x.push({...I??{id:ae(k,a()),acronym:k},acronym:k,name:A?.(L)||I?.name,lane:O})}s.roles=x}}let d=g=>{let A=(s.roles??[]).find(E=>J(E.acronym)===J(g)||E.id===g);return A||n.push(`\xAB${g}\xBB is not one of the roles`),A?.id};function f(g){let A=ae(g,a());return s.lanes.push({id:A,name:g}),A}function u(g){let A=ae(g,a());return s.phases.push({id:A,name:g}),A}let y=i.get("stages");if(y){let g=Object.fromEntries(["id","phase","stage","lane","roles2","question","inputs","delivers","metrics","activities","where","wip","description"].map(A=>[A,r(y,A)]));if(g.stage){let A=new Set(Object.values(js).map(k=>J(k.outsideWord))),E=new Set([...t.stages.map(k=>k.name),...(t.gates??[]).map(k=>k.name),...o(y).map(k=>g.stage(k))].map(J)),x=k=>{let I=k.match(/^(.*\S)\s*\(([^()]+)\)$/);return I?A.has(J(I[2]))?{name:I[1],outside:!0}:E.has(J(I[2]))?{name:I[1],outside:!1}:{name:k,outside:!1}:{name:k,outside:!1}},L=[];for(let k of o(y)){let I=g.stage(k);if(!I)continue;let B=g.id?.(k)||"",O=t.stages.find(T=>T.id===B),p=g.phase?.(k)??"",v=g.lane?.(k)??"",N={...O??{id:ae(I,[...a(),...L.map(T=>T.id)])},name:I,phase:p?l(s.phases,p)?.id??u(p):O?.phase??s.phases[0].id,lane:v?l(s.lanes,v)?.id??f(v):O?.lane??s.lanes[0].id};if(g.roles2&&(N.roles=We(g.roles2(k),/[,;]/).map(d).filter(T=>!!T)),g.question&&(N.question=g.question(k)||void 0),g.inputs){let T=We(g.inputs(k),/;|\n/).map(x);N.inputs=T.map(F=>F.name),N.outside=T.filter(F=>F.outside).map(F=>F.name)}if(g.metrics&&(N.metrics=We(g.metrics(k),/;|\n/)),g.description&&(N.description=g.description(k)||void 0),g.where&&(N.where=g.where(k)||void 0),g.wip){let T=Number(g.wip(k));N.wip=g.wip(k)&&Number.isFinite(T)?T:void 0}if(g.delivers){let T=t.stages.flatMap(F=>F.outputs??[]);N.outputs=We(g.delivers(k),/;|\n/).map(F=>T.find(U=>J(U.name)===J(F))??{id:ae(F,[...a(),...T.map(U=>U.id)]),name:F})}if(g.activities){let T=t.stages.flatMap(F=>F.activities??[]);N.activities=We(g.activities(k),/;|\n/).map(F=>T.find(U=>J(U.name)===J(F))??{id:ae(F,T.map(U=>U.id)),name:F})}for(let T of["question","where","wip","description"])N[T]===void 0&&delete N[T];for(let T of["roles","inputs","outside","outputs","metrics","activities"])!N[T]?.length&&!O?.[T]&&delete N[T];L.push(N)}s.stages=L}}let $=g=>{if(!g)return;let A=l(s.stages,g)?.id??l(t.stages,g)?.id,E=s.stages.find(x=>x.id===A);return E||n.push(`\xAB${g}\xBB is not one of the stages`),E?.id},m=i.get("gates");if(m){let g=Object.fromEntries(["id","gate","after","approver","onFail","gateOut","metrics"].map(A=>[A,r(m,A)]));if(g.gate){let A=[];for(let E of o(m)){let x=g.gate(E);if(!x)continue;let L=g.id?.(E)||"",k=(t.gates??[]).find(v=>v.id===L),I=$(g.after?.(E)??"")??k?.after;if(!I)continue;let B=g.approver?.(E),O=g.onFail?.(E),p={...k??{id:ae(x,[...a(),...A.map(v=>v.id)]),results:[{id:"ok",label:"OK",ok:!0},{id:"no",label:"\xD7"}]},name:x,after:I,approver:B?d(B)??null:null,on_fail:O?$(O)??null:null};if(g.gateOut){let v=(t.gates??[]).flatMap(N=>N.outputs??[]);p.outputs=We(g.gateOut(E),/;|\n/).map(N=>v.find(T=>J(T.name)===J(N))??{id:ae(N,[...a(),...v.map(T=>T.id)]),name:N})}g.metrics&&(p.metrics=We(g.metrics(E),/;|\n/));for(let v of["outputs","metrics"])!p[v]?.length&&!k?.[v]&&delete p[v];A.push(p)}s.gates=A}}let w=i.get("outputs");if(w){let[g,A,E,x]=[r(w,"id"),r(w,"description"),r(w,"by"),r(w,"kpi")];for(let L of o(w)){let k=s.stages.flatMap(I=>I.outputs??[]).find(I=>I.id===g?.(L));if(k){A&&(k.description=A(L)||void 0),E&&(k.by=E(L)?d(E(L))??null:null),x&&(k.kpi=!!x(L)||void 0);for(let I of["description","kpi"])k[I]===void 0&&delete k[I];k.by===null&&delete k.by}}}let h=i.get("kpis");if(h&&s.kpis){let[g,A,E]=[r(h,"id"),r(h,"name"),r(h,"stage")],x=[];for(let L of o(h)){let k=s.kpis.find(I=>I.id===g?.(L));k&&x.push({...k,name:A?.(L)||k.name,stage:$(E?.(L)??"")??k.stage})}s.kpis=x}let b=new Set(s.stages.flatMap(g=>(g.outputs??[]).map(A=>A.id)));return s.gates=(s.gates??[]).filter(g=>s.stages.some(A=>A.id===g.after)).map(g=>({...g,criteria:(g.criteria??[]).map(A=>A.kind==="outputs"?{...A,outputs:A.outputs.filter(E=>b.has(E))}:A).filter(A=>A.kind!=="outputs"||A.outputs.length)})),s.links=(s.links??[]).filter(g=>[g.source,g.target].every(A=>s.stages.some(E=>E.id===A)||!t.stages.some(E=>E.id===A))),{way:s,problems:[...new Set([...n,...Pi(s).map(Di)])]}}var st="#8C8578";var nt="#C8442C";var Ja=t=>Math.round(t*10)/10,Fe=t=>[Ja(t[0]),Ja(t[1])],Ne=(t,e,s=22,n="start",i)=>({type:"text",at:Fe(t),text:e,size:s,anchor:n,...i?{style:{color:i}}:{}}),Fi=(t,e,s)=>({type:"line",from:Fe(t),to:Fe(e),...s?{style:s}:{}}),Rt=(t,e,s)=>({type:"arrow",from:Fe(t),to:Fe(e),...s?{style:s}:{}}),Ri=(t,e)=>({type:"polygon",points:t.map(Fe),...e?{style:e}:{}}),Bs=(t,e)=>({type:"polyline",points:t.map(Fe),...e?{style:e}:{}});var Xa=(t,e,s,n,i)=>Ri([[t,e],[t+s,e],[t+s,e+n],[t,e+n]],i),Ap=(t,e)=>t.length*e*.48;function ji(t,e,s){let n=[],i="";for(let r of t.split(/\s+/).filter(Boolean)){let o=i?`${i} ${r}`:r;i&&Ap(o,e)>s?(n.push(i),i=r):i=o}return i&&n.push(i),n.length?n:[""]}var Ks=["#2F5BEA","#2E8F62","#C77700","#7B4FC9","#5E5A52","#C8442C"];function Ep(t,e,s="pt"){let n=s==="pt"?{approves:"aprova",no:"n\xE3o",yes:"sim",delivers:"Entrega",receives:"Recebe",outside:"de fora"}:{approves:"approves",no:"no",yes:"yes",delivers:"Delivers",receives:"Receives",outside:"from outside"},i=tt(e),r=O=>e.stages.find(p=>p.id===O)?.name??(e.gates??[]).find(p=>p.id===O)?.name??"",o=e.gates??[],a=new Map((e.roles??[]).map(O=>[O.id,O.acronym])),l=e.lanes.filter(O=>e.stages.some(p=>p.lane===O.id)),c=[];for(let O of e.stages){c.push({kind:"stage",id:O.id,w:150});let p=o.find(v=>v.after===O.id);p&&c.push({kind:"gate",id:p.id,w:110})}let d=130,f=Math.max(900,d+c.reduce((O,p)=>O+p.w,0)+30),u=150,y=O=>d+c.slice(0,O).reduce((p,v)=>p+v.w,0),$=O=>Math.max(0,l.findIndex(p=>p.id===O)),m=O=>ji(O.name,19,116),w=O=>Math.max(64,26+m(O).length*22),h=O=>ji(O.name,16,104),b=l.map(O=>Math.max(150,...e.stages.filter(p=>p.lane===O.id).map(p=>{let v=o.find(T=>T.after===p.id),N=30+w(p)+30;return v?Math.max(N,30+w(p)/2+30+24+h(v).length*18+(v.approver?18:0)+14):N}))),g=O=>u+b.slice(0,O).reduce((p,v)=>p+v,0),A=Math.min(f*.8,g(l.length)+50),E=[Ne([40,60],t,36)];l.forEach((O,p)=>{let[v,N]=[g(p),b[p]];E.push(Fi([30,v+N],[f-20,v+N],{color:st,dashed:!0})),E.push(Ne([36,v+N/2+8],O.name,22,"start",Ks[e.lanes.indexOf(O)%Ks.length]))}),E.push(Fi([30,u],[f-20,u],{color:st,dashed:!0}));let x=new Map,L,k;c.forEach((O,p)=>{let v=y(p);if(O.kind==="stage"){let N=e.stages.find(Y=>Y.id===O.id),T=$(N.lane),F=Ks[e.lanes.findIndex(Y=>Y.id===N.lane)%Ks.length],U=m(N),R={x:v+12,y:g(T)+30,w:O.w-24,h:w(N)};x.set(N.id,R);let fe=[];if(N.phase!==L){L=N.phase;let Y=c.slice(p).findIndex((je,dl)=>dl>0&&je.kind==="stage"&&e.stages.find(pl=>pl.id===je.id).phase!==L),de=Y<0?c.length:p+Y,[Gs,Js]=[v+6,y(de)-6],fl=Ne([(Gs+Js)/2,u-50],e.phases.find(je=>je.id===N.phase)?.name??N.phase,26,"middle",st);fe.push({...fl,chapter:e.phases.find(je=>je.id===N.phase)?.name??N.phase},Bs([[Gs,u-30],[Gs,u-38],[Js,u-38],[Js,u-30]],{color:st}))}k&&fe.push(...B(k,R));let xe=(i.inputs[N.id]??[]).map(Y=>`\xAB${Y.name}\xBB${Y.kind==="outside"?` (${n.outside})`:Y.from?` (${r(Y.from)})`:""}`),se=[N.question??(N.outputs?.length?`${n.delivers}: ${N.outputs.map(Y=>Y.name).join(", ")}`:""),xe.length?`${n.receives} ${xe.join(", ")}.`:""].filter(Boolean).join(" ")||void 0,qe={...Xa(R.x,R.y,R.w,R.h,{color:F,fill:"#FFFFFF"}),...se?{say:se}:{}};fe.push(qe,...U.map((Y,de)=>Ne([R.x+R.w/2,R.y+R.h/2+7-(U.length-1)*22/2+de*22],Y,19,"middle"))),E.push(...fe),k=R}else{let N=o.find(qe=>qe.id===O.id),T=x.get(N.after),F=T.y+T.h/2,U=v+O.w/2,R={x:U-30,y:F-30,w:60,h:60},fe=N.approver?`${a.get(N.approver)??N.approver} ${n.approves}`:"",xe=[Rt([T.x+T.w,F],[R.x,F]),{...Ri([[U,R.y],[R.x+R.w,F],[U,R.y+R.h],[R.x,F]],{color:nt,fill:"#FFF0EC"}),say:`${N.name}${fe?` \u2014 ${fe}`:""}`}],Vs=h(N);Vs.forEach((qe,Y)=>xe.push(Ne([U,R.y+R.h+22+Y*18],qe,16,"middle",nt))),fe&&xe.push(Ne([U,R.y+R.h+24+Vs.length*18],fe,15,"middle",st));let se=N.on_fail?x.get(N.on_fail):void 0;if(se){let qe=[...x.values()].filter(de=>de.x+de.w>se.x&&de.x<U).map(de=>de.y),Y=Math.min(se.y,R.y,...qe)-18;xe.push(Bs([[U,R.y],[U,Y],[se.x+se.w/2,Y]],{color:nt,dashed:!0}),Rt([se.x+se.w/2,Y],[se.x+se.w/2,se.y],{color:nt,dashed:!0}),Ne([U+6,(R.y+Y)/2+5],n.no,15,"start",nt))}E.push(...xe),k=R}});let I=E.findIndex(O=>O.chapter);return I>0&&(E[0].chapter=E[I].chapter,delete E[I].chapter),{id:t.toLowerCase().normalize("NFD").replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60)||"way",title:t,width:f,height:Math.round(A),background:"plain",locale:s==="pt"?"pt-BR":"en-US",steps:E};function B(O,p){let[v,N]=[[O.x+O.w,O.y+O.h/2],[p.x,p.y+p.h/2]];if(Math.abs(v[1]-N[1])<2)return[Rt(v,N)];let T=(v[0]+N[0])/2;return[Bs([v,[T,v[1]],[T,N[1]]]),Rt([T,N[1]],N)]}}var Ha=["and","or","not"];var Bi=["person","person-pointing","person-sitting","house","car","bus","coin","phone","document","server","bank","cloud","queue","desk","computer","clock","lock","money-arrow","tree","school","hospital","factory","truck","cart","safe","bulb","gear","database","robot","ship","container","warehouse","box","pallet","shop","shelf","field","cup","function","api-gateway","cache","cluster","board","book","pencil"],Us={pessoa:"person","pessoa-apontando":"person-pointing","pessoa-sentada":"person-sitting",casa:"house",carro:"car",onibus:"bus",moeda:"coin",celular:"phone",documento:"document",servidor:"server",banco:"bank",nuvem:"cloud",fila:"queue",mesa:"desk",computador:"computer",relogio:"clock",cadeado:"lock","seta-dinheiro":"money-arrow"},Ys=t=>Bi.includes(t)?t:typeof t=="string"&&Object.hasOwn(Us,t)?Us[t]:void 0;var Za=t=>Ys(t)!==void 0,S={skin:"#E8C6A5",shirt:"#A9BCC3",wood:"#D8C29C",gold:"#F2C94C",paper:"#FFFFFF",screen:"#DCE8F0",device:"#5B6B7C",roof:"#D9785F",wall:"#F3E3C3",car:"#7FA7C9",bus:"#E9C46A",green:"#7DBE8A",dark:"#4A4A4A",metal:"#C9D3DD",board:"#2F4F3F",chalk:"#F2EFE6"},C=(t,e,s,n,i,r)=>({kind:"polygon",points:[[t,e],[t+s,e],[t+s,e+n],[t,e+n]],fill:i,main:r}),M=(...t)=>({kind:"polyline",points:t});function el(t){return[{kind:"polygon",points:[[-.15,-.72],[.15,-.72],[.19,-.38],[-.19,-.38]],fill:S.shirt,main:!0},{kind:"circle",c:[0,-.87],r:.11,fill:S.skin},...t,M([-.08,-.38],[-.1,0]),M([.08,-.38],[.1,0])]}var Qa=el([M([-.15,-.7],[-.25,-.42]),M([.15,-.7],[.25,-.42])]);function Np(t,e,s){let n=([i,r])=>[s+i*e,r*e];return t.map(i=>i.kind==="circle"?{...i,c:n(i.c),r:i.r*e}:{...i,points:i.points.map(n)})}function xp(){let t=[[-.28,-.3,.18],[-.06,-.45,.25],[.2,-.4,.21],[.37,-.27,.13]],e=[];for(let s=0;s<=24;s++){let n=-.46+.96*s/24,i=t.filter(([r,,o])=>Math.abs(n-r)<=o).map(([r,o,a])=>o-Math.sqrt(Math.max(0,a*a-(n-r)**2)));i.length&&e.push([n,Math.min(...i)])}return[...e,[.42,-.12],[-.4,-.12]]}var Em={person:Qa,"person-pointing":el([M([-.15,-.7],[-.25,-.42]),M([.15,-.69],[.47,-.73])]),"person-sitting":[M([-.3,-.8],[-.27,-.4]),M([-.32,-.4],[.2,-.4]),M([-.27,-.4],[-.27,0]),M([.16,-.4],[.16,0]),{kind:"polygon",points:[[-.22,-.77],[.04,-.77],[.06,-.44],[-.22,-.44]],fill:S.shirt,main:!0},{kind:"circle",c:[-.08,-.9],r:.1,fill:S.skin},M([-.1,-.44],[.3,-.44],[.32,0]),M([0,-.74],[.18,-.55],[.3,-.58])],house:[C(-.4,-.6,.8,.6,S.wall,!0),{kind:"polygon",points:[[-.5,-.58],[0,-1],[.5,-.58]],fill:S.roof},C(-.08,-.32,.16,.32,S.wood),C(.16,-.46,.16,.14,S.screen)],car:[{kind:"polygon",fill:S.car,main:!0,points:[[-.5,-.14],[-.5,-.32],[-.3,-.36],[-.18,-.56],[.2,-.56],[.32,-.36],[.5,-.32],[.5,-.14]]},{kind:"polygon",points:[[-.14,-.51],[.17,-.51],[.25,-.37],[-.22,-.37]],fill:S.screen},{kind:"circle",c:[-.28,-.12],r:.1,fill:S.dark},{kind:"circle",c:[.28,-.12],r:.1,fill:S.dark}],bus:[C(-.5,-.66,1,.52,S.bus,!0),...[-.42,-.21,0,.21].map(t=>C(t,-.6,.15,.16,S.screen)),M([-.5,-.3],[.5,-.3]),{kind:"circle",c:[-.3,-.12],r:.1,fill:S.dark},{kind:"circle",c:[.3,-.12],r:.1,fill:S.dark}],coin:[{kind:"circle",c:[0,-.42],r:.4,fill:S.gold,main:!0},{kind:"circle",c:[0,-.42],r:.3},{kind:"curve",points:[[.1,-.56],[-.08,-.57],[-.09,-.46],[.08,-.39],[.08,-.29],[-.11,-.28]]},M([0,-.64],[0,-.2])],phone:[C(-.26,-1,.52,1,S.device,!0),C(-.2,-.92,.4,.76,S.screen),{kind:"circle",c:[0,-.08],r:.035,fill:S.paper}],document:[{kind:"polygon",points:[[-.36,-1],[.16,-1],[.36,-.8],[.36,0],[-.36,0]],fill:S.paper,main:!0},M([.16,-1],[.16,-.8],[.36,-.8]),...[-.66,-.5,-.34,-.18].map(t=>M([-.22,t],[.22,t]))],server:[-1,-.66,-.32].flatMap(t=>[C(-.36,t,.72,.3,S.metal,!0),M([-.26,t+.15],[.06,t+.15]),{kind:"circle",c:[.22,t+.15],r:.035,fill:S.green}]),bank:[{kind:"polygon",points:[[-.5,-.74],[0,-1],[.5,-.74]],fill:S.wall,main:!0},C(-.45,-.74,.9,.08,S.wall),...[-.33,-.11,.11,.33].map(t=>C(t-.04,-.66,.08,.56,S.paper)),C(-.5,-.1,1,.1,S.wall)],cloud:[{kind:"polygon",points:xp(),fill:S.paper,main:!0}],queue:[-.32,0,.32].flatMap(t=>Np(Qa,.7,t)),desk:[C(-.5,-.5,1,.07,S.wood,!0),M([-.42,-.43],[-.42,0]),M([.42,-.43],[.42,0])],computer:[C(-.45,-1,.9,.6,S.device,!0),C(-.39,-.94,.78,.48,S.screen),{kind:"polygon",points:[[-.06,-.4],[.06,-.4],[.1,-.1],[-.1,-.1]],fill:S.device},C(-.25,-.1,.5,.08,S.device)],clock:[{kind:"circle",c:[0,-.48],r:.45,fill:S.paper,main:!0},...[[0,-.9,0,-.82],[.42,-.48,.34,-.48],[0,-.06,0,-.14],[-.42,-.48,-.34,-.48]].map(([t,e,s,n])=>M([t,e],[s,n])),M([0,-.48],[0,-.78]),M([0,-.48],[.2,-.48])],lock:[{kind:"curve",points:[[-.22,-.52],[-.22,-.76],[0,-.96],[.22,-.76],[.22,-.52]]},C(-.36,-.54,.72,.54,S.bus,!0),{kind:"circle",c:[0,-.32],r:.06,fill:S.dark},M([0,-.28],[0,-.14])],"money-arrow":[{kind:"polygon",fill:S.green,main:!0,points:[[-.5,-.4],[.12,-.4],[.12,-.56],[.5,-.3],[.12,-.04],[.12,-.2],[-.5,-.2]]},{kind:"circle",c:[-.2,-.3],r:.16,fill:S.gold},M([-.2,-.4],[-.2,-.2])],tree:[C(-.07,-.36,.14,.36,S.wood),{kind:"circle",c:[0,-.64],r:.3,fill:S.green,main:!0}],school:[C(-.45,-.6,.9,.6,S.wall,!0),{kind:"polygon",points:[[-.5,-.6],[0,-.82],[.5,-.6]],fill:S.roof},C(-.08,-.28,.16,.28,S.wood),C(-.36,-.48,.16,.12,S.screen),C(.2,-.48,.16,.12,S.screen),M([0,-.82],[0,-1]),{kind:"polygon",points:[[0,-1],[.17,-.95],[0,-.9]],fill:S.roof}],hospital:[C(-.4,-.8,.8,.8,S.paper,!0),C(-.045,-.7,.09,.26,"#C8442C"),C(-.13,-.615,.26,.09,"#C8442C"),C(-.1,-.24,.2,.24,S.metal)],factory:[{kind:"polygon",points:[[-.5,0],[-.5,-.5],[-.25,-.65],[-.25,-.5],[0,-.65],[0,-.5],[.25,-.65],[.25,-.5],[.5,-.5],[.5,0]],fill:S.wall,main:!0},C(.3,-.95,.12,.3,S.dark),C(-.38,-.32,.16,.12,S.screen),C(-.08,-.32,.16,.12,S.screen),C(.22,-.32,.16,.12,S.screen)],truck:[C(-.5,-.62,.62,.46,S.metal,!0),{kind:"polygon",points:[[.12,-.16],[.12,-.5],[.34,-.5],[.48,-.32],[.48,-.16]],fill:S.bus},{kind:"polygon",points:[[.18,-.46],[.32,-.46],[.42,-.33],[.18,-.33]],fill:S.screen},{kind:"circle",c:[-.3,-.1],r:.1,fill:S.dark},{kind:"circle",c:[.3,-.1],r:.1,fill:S.dark}],cart:[M([-.48,-.78],[-.4,-.62]),{kind:"polygon",points:[[-.4,-.62],[.42,-.62],[.32,-.26],[-.3,-.26]],fill:S.metal,main:!0},M([-.3,-.26],[-.3,-.14],[.32,-.14]),{kind:"circle",c:[-.22,-.07],r:.06,fill:S.dark},{kind:"circle",c:[.24,-.07],r:.06,fill:S.dark}],safe:[C(-.4,-.82,.8,.82,S.device,!0),C(-.3,-.72,.6,.62,S.metal),{kind:"circle",c:[0,-.41],r:.13,fill:S.paper},M([0,-.41],[.08,-.47])],bulb:[{kind:"circle",c:[0,-.62],r:.3,fill:S.gold,main:!0},C(-.13,-.33,.26,.2,S.metal),{kind:"curve",points:[[-.09,-.52],[0,-.66],[.09,-.52]]},M([-.08,-.08],[.08,-.08])],gear:[{kind:"polygon",points:[[.42,-.5],[.296,-.378],[.297,-.203],[.122,-.204],[0,-.08],[-.122,-.204],[-.297,-.203],[-.296,-.378],[-.42,-.5],[-.296,-.622],[-.297,-.797],[-.122,-.796],[-0,-.92],[.122,-.796],[.297,-.797],[.296,-.622]],fill:S.metal,main:!0},{kind:"circle",c:[0,-.5],r:.12,fill:S.paper}],database:[{kind:"polygon",points:[[-.35,-.8],[.35,-.8],[.35,-.16],[-.35,-.16]],fill:S.screen,main:!0},{kind:"polygon",points:[[.35,-.8],[.303,-.755],[.175,-.722],[0,-.71],[-.175,-.722],[-.303,-.755],[-.35,-.8],[-.303,-.845],[-.175,-.878],[-0,-.89],[.175,-.878],[.303,-.845]],fill:S.metal},{kind:"curve",points:[[-.35,-.16],[0,-.06],[.35,-.16]]},{kind:"curve",points:[[-.35,-.58],[0,-.48],[.35,-.58]]},{kind:"curve",points:[[-.35,-.37],[0,-.27],[.35,-.37]]}],robot:[M([0,-.95],[0,-1]),C(-.22,-.95,.44,.3,S.metal),{kind:"circle",c:[-.09,-.81],r:.045,fill:S.screen},{kind:"circle",c:[.09,-.81],r:.045,fill:S.screen},C(-.28,-.62,.56,.42,S.metal,!0),M([-.28,-.55],[-.42,-.35]),M([.28,-.55],[.42,-.35]),C(-.2,-.2,.12,.2,S.device),C(.08,-.2,.12,.2,S.device)],ship:[{kind:"polygon",points:[[-.48,-.3],[.48,-.3],[.36,-.04],[-.4,-.04]],fill:S.car,main:!0},C(-.42,-.62,.14,.32,S.wall),C(-.24,-.5,.2,.2,S.roof),C(-.02,-.5,.2,.2,S.bus),C(.2,-.5,.2,.2,S.green),{kind:"curve",points:[[-.5,0],[-.3,-.04],[-.1,0],[.1,-.04],[.3,0],[.5,-.04]]}],container:[C(-.46,-.52,.92,.52,S.roof,!0),...[-.3,-.15,0,.15,.3].map(t=>M([t,-.48],[t,-.04]))],warehouse:[{kind:"polygon",points:[[-.46,0],[.46,0],[.46,-.55],[0,-.82],[-.46,-.55]],fill:S.wall,main:!0},C(-.2,-.38,.4,.38,S.metal),M([-.2,-.26],[.2,-.26]),M([-.2,-.13],[.2,-.13])],box:[C(-.36,-.5,.52,.5,S.wood,!0),{kind:"polygon",points:[[-.36,-.5],[.16,-.5],[.36,-.64],[-.16,-.64]],fill:S.wood},{kind:"polygon",points:[[.16,0],[.36,-.14],[.36,-.64],[.16,-.5]],fill:S.wood},M([-.1,-.5],[.1,-.64])],pallet:[C(-.46,-.12,.92,.06,S.wood),...[-.42,-.05,.32].map(t=>C(t,-.06,.1,.06,S.wood)),C(-.42,-.5,.4,.38,S.wood,!0),C(.02,-.5,.4,.38,S.wood),C(-.2,-.82,.4,.32,S.wood)],shop:[C(-.42,-.6,.84,.6,S.wall,!0),{kind:"polygon",points:[[-.48,-.6],[.48,-.6],[.42,-.78],[-.42,-.78]],fill:S.roof},C(-.34,-.48,.34,.26,S.screen),C(.08,-.42,.24,.42,S.wood)],shelf:[C(-.4,-.92,.8,.92,S.paper,!0),M([-.4,-.62],[.4,-.62]),M([-.4,-.32],[.4,-.32]),C(-.32,-.8,.16,.18,S.roof),C(-.1,-.78,.14,.16,S.bus),C(.1,-.5,.22,.18,S.green),C(-.3,-.2,.24,.2,S.wood)],field:[M([-.48,0],[.48,0]),...[-.3,0,.3].flatMap(t=>[{kind:"curve",points:[[t,0],[t-.02,-.25],[t,-.5]]},{kind:"circle",c:[t-.08,-.32],r:.07,fill:S.green,main:!0},{kind:"circle",c:[t+.08,-.42],r:.07,fill:S.green,main:!0},{kind:"circle",c:[t,-.52],r:.06,fill:S.roof}])],cup:[{kind:"polygon",points:[[-.26,-.52],[.26,-.52],[.2,-.1],[-.2,-.1]],fill:S.paper,main:!0},{kind:"curve",points:[[.24,-.44],[.4,-.38],[.22,-.2]]},{kind:"polygon",points:[[-.46,-.1],[.46,-.1],[.36,0],[-.36,0]],fill:S.paper},{kind:"curve",points:[[-.08,-.62],[-.02,-.72],[-.08,-.84]]},{kind:"curve",points:[[.08,-.62],[.14,-.72],[.08,-.84]]}],function:[C(-.38,-.72,.76,.62,S.screen,!0),M([-.14,-.62],[0,-.62],[.14,-.2]),M([.02,-.42],[-.14,-.2])],"api-gateway":[C(-.12,-.8,.24,.8,S.metal,!0),M([-.48,-.55],[-.16,-.55]),M([-.24,-.62],[-.16,-.55],[-.24,-.48]),M([.16,-.3],[.48,-.3]),M([.4,-.37],[.48,-.3],[.4,-.23])],cache:[C(-.34,-.66,.68,.66,S.metal,!0),{kind:"polygon",points:[[.04,-.58],[-.12,-.3],[0,-.3],[-.06,-.08],[.14,-.38],[.02,-.38]],fill:S.gold}],cluster:[{kind:"curve",points:[[-.4,-.8],[0,-.86],[.4,-.8],[.48,-.45],[.4,-.1],[0,-.04],[-.4,-.1],[-.48,-.45],[-.4,-.8]]},C(-.3,-.7,.24,.2,S.screen,!0),C(.06,-.7,.24,.2,S.screen,!0),C(-.12,-.38,.24,.2,S.screen,!0)],board:[C(-.48,-.9,.96,.6,S.board,!0),C(-.34,-.76,.42,.03,S.chalk),C(-.34,-.62,.58,.03,S.chalk),C(-.34,-.48,.3,.03,S.chalk),M([-.3,-.3],[-.36,0]),M([.3,-.3],[.36,0])],book:[{kind:"polygon",points:[[0,-.62],[-.46,-.7],[-.46,-.1],[0,-.04]],fill:S.paper,main:!0},{kind:"polygon",points:[[0,-.62],[.46,-.7],[.46,-.1],[0,-.04]],fill:S.paper,main:!0},M([-.36,-.52],[-.1,-.48]),M([-.36,-.38],[-.1,-.34]),M([.1,-.48],[.36,-.52]),M([.1,-.34],[.36,-.38])],pencil:[{kind:"polygon",points:[[-.38,-.12],[.22,-.72],[.34,-.6],[-.26,0]],fill:S.bus,main:!0},{kind:"polygon",points:[[.22,-.72],[.34,-.6],[.44,-.86]],fill:S.wood},{kind:"polygon",points:[[-.38,-.12],[-.26,0],[-.46,-.02]],fill:S.roof}]},tl=["happy","sad","surprised","worried","idea"],qp={person:[0,-.87,.11],"person-pointing":[0,-.87,.11],"person-sitting":[-.08,-.9,.1]},sl=t=>{let e=Ys(t);return!!e&&e in qp};var nl=["spin","drive","steam","talk","pulse","float"],Cp=["lesson","pitch","arch","decision","data","timeline","story"],il=8,rl=6,ol=2e5,al=6e5,ll=24;var ul=["card","line","arrow","polyline","polygon","curve","circle","ellipse","plot","text","highlight","pause","prop","repeat","when","move","link","counter","row","column","grid","axis","timeline","balloon","brace","note","table","bars","chain","animate","lottie"],it=["text","prop","card","counter","circle","ellipse"],cl=["row","column","grid","chain"],Tp=50;function z(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e}: expected an object.`)}function j(t,e){if(typeof t!="string"||!t.trim()||t.length>2e3)throw new Error(`${e}: expected text of 1 to 2000 characters.`)}function D(t,e,s=-1e4,n=1e4){if(typeof t!="number"||!Number.isFinite(t)||t<s||t>n)throw new Error(`${e}: expected a number between ${s} and ${n}.`)}function Q(t,e){if(typeof t=="string"){if(j(t,e),t.length>300)throw new Error(`${e}: expression too long.`)}else D(t,e)}function H(t,e){if(!Array.isArray(t)||t.length!==2)throw new Error(`${e}: expected [x, y].`);t.forEach((s,n)=>Q(s,`${e}[${n}]`))}function ie(t,e){t!==void 0&&j(t,e)}function Z(t,e,s){if(t!==void 0&&(typeof t!="string"||!e.includes(t)))throw new Error(`${s}: choose one of ${e.join(", ")}.`)}function zs(t){if(!/^[A-Za-z_][A-Za-z_0-9]*$/.test(t)||["__proto__","constructor","prototype",...Ha].includes(t))throw new Error(`Invalid variable name: "${t}".`)}var rt=(t,e)=>e.includes("{")||t.exact.has(e)||[...t.repeated].some(s=>e.startsWith(`${s}-`)&&/^\d+$/.test(e.slice(s.length+1)));function Re(t,e,s,n){n&&t[e]===void 0&&(t[e]=[0,0]),H(t[e],`${s}.${e}`)}function jt(t,e,s,n,i=!1){if(z(t,e),++s.count>500)throw new Error(`${e}: a recipe draws at most 500 steps, counting those inside repeat and when.`);if(n){for(let a of["chapter","say","duration"])if(t[a]!==void 0)throw new Error(`${e}.${a}: put it on the ${n} step itself, not on a step inside it.`);if(t.type==="pause")throw new Error(`${e}: a pause cannot go inside ${n}.`);if(t.type==="repeat"&&n==="repeat")throw new Error(`${e}: a repeat cannot go inside another repeat.`);if(cl.includes(n)&&t.place!==void 0)throw new Error(`${e}.place: the ${n} places the steps inside it.`)}if(!ul.includes(t.type))throw new Error(`${e}: unknown type "${t.type}".`);for(let a of["id","say","chapter"])ie(t[a],`${e}.${a}`);if(t.duration!==void 0&&D(t.duration,`${e}.duration`,0,3e4),t.nudge!==void 0){if(["pause","move","link","animate"].includes(t.type))throw new Error(`${e}.nudge: a ${t.type} has no place of its own to move.`);if(!Array.isArray(t.nudge)||t.nudge.length!==2)throw new Error(`${e}.nudge: use [dx, dy].`);t.nudge.forEach((a,l)=>D(a,`${e}.nudge[${l}]`,-900,900))}let r=n!==null&&cl.includes(n)||i;if(t.place!==void 0){if(!it.includes(t.type))throw new Error(`${e}.place: only ${it.join(", ")} can be placed.`);if(z(t.place,`${e}.place`),j(t.place.to,`${e}.place.to`),!rt(s,String(t.place.to)))throw new Error(`${e}.place.to: no earlier step has the id "${t.place.to}".`);if(!["below","above","left","right"].includes(t.place.side))throw new Error(`${e}.place.side: choose one of below, above, left, right.`);t.place.gap!==void 0&&D(t.place.gap,`${e}.place.gap`,-200,400),Z(t.place.align,["center","start","end"],`${e}.place.align`)}let o=r||t.place!==void 0;if(t.style!==void 0){z(t.style,`${e}.style`);for(let a of["color","fill"]){let l=t.style[a];if(l!==void 0&&(typeof l!="string"||!/^(#[\da-f]{3,8}|[a-z]+)$/i.test(l)))throw new Error(`${e}.style.${a}: use a hex colour or a colour name, no URLs.`)}for(let a of["width","roughness","bowing"])t.style[a]!==void 0&&D(t.style[a],`${e}.style.${a}`,0,20);if(t.style.opacity!==void 0&&D(t.style.opacity,`${e}.style.opacity`,0,1),t.style.dashed!==void 0&&typeof t.style.dashed!="boolean")throw new Error(`${e}: dashed must be a boolean.`);Z(t.style.fillStyle,["hachure","solid","zigzag","cross-hatch","dots"],`${e}.style.fillStyle`)}switch(t.type){case"line":case"arrow":case"highlight":H(t.from,`${e}.from`),H(t.to,`${e}.to`),t.thickness!==void 0&&D(t.thickness,`${e}.thickness`,1,200);break;case"polyline":case"polygon":case"curve":if(!Array.isArray(t.points)||t.points.length<(t.type==="polygon"?3:2)||t.points.length>500)throw new Error(`${e}: points needs ${t.type==="polygon"?3:2} to 500 points.`);t.points.forEach((a,l)=>H(a,`${e}.points[${l}]`));break;case"circle":case"ellipse":Re(t,"center",e,o);for(let a of t.type==="circle"?["r"]:["rx","ry"])Q(t[a],`${e}.${a}`),typeof t[a]=="number"&&D(t[a],`${e}.${a}`,0);break;case"text":Re(t,"at",e,o),j(t.text,`${e}.text`),t.size!==void 0&&D(t.size,`${e}.size`,1,200),t.rotate!==void 0&&D(t.rotate,`${e}.rotate`,-360,360),Z(t.font,["hand","body"],`${e}.font`),Z(t.anchor,["start","middle","end"],`${e}.anchor`);break;case"card":Re(t,"at",e,o),Q(t.w,`${e}.w`),Q(t.h,`${e}.h`);for(let a of["w","h"])typeof t[a]=="number"&&D(t[a],`${e}.${a}`,40);if(j(t.title,`${e}.title`),t.lines!==void 0){if(!Array.isArray(t.lines)||t.lines.length>6)throw new Error(`${e}: at most 6 lines per card.`);t.lines.forEach((a,l)=>j(a,`${e}.lines[${l}]`))}break;case"plot":j(t.fn,`${e}.fn`),t.var!==void 0&&(j(t.var,`${e}.var`),zs(String(t.var))),H(t.domain,`${e}.domain`),H(t.range,`${e}.range`),z(t.box,`${e}.box`);for(let a of["x","y","w","h"])Q(t.box[a],`${e}.box.${a}`);if(t.samples!==void 0&&(D(t.samples,`${e}.samples`,2,1e3),!Number.isInteger(t.samples)))throw new Error(`${e}: samples must be an integer.`);break;case"pause":D(t.ms,`${e}.ms`,0,3e4),ie(t.ask,`${e}.ask`);break;case"prop":if(!Za(t.name)&&!s.figures.has(String(t.name))){let a=s.figures.size?`, or one the recipe defines (${[...s.figures].join(", ")})`:"";throw new Error(`${e}.name: unknown prop "${String(t.name)}"; use one of ${Bi.join(", ")}${a}.`)}if(Re(t,"at",e,o),t.size!==void 0&&(Q(t.size,`${e}.size`),typeof t.size=="number"&&D(t.size,`${e}.size`,10,1e3)),ie(t.label,`${e}.label`),t.flip!==void 0&&typeof t.flip!="boolean")throw new Error(`${e}.flip: expected true or false.`);if(t.mood!==void 0){if(!sl(t.name))throw new Error(`${e}.mood: only a person (person, person-pointing, person-sitting) has a face.`);Z(t.mood,tl,`${e}.mood`)}break;case"repeat":if(Q(t.times,`${e}.times`),typeof t.times=="number"&&(D(t.times,`${e}.times`,0,Tp),!Number.isInteger(t.times)))throw new Error(`${e}.times: expected a whole number.`);jt(t.step,`${e}.step`,s,"repeat",r);break;case"when":if(Q(t.if,`${e}.if`),!Array.isArray(t.steps)||t.steps.length===0||t.steps.length>50)throw new Error(`${e}.steps: expected 1 to 50 steps.`);t.steps.forEach((a,l)=>jt(a,`${e}.steps[${l}]`,s,n??"when"));break;case"move":if(j(t.target,`${e}.target`),!rt(s,String(t.target)))throw new Error(`${e}.target: no earlier step has the id "${t.target}".`);H(t.to,`${e}.to`),Z(t.along,["line","curve"],`${e}.along`),t.ms!==void 0&&D(t.ms,`${e}.ms`,200,5e3);break;case"lottie":if(j(t.src,`${e}.src`),H(t.at,`${e}.at`),t.size!==void 0&&(Q(t.size,`${e}.size`),typeof t.size=="number"&&D(t.size,`${e}.size`,24,1e3)),t.loop!==void 0&&typeof t.loop!="boolean")throw new Error(`${e}.loop: expected true or false.`);break;case"animate":if(j(t.target,`${e}.target`),!rt(s,String(t.target)))throw new Error(`${e}.target: no earlier step has the id "${t.target}".`);if(Z(t.effect,[...nl,"stop"],`${e}.effect`),t.effect===void 0)throw new Error(`${e}.effect: choose one of ${[...nl,"stop"].join(", ")}.`);Z(t.speed,["slow","fast"],`${e}.speed`);break;case"link":for(let a of["from","to"])if(j(t[a],`${e}.${a}`),!rt(s,String(t[a])))throw new Error(`${e}.${a}: no earlier step has the id "${t[a]}".`);ie(t.label,`${e}.label`);break;case"counter":if(Re(t,"at",e,o),Q(t.value,`${e}.value`),t.format!==void 0&&(j(t.format,`${e}.format`),!String(t.format).includes("{v")))throw new Error(`${e}.format: show the number as {v}, e.g. "R$ {v:0}".`);t.size!==void 0&&D(t.size,`${e}.size`,1,200),Z(t.anchor,["start","middle","end"],`${e}.anchor`);break;case"row":case"column":case"grid":if(r)throw new Error(`${e}: a ${t.type} cannot go inside another ${n}.`);if(Re(t,"at",e,!1),t.gap!==void 0&&D(t.gap,`${e}.gap`,0,400),t.type==="grid"){if(D(t.columns,`${e}.columns`,1,12),!Number.isInteger(t.columns))throw new Error(`${e}.columns: expected a whole number.`)}else Z(t.align,["center","start","end"],`${e}.align`);if(!Array.isArray(t.steps)||t.steps.length===0||t.steps.length>50)throw new Error(`${e}.steps: expected 1 to 50 steps.`);t.steps.forEach((a,l)=>{z(a,`${e}.steps[${l}]`);let c=a.type==="repeat"?a.step?.type:a.type;if(!it.includes(c))throw new Error(`${e}.steps[${l}]: a ${t.type} holds only ${it.join(", ")} (or a repeat of one).`);jt(a,`${e}.steps[${l}]`,s,t.type)});break;case"chain":if(r)throw new Error(`${e}: a chain cannot go inside a ${n}.`);if(Re(t,"at",e,!1),t.gap!==void 0&&t.gap!=="auto"&&D(t.gap,`${e}.gap`,0,400),Z(t.direction,["right","down"],`${e}.direction`),t.wrap!==void 0&&typeof t.wrap!="boolean")throw new Error(`${e}.wrap: expected true or false.`);if(ie(t.forward,`${e}.forward`),ie(t.back,`${e}.back`),t.size!==void 0&&(Q(t.size,`${e}.size`),typeof t.size=="number"&&D(t.size,`${e}.size`,10,1e3)),!Array.isArray(t.steps)||t.steps.length<2||t.steps.length>12)throw new Error(`${e}.steps: a chain joins 2 to 12 pieces.`);t.steps.forEach((a,l)=>{if(z(a,`${e}.steps[${l}]`),!it.includes(a.type))throw new Error(`${e}.steps[${l}]: a chain holds only ${it.join(", ")}.`);jt(a,`${e}.steps[${l}]`,s,"chain")});break;case"axis":case"timeline":if(H(t.from,`${e}.from`),H(t.to,`${e}.to`),H(t.domain,`${e}.domain`),t.type==="axis"){if(t.ticks!==void 0){if(Array.isArray(t.ticks)){if(t.ticks.length>30)throw new Error(`${e}.ticks: at most 30 marks.`);t.ticks.forEach((a,l)=>D(a,`${e}.ticks[${l}]`))}else if(D(t.ticks,`${e}.ticks`,0,30),!Number.isInteger(t.ticks))throw new Error(`${e}.ticks: expected a whole number.`)}if(ie(t.label,`${e}.label`),t.format!==void 0&&(j(t.format,`${e}.format`),!String(t.format).includes("{v")))throw new Error(`${e}.format: show the number as {v}, e.g. "{v} km".`)}else{if(!Array.isArray(t.marks)||t.marks.length===0||t.marks.length>20)throw new Error(`${e}.marks: expected 1 to 20 marks.`);t.marks.forEach((a,l)=>{z(a,`${e}.marks[${l}]`),Q(a.at,`${e}.marks[${l}].at`),ie(a.label,`${e}.marks[${l}].label`),ie(a.text,`${e}.marks[${l}].text`)})}break;case"balloon":if(j(t.to,`${e}.to`),!rt(s,String(t.to)))throw new Error(`${e}.to: no earlier step has the id "${t.to}".`);if(j(t.text,`${e}.text`),String(t.text).length>300)throw new Error(`${e}.text: keep a balloon under 300 characters.`);Z(t.side,["below","above","left","right"],`${e}.side`),Z(t.kind,["speech","thought"],`${e}.kind`),t.width!==void 0&&D(t.width,`${e}.width`,80,600),t.size!==void 0&&D(t.size,`${e}.size`,12,60);break;case"brace":if(H(t.from,`${e}.from`),H(t.to,`${e}.to`),ie(t.label,`${e}.label`),t.flip!==void 0&&typeof t.flip!="boolean")throw new Error(`${e}.flip: expected true or false.`);break;case"note":if(H(t.at,`${e}.at`),j(t.text,`${e}.text`),t.to===void 0==(t.point===void 0))throw new Error(`${e}: a note points either to an element (to) or to a point (point).`);if(t.to!==void 0){if(j(t.to,`${e}.to`),!rt(s,String(t.to)))throw new Error(`${e}.to: no earlier step has the id "${t.to}".`)}else H(t.point,`${e}.point`);t.size!==void 0&&D(t.size,`${e}.size`,12,60);break;case"table":if(H(t.at,`${e}.at`),!Array.isArray(t.rows)||t.rows.length===0||t.rows.length>12)throw new Error(`${e}.rows: expected 1 to 12 rows.`);if(t.rows.forEach((a,l)=>{if(!Array.isArray(a)||a.length===0||a.length>6)throw new Error(`${e}.rows[${l}]: expected 1 to 6 cells.`);a.forEach((c,d)=>{if(typeof c!="string"||c.length>120)throw new Error(`${e}.rows[${l}][${d}]: expected text of up to 120 characters.`)})}),t.header!==void 0&&typeof t.header!="boolean")throw new Error(`${e}.header: expected true or false.`);t.size!==void 0&&D(t.size,`${e}.size`,12,40);break;case"bars":z(t.box,`${e}.box`);for(let a of["x","y","w","h"])Q(t.box[a],`${e}.box.${a}`);if(!Array.isArray(t.values)||t.values.length===0||t.values.length>12)throw new Error(`${e}.values: expected 1 to 12 values.`);if(t.values.forEach((a,l)=>Q(a,`${e}.values[${l}]`)),t.labels!==void 0){if(!Array.isArray(t.labels)||t.labels.length>t.values.length)throw new Error(`${e}.labels: at most one label per value.`);t.labels.forEach((a,l)=>j(a,`${e}.labels[${l}]`))}if(t.max!==void 0&&Q(t.max,`${e}.max`),t.format!==void 0&&(j(t.format,`${e}.format`),!String(t.format).includes("{v")))throw new Error(`${e}.format: show the number as {v}, e.g. "{v}%".`);break}typeof t.id=="string"&&(n==="repeat"?s.repeated:s.exact).add(t.id)}function Lp(t,e){let s=`defs.${t}`;if(!/^[a-z][a-z0-9-]{1,30}$/.test(t))throw new Error(`${s}: a figure's name is 2 to 31 lowercase letters, digits or -, starting with a letter.`);if(Ys(t)||Object.hasOwn(Us,t)||ul.includes(t)||["define","title","param","switch","var"].includes(t))throw new Error(`${s}: "${t}" is already a prop or a step; choose another name.`);if(z(e,s),!Array.isArray(e.shapes)||e.shapes.length===0||e.shapes.length>ll)throw new Error(`${s}.shapes: expected 1 to ${ll} shapes.`);let n=(i,r)=>{if(typeof i!="number"||!Number.isInteger(i)||i<0||i>100)throw new Error(`${r}: expected a whole number from 0 to 100 (the figure's grid, y down; it stands at 50,100).`)};e.shapes.forEach((i,r)=>{let o=`${s}.shapes[${r}]`;if(z(i,o),i.fill!==void 0&&(typeof i.fill!="string"||!/^(#[0-9a-fA-F]{3,8}|[a-z]{3,20})$/.test(i.fill)))throw new Error(`${o}.fill: a colour, as hex or a plain name.`);if(i.kind==="circle"){if(!Array.isArray(i.c)||i.c.length!==2)throw new Error(`${o}.c: expected [x, y].`);i.c.forEach((l,c)=>n(l,`${o}.c[${c}]`)),n(i.r,`${o}.r`);return}if(!["polygon","polyline","curve"].includes(i.kind))throw new Error(`${o}.kind: choose one of polygon, polyline, curve, circle.`);let a=i.kind==="polygon"?3:2;if(!Array.isArray(i.points)||i.points.length<a||i.points.length>40)throw new Error(`${o}.points: a ${i.kind} takes ${a} to 40 points.`);i.points.forEach((l,c)=>{if(!Array.isArray(l)||l.length!==2)throw new Error(`${o}.points[${c}]: expected [x, y].`);l.forEach((d,f)=>n(d,`${o}.points[${c}][${f}]`))})})}function Ip(t,e){let s=`lottie "${t}"`;z(e,s);let n=JSON.stringify(e).length;if(n>ol)throw new Error(`${s}: ${Math.round(n/1e3)} KB; an animation can have at most ${ol/1e3} KB.`);for(let r of["fr","ip","op","w","h"])D(e[r],`${s}.${r}`,0,1e5);if(typeof e.v!="string"||!Array.isArray(e.layers))throw new Error(`${s}: not a Lottie animation (it needs v and layers).`);let i=(r,o)=>{if(Array.isArray(r))return r.forEach((a,l)=>i(a,`${o}[${l}]`));if(!(!r||typeof r!="object"))for(let[a,l]of Object.entries(r)){if(a==="x"&&typeof l=="string")throw new Error(`${s}: the animation has an expression (code inside it, at ${o}); only animations without expressions play.`);i(l,`${o}.${a}`)}};i(e.layers,"layers");for(let r of Array.isArray(e.assets)?e.assets:[]){let o=r?.p;if(typeof o=="string"&&o&&!o.startsWith("data:")&&!Array.isArray(r.layers))throw new Error(`${s}: an image from outside the animation ("${o.slice(0,40)}"); only images inside it (data:) are kept.`)}return n}function Mp(t){z(t,"The recipe");let e=t;D(e.width,"width",100,4e3),D(e.height,"height",100,4e3);for(let i of["id","title","category"])ie(e[i],i);if(e.locale!==void 0&&!(typeof e.locale=="string"&&/^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$/.test(e.locale)&&Intl.NumberFormat.supportedLocalesOf([e.locale]).length>0))throw new Error('locale: expected a language tag such as "en-US" or "pt-BR".');if(Z(e.background,["dots","grid","plain"],"background"),Z(e.kind,Cp,"kind"),ie(e.source,"source"),e.quiz!==void 0&&e.kind!==void 0&&e.kind!=="lesson")throw new Error(`quiz: only a lesson has a quiz (this drawing is a ${e.kind}).`);if(Z(e.theme,["paper","chalkboard"],"theme"),e.quiz!==void 0){if(z(e.quiz,"quiz"),j(e.quiz.question,"quiz.question"),!Array.isArray(e.quiz.options)||e.quiz.options.length<2||e.quiz.options.length>4)throw new Error("quiz.options: expected 2 to 4 options.");if(e.quiz.options.forEach((i,r)=>{if(z(i,`quiz.options[${r}]`),j(i.text,`quiz.options[${r}].text`),j(i.why,`quiz.options[${r}].why`),typeof i.right!="boolean")throw new Error(`quiz.options[${r}].right: expected true or false.`)}),e.quiz.options.filter(i=>i.right===!0).length!==1)throw new Error("quiz.options: exactly one option is right.")}if(e.learning!==void 0){z(e.learning,"learning");for(let i of["goal","question","answer","caveat"])j(e.learning[i],`learning.${i}`)}if(e.params!==void 0){z(e.params,"params");for(let[i,r]of Object.entries(e.params))if(zs(i),z(r,`params.${i}`),j(r.label,`params.${i}.label`),D(r.min,`${i}.min`),D(r.max,`${i}.max`),D(r.step,`${i}.step`,1e-6),D(r.value,`${i}.value`,r.min,r.max),r.max<=r.min)throw new Error(`${i}: max must be greater than min.`)}if(e.vars!==void 0){z(e.vars,"vars");for(let[i,r]of Object.entries(e.vars))zs(i),Q(r,`vars.${i}`)}if(e.switches!==void 0){z(e.switches,"switches");let i=Object.entries(e.switches);if(i.length>8)throw new Error("switches: at most 8.");for(let[r,o]of i){if(zs(r),Object.hasOwn(e.params??{},r)||Object.hasOwn(e.vars??{},r))throw new Error(`switches.${r}: the name is already a param or a var.`);if(z(o,`switches.${r}`),j(o.label,`switches.${r}.label`),typeof o.on!="boolean")throw new Error(`switches.${r}.on: expected true or false.`)}}if(!Array.isArray(e.steps)||e.steps.length===0||e.steps.length>250)throw new Error("A recipe needs 1 to 250 steps.");let s=new Set;if(e.defs!==void 0){z(e.defs,"defs");let i=Object.entries(e.defs);if(i.length>il)throw new Error(`defs: at most ${il} figures.`);for(let[r,o]of i)Lp(r,o),s.add(r)}if(e.lotties!==void 0){z(e.lotties,"lotties");let i=Object.entries(e.lotties);if(i.length>rl)throw new Error(`lotties: at most ${rl} animations.`);let r=i.reduce((o,[a,l])=>o+Ip(a,l),0);if(r>al)throw new Error(`lotties: ${Math.round(r/1e3)} KB in all; at most ${al/1e3} KB.`)}if(e.credits!==void 0){if(!Array.isArray(e.credits)||e.credits.length>5)throw new Error("credits: at most 5 lines.");e.credits.forEach((i,r)=>j(i,`credits[${r}]`))}let n={exact:new Set,repeated:new Set,count:0,figures:s};return e.steps.forEach((i,r)=>jt(i,`Step ${r+1}`,n,null)),{...e,id:e.id??"pasted",title:e.title??"",background:e.background??"dots"}}export{Li as STAGE_DOOR,ap as applyRows,Pi as checkWay,Zd as exportWay,Op as fromSheets,up as itemName,Di as problemText,sp as readWay,_i as reviewWay,Ga as sheetKeyOf,cp as show,Mp as validateScene,op as wayDiff,Ep as wayLesson,gp as workbookOf,kp as xlsx};
155
+ <workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><bookViews><workbookView/></bookViews><sheets>${n.map((o,a)=>`<sheet name="${Ri(o)}" sheetId="${a+1}" r:id="rId${a+1}"/>`).join("")}</sheets>${i?`<definedNames>${i}</definedNames>`:""}</workbook>`],["xl/_rels/workbook.xml.rels",`<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
156
+ <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">${t.map((o,a)=>`<Relationship Id="rId${a+1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet${a+1}.xml"/>`).join("")}<Relationship Id="rId${t.length+1}" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>`],["xl/styles.xml",e],...t.map((o,a)=>[`xl/worksheets/sheet${a+1}.xml`,$d(o,s)])];return Nd(r.map(([o,a])=>[o,Xa.encode(a)]))}var Ad=(()=>{let t=new Uint32Array(256);for(let e=0;e<256;e++){let s=e;for(let n=0;n<8;n++)s=s&1?3988292384^s>>>1:s>>>1;t[e]=s>>>0}return t})();function Ed(t){let e=4294967295;for(let s=0;s<t.length;s++)e=Ad[(e^t[s])&255]^e>>>8;return(e^4294967295)>>>0}function Nd(t){let e=[],s=[],n=0;for(let[c,p]of t){let f=Xa.encode(c),u=Ed(p),y=new DataView(new ArrayBuffer(30));y.setUint32(0,67324752,!0),y.setUint16(4,20,!0),y.setUint16(6,2048,!0),y.setUint16(8,0,!0),y.setUint32(14,u,!0),y.setUint32(18,p.length,!0),y.setUint32(22,p.length,!0),y.setUint16(26,f.length,!0),e.push(new Uint8Array(y.buffer),f,p);let $=new DataView(new ArrayBuffer(46));$.setUint32(0,33639248,!0),$.setUint16(4,20,!0),$.setUint16(6,20,!0),$.setUint16(8,2048,!0),$.setUint32(16,u,!0),$.setUint32(20,p.length,!0),$.setUint32(24,p.length,!0),$.setUint16(28,f.length,!0),$.setUint32(42,n,!0),s.push(new Uint8Array($.buffer),f),n+=30+f.length+p.length}let i=s.reduce((c,p)=>c+p.length,0),r=new DataView(new ArrayBuffer(22));r.setUint32(0,101010256,!0),r.setUint16(8,t.length,!0),r.setUint16(10,t.length,!0),r.setUint32(12,i,!0),r.setUint32(16,n,!0);let o=[...e,...s,new Uint8Array(r.buffer)],a=new Uint8Array(o.reduce((c,p)=>c+p.length,0)),l=0;for(let c of o)a.set(c,l),l+=c.length;return a}function Ha(t){let e=t.trim().toLowerCase();for(let s of Object.values(Ks))for(let n of["summary","stages","gates","roles","outputs","kpis","checklist","thread"])if(String(s[n]).toLowerCase().slice(0,31)===e)return n}var G=t=>t.normalize("NFD").replace(/[̀-ͯ]/g,"").trim().toLowerCase(),je=(t,e)=>(t??"").split(e).map(s=>s.trim()).filter(Boolean);function xd(t,e){let s=structuredClone(t),n=[],i=new Map(e.map(g=>[Ha(g.name),g])),r=(g,A)=>{if(!g?.rows.length)return;let E=Object.values(Ks).map(I=>G(String(I[A]))),x=g.rows[0].findIndex(I=>E.includes(G(I)));return x<0?void 0:I=>(I[x]??"").trim()},o=g=>(g?.rows.slice(1)??[]).filter(A=>A.some(E=>String(E??"").trim())),a=()=>[...s.lanes,...s.phases,...s.stages,...s.gates??[],...s.roles??[],...s.kpis??[]].map(g=>g.id),l=(g,A)=>g.find(E=>E.id===A||G(E.name??"")===G(A)),c=i.get("roles");if(c){let[g,A,E]=[r(c,"role"),r(c,"name"),r(c,"lane")];if(g){let x=[];for(let I of o(c)){let k=g(I);if(!k||k.length>12||/\s/.test(k))continue;let P=(s.roles??[]).find(N=>G(N.acronym)===G(k)),R=E?.(I)??"",q=R?l(s.lanes,R)?.id??f(R):P?.lane??s.lanes[0]?.id??"";x.push({...P??{id:ce(k,a()),acronym:k},acronym:k,name:A?.(I)||P?.name,lane:q})}s.roles=x}}let p=g=>{let A=(s.roles??[]).find(E=>G(E.acronym)===G(g)||E.id===g);return A||n.push(`\xAB${g}\xBB is not one of the roles`),A?.id};function f(g){let A=ce(g,a());return s.lanes.push({id:A,name:g}),A}function u(g){let A=ce(g,a());return s.phases.push({id:A,name:g}),A}let y=i.get("stages");if(y){let g=Object.fromEntries(["id","phase","stage","lane","roles2","question","inputs","delivers","metrics","activities","where","wip","description"].map(A=>[A,r(y,A)]));if(g.stage){let A=new Set(Object.values(Ks).map(k=>G(k.outsideWord))),E=new Set([...t.stages.map(k=>k.name),...(t.gates??[]).map(k=>k.name),...o(y).map(k=>g.stage(k))].map(G)),x=k=>{let P=k.match(/^(.*\S)\s*\(([^()]+)\)$/);return P?A.has(G(P[2]))?{name:P[1],outside:!0}:E.has(G(P[2]))?{name:P[1],outside:!1}:{name:k,outside:!1}:{name:k,outside:!1}},I=[];for(let k of o(y)){let P=g.stage(k);if(!P)continue;let R=g.id?.(k)||"",q=t.stages.find(O=>O.id===R),N=g.phase?.(k)??"",d=g.lane?.(k)??"",v={...q??{id:ce(P,[...a(),...I.map(O=>O.id)])},name:P,phase:N?l(s.phases,N)?.id??u(N):q?.phase??s.phases[0].id,lane:d?l(s.lanes,d)?.id??f(d):q?.lane??s.lanes[0].id};if(g.roles2&&(v.roles=je(g.roles2(k),/[,;]/).map(p).filter(O=>!!O)),g.question&&(v.question=g.question(k)||void 0),g.inputs){let O=je(g.inputs(k),/;|\n/).map(x);v.inputs=O.map(C=>C.name),v.outside=O.filter(C=>C.outside).map(C=>C.name)}if(g.metrics&&(v.metrics=je(g.metrics(k),/;|\n/)),g.description&&(v.description=g.description(k)||void 0),g.where&&(v.where=g.where(k)||void 0),g.wip){let O=Number(g.wip(k));v.wip=g.wip(k)&&Number.isFinite(O)?O:void 0}if(g.delivers){let O=t.stages.flatMap(C=>C.outputs??[]);v.outputs=je(g.delivers(k),/;|\n/).map(C=>O.find(D=>G(D.name)===G(C))??{id:ce(C,[...a(),...O.map(D=>D.id)]),name:C})}if(g.activities){let O=t.stages.flatMap(C=>C.activities??[]);v.activities=je(g.activities(k),/;|\n/).map(C=>O.find(D=>G(D.name)===G(C))??{id:ce(C,O.map(D=>D.id)),name:C})}for(let O of["question","where","wip","description"])v[O]===void 0&&delete v[O];for(let O of["roles","inputs","outside","outputs","metrics","activities"])!v[O]?.length&&!q?.[O]&&delete v[O];I.push(v)}s.stages=I}}let $=g=>{if(!g)return;let A=l(s.stages,g)?.id??l(t.stages,g)?.id,E=s.stages.find(x=>x.id===A);return E||n.push(`\xAB${g}\xBB is not one of the stages`),E?.id},m=i.get("gates");if(m){let g=Object.fromEntries(["id","gate","after","approver","when","onFail","gateOut","metrics"].map(A=>[A,r(m,A)]));if(g.gate){let A=[];for(let E of o(m)){let x=g.gate(E),I=g.id?.(E)||"",k=A.find(O=>I?O.id===I:!!x&&G(O.name)===G(x));if(k){let O=g.approver?.(E)?p(g.approver(E)):void 0;O&&(k.approvals=[...se(k),{by:O,...g.when?.(E)&&{when:g.when(E)}}],delete k.approver);continue}if(!x)continue;let P=(t.gates??[]).find(O=>O.id===I),R=$(g.after?.(E)??"")??P?.after;if(!R)continue;let q=g.approver?.(E),N=g.onFail?.(E),d={...P??{id:ce(x,[...a(),...A.map(O=>O.id)]),results:[{id:"ok",label:"OK",ok:!0},{id:"no",label:"\xD7"}]},name:x,after:R,approver:q?p(q)??null:null,approvals:void 0,on_fail:N?$(N)??null:null};if(g.gateOut){let O=(t.gates??[]).flatMap(C=>C.outputs??[]);d.outputs=je(g.gateOut(E),/;|\n/).map(C=>O.find(D=>G(D.name)===G(C))??{id:ce(C,[...a(),...O.map(D=>D.id)]),name:C})}g.metrics&&(d.metrics=je(g.metrics(E),/;|\n/));let v=g.when?.(E);v&&d.approver&&(d.approvals=[{by:d.approver,when:v}],delete d.approver);for(let O of["outputs","metrics"])!d[O]?.length&&!P?.[O]&&delete d[O];A.push(d)}for(let E of A)E.approvals?.length===1&&!E.approvals[0].when&&(E.approver=E.approvals[0].by,delete E.approvals),E.approvals||delete E.approvals;s.gates=A}}let w=i.get("outputs");if(w){let[g,A,E,x]=[r(w,"id"),r(w,"description"),r(w,"by"),r(w,"kpi")];for(let I of o(w)){let k=s.stages.flatMap(P=>P.outputs??[]).find(P=>P.id===g?.(I));if(k){A&&(k.description=A(I)||void 0),E&&(k.by=E(I)?p(E(I))??null:null),x&&(k.kpi=!!x(I)||void 0);for(let P of["description","kpi"])k[P]===void 0&&delete k[P];k.by===null&&delete k.by}}}let h=i.get("kpis");if(h&&s.kpis){let[g,A,E]=[r(h,"id"),r(h,"name"),r(h,"stage")],x=[];for(let I of o(h)){let k=s.kpis.find(P=>P.id===g?.(I));k&&x.push({...k,name:A?.(I)||k.name,stage:$(E?.(I)??"")??k.stage})}s.kpis=x}let b=new Set(s.stages.flatMap(g=>(g.outputs??[]).map(A=>A.id)));return s.gates=(s.gates??[]).filter(g=>s.stages.some(A=>A.id===g.after)).map(g=>({...g,criteria:(g.criteria??[]).map(A=>A.kind==="outputs"?{...A,outputs:A.outputs.filter(E=>b.has(E))}:A).filter(A=>A.kind!=="outputs"||A.outputs.length)})),s.links=(s.links??[]).filter(g=>[g.source,g.target].every(A=>s.stages.some(E=>E.id===A)||!t.stages.some(E=>E.id===A))),{way:s,problems:[...new Set([...n,..._i(s).map(Fi)])]}}var it="#8C8578";var rt="#C8442C";var Qa=t=>Math.round(t*10)/10,Re=t=>[Qa(t[0]),Qa(t[1])],Ce=(t,e,s=22,n="start",i)=>({type:"text",at:Re(t),text:e,size:s,anchor:n,...i?{style:{color:i}}:{}}),Bi=(t,e,s)=>({type:"line",from:Re(t),to:Re(e),...s?{style:s}:{}}),Bt=(t,e,s)=>({type:"arrow",from:Re(t),to:Re(e),...s?{style:s}:{}}),Ki=(t,e)=>({type:"polygon",points:t.map(Re),...e?{style:e}:{}}),Us=(t,e)=>({type:"polyline",points:t.map(Re),...e?{style:e}:{}});var Za=(t,e,s,n,i)=>Ki([[t,e],[t+s,e],[t+s,e+n],[t,e+n]],i),qd=(t,e)=>t.length*e*.48;function Ys(t,e,s){let n=[],i="";for(let r of t.split(/\s+/).filter(Boolean)){let o=i?`${i} ${r}`:r;i&&qd(o,e)>s?(n.push(i),i=r):i=o}return i&&n.push(i),n.length?n:[""]}var zs=["#2F5BEA","#2E8F62","#C77700","#7B4FC9","#5E5A52","#C8442C"];function Cd(t,e,s="pt"){let n=s==="pt"?{approves:"aprova",alsoIf:"tamb\xE9m, se",no:"n\xE3o",yes:"sim",delivers:"Entrega",receives:"Recebe",outside:"de fora"}:{approves:"approves",alsoIf:"too, if",no:"no",yes:"yes",delivers:"Delivers",receives:"Receives",outside:"from outside"},i=nt(e),r=N=>e.stages.find(d=>d.id===N)?.name??(e.gates??[]).find(d=>d.id===N)?.name??"",o=e.gates??[],a=new Map((e.roles??[]).map(N=>[N.id,N.acronym])),l=e.lanes.filter(N=>e.stages.some(d=>d.lane===N.id)),c=[];for(let N of e.stages){c.push({kind:"stage",id:N.id,w:150});let d=o.find(v=>v.after===N.id);d&&c.push({kind:"gate",id:d.id,w:110})}let p=130,f=Math.max(900,p+c.reduce((N,d)=>N+d.w,0)+30),u=150,y=N=>p+c.slice(0,N).reduce((d,v)=>d+v.w,0),$=N=>Math.max(0,l.findIndex(d=>d.id===N)),m=N=>Ys(N.name,19,116),w=N=>Math.max(64,26+m(N).length*22),h=N=>Ys(N.name,16,104),b=N=>{let d=se(N),v=d.filter(C=>!C.when).map(C=>a.get(C.by)??C.by),O=d.filter(C=>C.when).map(C=>`${a.get(C.by)??C.by} ${n.alsoIf} ${C.when}`);return{say:[v.length?`${v.join(", ")} ${n.approves}`:"",...O].filter(Boolean).join("; "),lines:[...v.length?[`${v.join(", ")} ${n.approves}`]:[],...O.flatMap(C=>Ys(`+ ${C}`,15,104))]}},g=l.map(N=>Math.max(150,...e.stages.filter(d=>d.lane===N.id).map(d=>{let v=o.find(C=>C.after===d.id),O=30+w(d)+30;return v?Math.max(O,30+w(d)/2+30+24+h(v).length*18+b(v).lines.length*18+14):O}))),A=N=>u+g.slice(0,N).reduce((d,v)=>d+v,0),E=Math.min(f*.8,A(l.length)+50),x=[Ce([40,60],t,36)];l.forEach((N,d)=>{let[v,O]=[A(d),g[d]];x.push(Bi([30,v+O],[f-20,v+O],{color:it,dashed:!0})),x.push(Ce([36,v+O/2+8],N.name,22,"start",zs[e.lanes.indexOf(N)%zs.length]))}),x.push(Bi([30,u],[f-20,u],{color:it,dashed:!0}));let I=new Map,k,P;c.forEach((N,d)=>{let v=y(d);if(N.kind==="stage"){let O=e.stages.find(Y=>Y.id===N.id),C=$(O.lane),D=zs[e.lanes.findIndex(Y=>Y.id===O.lane)%zs.length],ie=m(O),B={x:v+12,y:A(C)+30,w:N.w-24,h:w(O)};I.set(O.id,B);let be=[];if(O.phase!==k){k=O.phase;let Y=c.slice(d).findIndex((Ke,ml)=>ml>0&&Ke.kind==="stage"&&e.stages.find(gl=>gl.id===Ke.id).phase!==k),he=Y<0?c.length:d+Y,[Hs,Qs]=[v+6,y(he)-6],hl=Ce([(Hs+Qs)/2,u-50],e.phases.find(Ke=>Ke.id===O.phase)?.name??O.phase,26,"middle",it);be.push({...hl,chapter:e.phases.find(Ke=>Ke.id===O.phase)?.name??O.phase},Us([[Hs,u-30],[Hs,u-38],[Qs,u-38],[Qs,u-30]],{color:it}))}P&&be.push(...q(P,B));let Le=(i.inputs[O.id]??[]).map(Y=>`\xAB${Y.name}\xBB${Y.kind==="outside"?` (${n.outside})`:Y.from?` (${r(Y.from)})`:""}`),ne=[O.question??(O.outputs?.length?`${n.delivers}: ${O.outputs.map(Y=>Y.name).join(", ")}`:""),Le.length?`${n.receives} ${Le.join(", ")}.`:""].filter(Boolean).join(" ")||void 0,de={...Za(B.x,B.y,B.w,B.h,{color:D,fill:"#FFFFFF"}),...ne?{say:ne}:{}};be.push(de,...ie.map((Y,he)=>Ce([B.x+B.w/2,B.y+B.h/2+7-(ie.length-1)*22/2+he*22],Y,19,"middle"))),x.push(...be),P=B}else{let O=o.find(de=>de.id===N.id),C=I.get(O.after),D=C.y+C.h/2,ie=v+N.w/2,B={x:ie-30,y:D-30,w:60,h:60},be=b(O),Le=[Bt([C.x+C.w,D],[B.x,D]),{...Ki([[ie,B.y],[B.x+B.w,D],[ie,B.y+B.h],[B.x,D]],{color:rt,fill:"#FFF0EC"}),say:`${O.name}${be.say?` \u2014 ${be.say}`:""}`}],Xs=h(O);Xs.forEach((de,Y)=>Le.push(Ce([ie,B.y+B.h+22+Y*18],de,16,"middle",rt))),be.lines.forEach((de,Y)=>Le.push(Ce([ie,B.y+B.h+24+(Xs.length+Y)*18],de,15,"middle",it)));let ne=O.on_fail?I.get(O.on_fail):void 0;if(ne){let de=[...I.values()].filter(he=>he.x+he.w>ne.x&&he.x<ie).map(he=>he.y),Y=Math.min(ne.y,B.y,...de)-18;Le.push(Us([[ie,B.y],[ie,Y],[ne.x+ne.w/2,Y]],{color:rt,dashed:!0}),Bt([ne.x+ne.w/2,Y],[ne.x+ne.w/2,ne.y],{color:rt,dashed:!0}),Ce([ie+6,(B.y+Y)/2+5],n.no,15,"start",rt))}x.push(...Le),P=B}});let R=x.findIndex(N=>N.chapter);return R>0&&(x[0].chapter=x[R].chapter,delete x[R].chapter),{id:t.toLowerCase().normalize("NFD").replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,60)||"way",title:t,width:f,height:Math.round(E),background:"plain",locale:s==="pt"?"pt-BR":"en-US",steps:x};function q(N,d){let[v,O]=[[N.x+N.w,N.y+N.h/2],[d.x,d.y+d.h/2]];if(Math.abs(v[1]-O[1])<2)return[Bt(v,O)];let C=(v[0]+O[0])/2;return[Us([v,[C,v[1]],[C,O[1]]]),Bt([C,O[1]],O)]}}var el=["and","or","not"];var Ui=["person","person-pointing","person-sitting","house","car","bus","coin","phone","document","server","bank","cloud","queue","desk","computer","clock","lock","money-arrow","tree","school","hospital","factory","truck","cart","safe","bulb","gear","database","robot","ship","container","warehouse","box","pallet","shop","shelf","field","cup","function","api-gateway","cache","cluster","board","book","pencil"],Vs={pessoa:"person","pessoa-apontando":"person-pointing","pessoa-sentada":"person-sitting",casa:"house",carro:"car",onibus:"bus",moeda:"coin",celular:"phone",documento:"document",servidor:"server",banco:"bank",nuvem:"cloud",fila:"queue",mesa:"desk",computador:"computer",relogio:"clock",cadeado:"lock","seta-dinheiro":"money-arrow"},Gs=t=>Ui.includes(t)?t:typeof t=="string"&&Object.hasOwn(Vs,t)?Vs[t]:void 0;var sl=t=>Gs(t)!==void 0,S={skin:"#E8C6A5",shirt:"#A9BCC3",wood:"#D8C29C",gold:"#F2C94C",paper:"#FFFFFF",screen:"#DCE8F0",device:"#5B6B7C",roof:"#D9785F",wall:"#F3E3C3",car:"#7FA7C9",bus:"#E9C46A",green:"#7DBE8A",dark:"#4A4A4A",metal:"#C9D3DD",board:"#2F4F3F",chalk:"#F2EFE6"},T=(t,e,s,n,i,r)=>({kind:"polygon",points:[[t,e],[t+s,e],[t+s,e+n],[t,e+n]],fill:i,main:r}),M=(...t)=>({kind:"polyline",points:t});function nl(t){return[{kind:"polygon",points:[[-.15,-.72],[.15,-.72],[.19,-.38],[-.19,-.38]],fill:S.shirt,main:!0},{kind:"circle",c:[0,-.87],r:.11,fill:S.skin},...t,M([-.08,-.38],[-.1,0]),M([.08,-.38],[.1,0])]}var tl=nl([M([-.15,-.7],[-.25,-.42]),M([.15,-.7],[.25,-.42])]);function Ld(t,e,s){let n=([i,r])=>[s+i*e,r*e];return t.map(i=>i.kind==="circle"?{...i,c:n(i.c),r:i.r*e}:{...i,points:i.points.map(n)})}function Td(){let t=[[-.28,-.3,.18],[-.06,-.45,.25],[.2,-.4,.21],[.37,-.27,.13]],e=[];for(let s=0;s<=24;s++){let n=-.46+.96*s/24,i=t.filter(([r,,o])=>Math.abs(n-r)<=o).map(([r,o,a])=>o-Math.sqrt(Math.max(0,a*a-(n-r)**2)));i.length&&e.push([n,Math.min(...i)])}return[...e,[.42,-.12],[-.4,-.12]]}var Pm={person:tl,"person-pointing":nl([M([-.15,-.7],[-.25,-.42]),M([.15,-.69],[.47,-.73])]),"person-sitting":[M([-.3,-.8],[-.27,-.4]),M([-.32,-.4],[.2,-.4]),M([-.27,-.4],[-.27,0]),M([.16,-.4],[.16,0]),{kind:"polygon",points:[[-.22,-.77],[.04,-.77],[.06,-.44],[-.22,-.44]],fill:S.shirt,main:!0},{kind:"circle",c:[-.08,-.9],r:.1,fill:S.skin},M([-.1,-.44],[.3,-.44],[.32,0]),M([0,-.74],[.18,-.55],[.3,-.58])],house:[T(-.4,-.6,.8,.6,S.wall,!0),{kind:"polygon",points:[[-.5,-.58],[0,-1],[.5,-.58]],fill:S.roof},T(-.08,-.32,.16,.32,S.wood),T(.16,-.46,.16,.14,S.screen)],car:[{kind:"polygon",fill:S.car,main:!0,points:[[-.5,-.14],[-.5,-.32],[-.3,-.36],[-.18,-.56],[.2,-.56],[.32,-.36],[.5,-.32],[.5,-.14]]},{kind:"polygon",points:[[-.14,-.51],[.17,-.51],[.25,-.37],[-.22,-.37]],fill:S.screen},{kind:"circle",c:[-.28,-.12],r:.1,fill:S.dark},{kind:"circle",c:[.28,-.12],r:.1,fill:S.dark}],bus:[T(-.5,-.66,1,.52,S.bus,!0),...[-.42,-.21,0,.21].map(t=>T(t,-.6,.15,.16,S.screen)),M([-.5,-.3],[.5,-.3]),{kind:"circle",c:[-.3,-.12],r:.1,fill:S.dark},{kind:"circle",c:[.3,-.12],r:.1,fill:S.dark}],coin:[{kind:"circle",c:[0,-.42],r:.4,fill:S.gold,main:!0},{kind:"circle",c:[0,-.42],r:.3},{kind:"curve",points:[[.1,-.56],[-.08,-.57],[-.09,-.46],[.08,-.39],[.08,-.29],[-.11,-.28]]},M([0,-.64],[0,-.2])],phone:[T(-.26,-1,.52,1,S.device,!0),T(-.2,-.92,.4,.76,S.screen),{kind:"circle",c:[0,-.08],r:.035,fill:S.paper}],document:[{kind:"polygon",points:[[-.36,-1],[.16,-1],[.36,-.8],[.36,0],[-.36,0]],fill:S.paper,main:!0},M([.16,-1],[.16,-.8],[.36,-.8]),...[-.66,-.5,-.34,-.18].map(t=>M([-.22,t],[.22,t]))],server:[-1,-.66,-.32].flatMap(t=>[T(-.36,t,.72,.3,S.metal,!0),M([-.26,t+.15],[.06,t+.15]),{kind:"circle",c:[.22,t+.15],r:.035,fill:S.green}]),bank:[{kind:"polygon",points:[[-.5,-.74],[0,-1],[.5,-.74]],fill:S.wall,main:!0},T(-.45,-.74,.9,.08,S.wall),...[-.33,-.11,.11,.33].map(t=>T(t-.04,-.66,.08,.56,S.paper)),T(-.5,-.1,1,.1,S.wall)],cloud:[{kind:"polygon",points:Td(),fill:S.paper,main:!0}],queue:[-.32,0,.32].flatMap(t=>Ld(tl,.7,t)),desk:[T(-.5,-.5,1,.07,S.wood,!0),M([-.42,-.43],[-.42,0]),M([.42,-.43],[.42,0])],computer:[T(-.45,-1,.9,.6,S.device,!0),T(-.39,-.94,.78,.48,S.screen),{kind:"polygon",points:[[-.06,-.4],[.06,-.4],[.1,-.1],[-.1,-.1]],fill:S.device},T(-.25,-.1,.5,.08,S.device)],clock:[{kind:"circle",c:[0,-.48],r:.45,fill:S.paper,main:!0},...[[0,-.9,0,-.82],[.42,-.48,.34,-.48],[0,-.06,0,-.14],[-.42,-.48,-.34,-.48]].map(([t,e,s,n])=>M([t,e],[s,n])),M([0,-.48],[0,-.78]),M([0,-.48],[.2,-.48])],lock:[{kind:"curve",points:[[-.22,-.52],[-.22,-.76],[0,-.96],[.22,-.76],[.22,-.52]]},T(-.36,-.54,.72,.54,S.bus,!0),{kind:"circle",c:[0,-.32],r:.06,fill:S.dark},M([0,-.28],[0,-.14])],"money-arrow":[{kind:"polygon",fill:S.green,main:!0,points:[[-.5,-.4],[.12,-.4],[.12,-.56],[.5,-.3],[.12,-.04],[.12,-.2],[-.5,-.2]]},{kind:"circle",c:[-.2,-.3],r:.16,fill:S.gold},M([-.2,-.4],[-.2,-.2])],tree:[T(-.07,-.36,.14,.36,S.wood),{kind:"circle",c:[0,-.64],r:.3,fill:S.green,main:!0}],school:[T(-.45,-.6,.9,.6,S.wall,!0),{kind:"polygon",points:[[-.5,-.6],[0,-.82],[.5,-.6]],fill:S.roof},T(-.08,-.28,.16,.28,S.wood),T(-.36,-.48,.16,.12,S.screen),T(.2,-.48,.16,.12,S.screen),M([0,-.82],[0,-1]),{kind:"polygon",points:[[0,-1],[.17,-.95],[0,-.9]],fill:S.roof}],hospital:[T(-.4,-.8,.8,.8,S.paper,!0),T(-.045,-.7,.09,.26,"#C8442C"),T(-.13,-.615,.26,.09,"#C8442C"),T(-.1,-.24,.2,.24,S.metal)],factory:[{kind:"polygon",points:[[-.5,0],[-.5,-.5],[-.25,-.65],[-.25,-.5],[0,-.65],[0,-.5],[.25,-.65],[.25,-.5],[.5,-.5],[.5,0]],fill:S.wall,main:!0},T(.3,-.95,.12,.3,S.dark),T(-.38,-.32,.16,.12,S.screen),T(-.08,-.32,.16,.12,S.screen),T(.22,-.32,.16,.12,S.screen)],truck:[T(-.5,-.62,.62,.46,S.metal,!0),{kind:"polygon",points:[[.12,-.16],[.12,-.5],[.34,-.5],[.48,-.32],[.48,-.16]],fill:S.bus},{kind:"polygon",points:[[.18,-.46],[.32,-.46],[.42,-.33],[.18,-.33]],fill:S.screen},{kind:"circle",c:[-.3,-.1],r:.1,fill:S.dark},{kind:"circle",c:[.3,-.1],r:.1,fill:S.dark}],cart:[M([-.48,-.78],[-.4,-.62]),{kind:"polygon",points:[[-.4,-.62],[.42,-.62],[.32,-.26],[-.3,-.26]],fill:S.metal,main:!0},M([-.3,-.26],[-.3,-.14],[.32,-.14]),{kind:"circle",c:[-.22,-.07],r:.06,fill:S.dark},{kind:"circle",c:[.24,-.07],r:.06,fill:S.dark}],safe:[T(-.4,-.82,.8,.82,S.device,!0),T(-.3,-.72,.6,.62,S.metal),{kind:"circle",c:[0,-.41],r:.13,fill:S.paper},M([0,-.41],[.08,-.47])],bulb:[{kind:"circle",c:[0,-.62],r:.3,fill:S.gold,main:!0},T(-.13,-.33,.26,.2,S.metal),{kind:"curve",points:[[-.09,-.52],[0,-.66],[.09,-.52]]},M([-.08,-.08],[.08,-.08])],gear:[{kind:"polygon",points:[[.42,-.5],[.296,-.378],[.297,-.203],[.122,-.204],[0,-.08],[-.122,-.204],[-.297,-.203],[-.296,-.378],[-.42,-.5],[-.296,-.622],[-.297,-.797],[-.122,-.796],[-0,-.92],[.122,-.796],[.297,-.797],[.296,-.622]],fill:S.metal,main:!0},{kind:"circle",c:[0,-.5],r:.12,fill:S.paper}],database:[{kind:"polygon",points:[[-.35,-.8],[.35,-.8],[.35,-.16],[-.35,-.16]],fill:S.screen,main:!0},{kind:"polygon",points:[[.35,-.8],[.303,-.755],[.175,-.722],[0,-.71],[-.175,-.722],[-.303,-.755],[-.35,-.8],[-.303,-.845],[-.175,-.878],[-0,-.89],[.175,-.878],[.303,-.845]],fill:S.metal},{kind:"curve",points:[[-.35,-.16],[0,-.06],[.35,-.16]]},{kind:"curve",points:[[-.35,-.58],[0,-.48],[.35,-.58]]},{kind:"curve",points:[[-.35,-.37],[0,-.27],[.35,-.37]]}],robot:[M([0,-.95],[0,-1]),T(-.22,-.95,.44,.3,S.metal),{kind:"circle",c:[-.09,-.81],r:.045,fill:S.screen},{kind:"circle",c:[.09,-.81],r:.045,fill:S.screen},T(-.28,-.62,.56,.42,S.metal,!0),M([-.28,-.55],[-.42,-.35]),M([.28,-.55],[.42,-.35]),T(-.2,-.2,.12,.2,S.device),T(.08,-.2,.12,.2,S.device)],ship:[{kind:"polygon",points:[[-.48,-.3],[.48,-.3],[.36,-.04],[-.4,-.04]],fill:S.car,main:!0},T(-.42,-.62,.14,.32,S.wall),T(-.24,-.5,.2,.2,S.roof),T(-.02,-.5,.2,.2,S.bus),T(.2,-.5,.2,.2,S.green),{kind:"curve",points:[[-.5,0],[-.3,-.04],[-.1,0],[.1,-.04],[.3,0],[.5,-.04]]}],container:[T(-.46,-.52,.92,.52,S.roof,!0),...[-.3,-.15,0,.15,.3].map(t=>M([t,-.48],[t,-.04]))],warehouse:[{kind:"polygon",points:[[-.46,0],[.46,0],[.46,-.55],[0,-.82],[-.46,-.55]],fill:S.wall,main:!0},T(-.2,-.38,.4,.38,S.metal),M([-.2,-.26],[.2,-.26]),M([-.2,-.13],[.2,-.13])],box:[T(-.36,-.5,.52,.5,S.wood,!0),{kind:"polygon",points:[[-.36,-.5],[.16,-.5],[.36,-.64],[-.16,-.64]],fill:S.wood},{kind:"polygon",points:[[.16,0],[.36,-.14],[.36,-.64],[.16,-.5]],fill:S.wood},M([-.1,-.5],[.1,-.64])],pallet:[T(-.46,-.12,.92,.06,S.wood),...[-.42,-.05,.32].map(t=>T(t,-.06,.1,.06,S.wood)),T(-.42,-.5,.4,.38,S.wood,!0),T(.02,-.5,.4,.38,S.wood),T(-.2,-.82,.4,.32,S.wood)],shop:[T(-.42,-.6,.84,.6,S.wall,!0),{kind:"polygon",points:[[-.48,-.6],[.48,-.6],[.42,-.78],[-.42,-.78]],fill:S.roof},T(-.34,-.48,.34,.26,S.screen),T(.08,-.42,.24,.42,S.wood)],shelf:[T(-.4,-.92,.8,.92,S.paper,!0),M([-.4,-.62],[.4,-.62]),M([-.4,-.32],[.4,-.32]),T(-.32,-.8,.16,.18,S.roof),T(-.1,-.78,.14,.16,S.bus),T(.1,-.5,.22,.18,S.green),T(-.3,-.2,.24,.2,S.wood)],field:[M([-.48,0],[.48,0]),...[-.3,0,.3].flatMap(t=>[{kind:"curve",points:[[t,0],[t-.02,-.25],[t,-.5]]},{kind:"circle",c:[t-.08,-.32],r:.07,fill:S.green,main:!0},{kind:"circle",c:[t+.08,-.42],r:.07,fill:S.green,main:!0},{kind:"circle",c:[t,-.52],r:.06,fill:S.roof}])],cup:[{kind:"polygon",points:[[-.26,-.52],[.26,-.52],[.2,-.1],[-.2,-.1]],fill:S.paper,main:!0},{kind:"curve",points:[[.24,-.44],[.4,-.38],[.22,-.2]]},{kind:"polygon",points:[[-.46,-.1],[.46,-.1],[.36,0],[-.36,0]],fill:S.paper},{kind:"curve",points:[[-.08,-.62],[-.02,-.72],[-.08,-.84]]},{kind:"curve",points:[[.08,-.62],[.14,-.72],[.08,-.84]]}],function:[T(-.38,-.72,.76,.62,S.screen,!0),M([-.14,-.62],[0,-.62],[.14,-.2]),M([.02,-.42],[-.14,-.2])],"api-gateway":[T(-.12,-.8,.24,.8,S.metal,!0),M([-.48,-.55],[-.16,-.55]),M([-.24,-.62],[-.16,-.55],[-.24,-.48]),M([.16,-.3],[.48,-.3]),M([.4,-.37],[.48,-.3],[.4,-.23])],cache:[T(-.34,-.66,.68,.66,S.metal,!0),{kind:"polygon",points:[[.04,-.58],[-.12,-.3],[0,-.3],[-.06,-.08],[.14,-.38],[.02,-.38]],fill:S.gold}],cluster:[{kind:"curve",points:[[-.4,-.8],[0,-.86],[.4,-.8],[.48,-.45],[.4,-.1],[0,-.04],[-.4,-.1],[-.48,-.45],[-.4,-.8]]},T(-.3,-.7,.24,.2,S.screen,!0),T(.06,-.7,.24,.2,S.screen,!0),T(-.12,-.38,.24,.2,S.screen,!0)],board:[T(-.48,-.9,.96,.6,S.board,!0),T(-.34,-.76,.42,.03,S.chalk),T(-.34,-.62,.58,.03,S.chalk),T(-.34,-.48,.3,.03,S.chalk),M([-.3,-.3],[-.36,0]),M([.3,-.3],[.36,0])],book:[{kind:"polygon",points:[[0,-.62],[-.46,-.7],[-.46,-.1],[0,-.04]],fill:S.paper,main:!0},{kind:"polygon",points:[[0,-.62],[.46,-.7],[.46,-.1],[0,-.04]],fill:S.paper,main:!0},M([-.36,-.52],[-.1,-.48]),M([-.36,-.38],[-.1,-.34]),M([.1,-.48],[.36,-.52]),M([.1,-.34],[.36,-.38])],pencil:[{kind:"polygon",points:[[-.38,-.12],[.22,-.72],[.34,-.6],[-.26,0]],fill:S.bus,main:!0},{kind:"polygon",points:[[.22,-.72],[.34,-.6],[.44,-.86]],fill:S.wood},{kind:"polygon",points:[[-.38,-.12],[-.26,0],[-.46,-.02]],fill:S.roof}]},il=["happy","sad","surprised","worried","idea"],Id={person:[0,-.87,.11],"person-pointing":[0,-.87,.11],"person-sitting":[-.08,-.9,.1]},rl=t=>{let e=Gs(t);return!!e&&e in Id};var ol=["spin","drive","steam","talk","pulse","float"],Pd=["lesson","pitch","arch","decision","data","timeline","story"],al=8,ll=6,cl=2e5,ul=6e5,fl=24;var dl=["card","line","arrow","polyline","polygon","curve","circle","ellipse","plot","text","highlight","pause","prop","repeat","when","move","link","counter","row","column","grid","axis","timeline","balloon","brace","note","table","bars","chain","animate","lottie"],ot=["text","prop","card","counter","circle","ellipse"],pl=["row","column","grid","chain"],Md=50;function z(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e}: expected an object.`)}function K(t,e){if(typeof t!="string"||!t.trim()||t.length>2e3)throw new Error(`${e}: expected text of 1 to 2000 characters.`)}function _(t,e,s=-1e4,n=1e4){if(typeof t!="number"||!Number.isFinite(t)||t<s||t>n)throw new Error(`${e}: expected a number between ${s} and ${n}.`)}function Q(t,e){if(typeof t=="string"){if(K(t,e),t.length>300)throw new Error(`${e}: expression too long.`)}else _(t,e)}function H(t,e){if(!Array.isArray(t)||t.length!==2)throw new Error(`${e}: expected [x, y].`);t.forEach((s,n)=>Q(s,`${e}[${n}]`))}function oe(t,e){t!==void 0&&K(t,e)}function Z(t,e,s){if(t!==void 0&&(typeof t!="string"||!e.includes(t)))throw new Error(`${s}: choose one of ${e.join(", ")}.`)}function Js(t){if(!/^[A-Za-z_][A-Za-z_0-9]*$/.test(t)||["__proto__","constructor","prototype",...el].includes(t))throw new Error(`Invalid variable name: "${t}".`)}var at=(t,e)=>e.includes("{")||t.exact.has(e)||[...t.repeated].some(s=>e.startsWith(`${s}-`)&&/^\d+$/.test(e.slice(s.length+1)));function Be(t,e,s,n){n&&t[e]===void 0&&(t[e]=[0,0]),H(t[e],`${s}.${e}`)}function Kt(t,e,s,n,i=!1){if(z(t,e),++s.count>500)throw new Error(`${e}: a recipe draws at most 500 steps, counting those inside repeat and when.`);if(n){for(let a of["chapter","say","duration"])if(t[a]!==void 0)throw new Error(`${e}.${a}: put it on the ${n} step itself, not on a step inside it.`);if(t.type==="pause")throw new Error(`${e}: a pause cannot go inside ${n}.`);if(t.type==="repeat"&&n==="repeat")throw new Error(`${e}: a repeat cannot go inside another repeat.`);if(pl.includes(n)&&t.place!==void 0)throw new Error(`${e}.place: the ${n} places the steps inside it.`)}if(!dl.includes(t.type))throw new Error(`${e}: unknown type "${t.type}".`);for(let a of["id","say","chapter"])oe(t[a],`${e}.${a}`);if(t.duration!==void 0&&_(t.duration,`${e}.duration`,0,3e4),t.nudge!==void 0){if(["pause","move","link","animate"].includes(t.type))throw new Error(`${e}.nudge: a ${t.type} has no place of its own to move.`);if(!Array.isArray(t.nudge)||t.nudge.length!==2)throw new Error(`${e}.nudge: use [dx, dy].`);t.nudge.forEach((a,l)=>_(a,`${e}.nudge[${l}]`,-900,900))}let r=n!==null&&pl.includes(n)||i;if(t.place!==void 0){if(!ot.includes(t.type))throw new Error(`${e}.place: only ${ot.join(", ")} can be placed.`);if(z(t.place,`${e}.place`),K(t.place.to,`${e}.place.to`),!at(s,String(t.place.to)))throw new Error(`${e}.place.to: no earlier step has the id "${t.place.to}".`);if(!["below","above","left","right"].includes(t.place.side))throw new Error(`${e}.place.side: choose one of below, above, left, right.`);t.place.gap!==void 0&&_(t.place.gap,`${e}.place.gap`,-200,400),Z(t.place.align,["center","start","end"],`${e}.place.align`)}let o=r||t.place!==void 0;if(t.style!==void 0){z(t.style,`${e}.style`);for(let a of["color","fill"]){let l=t.style[a];if(l!==void 0&&(typeof l!="string"||!/^(#[\da-f]{3,8}|[a-z]+)$/i.test(l)))throw new Error(`${e}.style.${a}: use a hex colour or a colour name, no URLs.`)}for(let a of["width","roughness","bowing"])t.style[a]!==void 0&&_(t.style[a],`${e}.style.${a}`,0,20);if(t.style.opacity!==void 0&&_(t.style.opacity,`${e}.style.opacity`,0,1),t.style.dashed!==void 0&&typeof t.style.dashed!="boolean")throw new Error(`${e}: dashed must be a boolean.`);Z(t.style.fillStyle,["hachure","solid","zigzag","cross-hatch","dots"],`${e}.style.fillStyle`)}switch(t.type){case"line":case"arrow":case"highlight":H(t.from,`${e}.from`),H(t.to,`${e}.to`),t.thickness!==void 0&&_(t.thickness,`${e}.thickness`,1,200);break;case"polyline":case"polygon":case"curve":if(!Array.isArray(t.points)||t.points.length<(t.type==="polygon"?3:2)||t.points.length>500)throw new Error(`${e}: points needs ${t.type==="polygon"?3:2} to 500 points.`);t.points.forEach((a,l)=>H(a,`${e}.points[${l}]`));break;case"circle":case"ellipse":Be(t,"center",e,o);for(let a of t.type==="circle"?["r"]:["rx","ry"])Q(t[a],`${e}.${a}`),typeof t[a]=="number"&&_(t[a],`${e}.${a}`,0);break;case"text":Be(t,"at",e,o),K(t.text,`${e}.text`),t.size!==void 0&&_(t.size,`${e}.size`,1,200),t.rotate!==void 0&&_(t.rotate,`${e}.rotate`,-360,360),Z(t.font,["hand","body"],`${e}.font`),Z(t.anchor,["start","middle","end"],`${e}.anchor`);break;case"card":Be(t,"at",e,o),Q(t.w,`${e}.w`),Q(t.h,`${e}.h`);for(let a of["w","h"])typeof t[a]=="number"&&_(t[a],`${e}.${a}`,40);if(K(t.title,`${e}.title`),t.lines!==void 0){if(!Array.isArray(t.lines)||t.lines.length>6)throw new Error(`${e}: at most 6 lines per card.`);t.lines.forEach((a,l)=>K(a,`${e}.lines[${l}]`))}break;case"plot":K(t.fn,`${e}.fn`),t.var!==void 0&&(K(t.var,`${e}.var`),Js(String(t.var))),H(t.domain,`${e}.domain`),H(t.range,`${e}.range`),z(t.box,`${e}.box`);for(let a of["x","y","w","h"])Q(t.box[a],`${e}.box.${a}`);if(t.samples!==void 0&&(_(t.samples,`${e}.samples`,2,1e3),!Number.isInteger(t.samples)))throw new Error(`${e}: samples must be an integer.`);break;case"pause":_(t.ms,`${e}.ms`,0,3e4),oe(t.ask,`${e}.ask`);break;case"prop":if(!sl(t.name)&&!s.figures.has(String(t.name))){let a=s.figures.size?`, or one the recipe defines (${[...s.figures].join(", ")})`:"";throw new Error(`${e}.name: unknown prop "${String(t.name)}"; use one of ${Ui.join(", ")}${a}.`)}if(Be(t,"at",e,o),t.size!==void 0&&(Q(t.size,`${e}.size`),typeof t.size=="number"&&_(t.size,`${e}.size`,10,1e3)),oe(t.label,`${e}.label`),t.flip!==void 0&&typeof t.flip!="boolean")throw new Error(`${e}.flip: expected true or false.`);if(t.mood!==void 0){if(!rl(t.name))throw new Error(`${e}.mood: only a person (person, person-pointing, person-sitting) has a face.`);Z(t.mood,il,`${e}.mood`)}break;case"repeat":if(Q(t.times,`${e}.times`),typeof t.times=="number"&&(_(t.times,`${e}.times`,0,Md),!Number.isInteger(t.times)))throw new Error(`${e}.times: expected a whole number.`);Kt(t.step,`${e}.step`,s,"repeat",r);break;case"when":if(Q(t.if,`${e}.if`),!Array.isArray(t.steps)||t.steps.length===0||t.steps.length>50)throw new Error(`${e}.steps: expected 1 to 50 steps.`);t.steps.forEach((a,l)=>Kt(a,`${e}.steps[${l}]`,s,n??"when"));break;case"move":if(K(t.target,`${e}.target`),!at(s,String(t.target)))throw new Error(`${e}.target: no earlier step has the id "${t.target}".`);H(t.to,`${e}.to`),Z(t.along,["line","curve"],`${e}.along`),t.ms!==void 0&&_(t.ms,`${e}.ms`,200,5e3);break;case"lottie":if(K(t.src,`${e}.src`),H(t.at,`${e}.at`),t.size!==void 0&&(Q(t.size,`${e}.size`),typeof t.size=="number"&&_(t.size,`${e}.size`,24,1e3)),t.loop!==void 0&&typeof t.loop!="boolean")throw new Error(`${e}.loop: expected true or false.`);break;case"animate":if(K(t.target,`${e}.target`),!at(s,String(t.target)))throw new Error(`${e}.target: no earlier step has the id "${t.target}".`);if(Z(t.effect,[...ol,"stop"],`${e}.effect`),t.effect===void 0)throw new Error(`${e}.effect: choose one of ${[...ol,"stop"].join(", ")}.`);Z(t.speed,["slow","fast"],`${e}.speed`);break;case"link":for(let a of["from","to"])if(K(t[a],`${e}.${a}`),!at(s,String(t[a])))throw new Error(`${e}.${a}: no earlier step has the id "${t[a]}".`);oe(t.label,`${e}.label`);break;case"counter":if(Be(t,"at",e,o),Q(t.value,`${e}.value`),t.format!==void 0&&(K(t.format,`${e}.format`),!String(t.format).includes("{v")))throw new Error(`${e}.format: show the number as {v}, e.g. "R$ {v:0}".`);t.size!==void 0&&_(t.size,`${e}.size`,1,200),Z(t.anchor,["start","middle","end"],`${e}.anchor`);break;case"row":case"column":case"grid":if(r)throw new Error(`${e}: a ${t.type} cannot go inside another ${n}.`);if(Be(t,"at",e,!1),t.gap!==void 0&&_(t.gap,`${e}.gap`,0,400),t.type==="grid"){if(_(t.columns,`${e}.columns`,1,12),!Number.isInteger(t.columns))throw new Error(`${e}.columns: expected a whole number.`)}else Z(t.align,["center","start","end"],`${e}.align`);if(!Array.isArray(t.steps)||t.steps.length===0||t.steps.length>50)throw new Error(`${e}.steps: expected 1 to 50 steps.`);t.steps.forEach((a,l)=>{z(a,`${e}.steps[${l}]`);let c=a.type==="repeat"?a.step?.type:a.type;if(!ot.includes(c))throw new Error(`${e}.steps[${l}]: a ${t.type} holds only ${ot.join(", ")} (or a repeat of one).`);Kt(a,`${e}.steps[${l}]`,s,t.type)});break;case"chain":if(r)throw new Error(`${e}: a chain cannot go inside a ${n}.`);if(Be(t,"at",e,!1),t.gap!==void 0&&t.gap!=="auto"&&_(t.gap,`${e}.gap`,0,400),Z(t.direction,["right","down"],`${e}.direction`),t.wrap!==void 0&&typeof t.wrap!="boolean")throw new Error(`${e}.wrap: expected true or false.`);if(oe(t.forward,`${e}.forward`),oe(t.back,`${e}.back`),t.size!==void 0&&(Q(t.size,`${e}.size`),typeof t.size=="number"&&_(t.size,`${e}.size`,10,1e3)),!Array.isArray(t.steps)||t.steps.length<2||t.steps.length>12)throw new Error(`${e}.steps: a chain joins 2 to 12 pieces.`);t.steps.forEach((a,l)=>{if(z(a,`${e}.steps[${l}]`),!ot.includes(a.type))throw new Error(`${e}.steps[${l}]: a chain holds only ${ot.join(", ")}.`);Kt(a,`${e}.steps[${l}]`,s,"chain")});break;case"axis":case"timeline":if(H(t.from,`${e}.from`),H(t.to,`${e}.to`),H(t.domain,`${e}.domain`),t.type==="axis"){if(t.ticks!==void 0){if(Array.isArray(t.ticks)){if(t.ticks.length>30)throw new Error(`${e}.ticks: at most 30 marks.`);t.ticks.forEach((a,l)=>_(a,`${e}.ticks[${l}]`))}else if(_(t.ticks,`${e}.ticks`,0,30),!Number.isInteger(t.ticks))throw new Error(`${e}.ticks: expected a whole number.`)}if(oe(t.label,`${e}.label`),t.format!==void 0&&(K(t.format,`${e}.format`),!String(t.format).includes("{v")))throw new Error(`${e}.format: show the number as {v}, e.g. "{v} km".`)}else{if(!Array.isArray(t.marks)||t.marks.length===0||t.marks.length>20)throw new Error(`${e}.marks: expected 1 to 20 marks.`);t.marks.forEach((a,l)=>{z(a,`${e}.marks[${l}]`),Q(a.at,`${e}.marks[${l}].at`),oe(a.label,`${e}.marks[${l}].label`),oe(a.text,`${e}.marks[${l}].text`)})}break;case"balloon":if(K(t.to,`${e}.to`),!at(s,String(t.to)))throw new Error(`${e}.to: no earlier step has the id "${t.to}".`);if(K(t.text,`${e}.text`),String(t.text).length>300)throw new Error(`${e}.text: keep a balloon under 300 characters.`);Z(t.side,["below","above","left","right"],`${e}.side`),Z(t.kind,["speech","thought"],`${e}.kind`),t.width!==void 0&&_(t.width,`${e}.width`,80,600),t.size!==void 0&&_(t.size,`${e}.size`,12,60);break;case"brace":if(H(t.from,`${e}.from`),H(t.to,`${e}.to`),oe(t.label,`${e}.label`),t.flip!==void 0&&typeof t.flip!="boolean")throw new Error(`${e}.flip: expected true or false.`);break;case"note":if(H(t.at,`${e}.at`),K(t.text,`${e}.text`),t.to===void 0==(t.point===void 0))throw new Error(`${e}: a note points either to an element (to) or to a point (point).`);if(t.to!==void 0){if(K(t.to,`${e}.to`),!at(s,String(t.to)))throw new Error(`${e}.to: no earlier step has the id "${t.to}".`)}else H(t.point,`${e}.point`);t.size!==void 0&&_(t.size,`${e}.size`,12,60);break;case"table":if(H(t.at,`${e}.at`),!Array.isArray(t.rows)||t.rows.length===0||t.rows.length>12)throw new Error(`${e}.rows: expected 1 to 12 rows.`);if(t.rows.forEach((a,l)=>{if(!Array.isArray(a)||a.length===0||a.length>6)throw new Error(`${e}.rows[${l}]: expected 1 to 6 cells.`);a.forEach((c,p)=>{if(typeof c!="string"||c.length>120)throw new Error(`${e}.rows[${l}][${p}]: expected text of up to 120 characters.`)})}),t.header!==void 0&&typeof t.header!="boolean")throw new Error(`${e}.header: expected true or false.`);t.size!==void 0&&_(t.size,`${e}.size`,12,40);break;case"bars":z(t.box,`${e}.box`);for(let a of["x","y","w","h"])Q(t.box[a],`${e}.box.${a}`);if(!Array.isArray(t.values)||t.values.length===0||t.values.length>12)throw new Error(`${e}.values: expected 1 to 12 values.`);if(t.values.forEach((a,l)=>Q(a,`${e}.values[${l}]`)),t.labels!==void 0){if(!Array.isArray(t.labels)||t.labels.length>t.values.length)throw new Error(`${e}.labels: at most one label per value.`);t.labels.forEach((a,l)=>K(a,`${e}.labels[${l}]`))}if(t.max!==void 0&&Q(t.max,`${e}.max`),t.format!==void 0&&(K(t.format,`${e}.format`),!String(t.format).includes("{v")))throw new Error(`${e}.format: show the number as {v}, e.g. "{v}%".`);break}typeof t.id=="string"&&(n==="repeat"?s.repeated:s.exact).add(t.id)}function Dd(t,e){let s=`defs.${t}`;if(!/^[a-z][a-z0-9-]{1,30}$/.test(t))throw new Error(`${s}: a figure's name is 2 to 31 lowercase letters, digits or -, starting with a letter.`);if(Gs(t)||Object.hasOwn(Vs,t)||dl.includes(t)||["define","title","param","switch","var"].includes(t))throw new Error(`${s}: "${t}" is already a prop or a step; choose another name.`);if(z(e,s),!Array.isArray(e.shapes)||e.shapes.length===0||e.shapes.length>fl)throw new Error(`${s}.shapes: expected 1 to ${fl} shapes.`);let n=(i,r)=>{if(typeof i!="number"||!Number.isInteger(i)||i<0||i>100)throw new Error(`${r}: expected a whole number from 0 to 100 (the figure's grid, y down; it stands at 50,100).`)};e.shapes.forEach((i,r)=>{let o=`${s}.shapes[${r}]`;if(z(i,o),i.fill!==void 0&&(typeof i.fill!="string"||!/^(#[0-9a-fA-F]{3,8}|[a-z]{3,20})$/.test(i.fill)))throw new Error(`${o}.fill: a colour, as hex or a plain name.`);if(i.kind==="circle"){if(!Array.isArray(i.c)||i.c.length!==2)throw new Error(`${o}.c: expected [x, y].`);i.c.forEach((l,c)=>n(l,`${o}.c[${c}]`)),n(i.r,`${o}.r`);return}if(!["polygon","polyline","curve"].includes(i.kind))throw new Error(`${o}.kind: choose one of polygon, polyline, curve, circle.`);let a=i.kind==="polygon"?3:2;if(!Array.isArray(i.points)||i.points.length<a||i.points.length>40)throw new Error(`${o}.points: a ${i.kind} takes ${a} to 40 points.`);i.points.forEach((l,c)=>{if(!Array.isArray(l)||l.length!==2)throw new Error(`${o}.points[${c}]: expected [x, y].`);l.forEach((p,f)=>n(p,`${o}.points[${c}][${f}]`))})})}function Wd(t,e){let s=`lottie "${t}"`;z(e,s);let n=JSON.stringify(e).length;if(n>cl)throw new Error(`${s}: ${Math.round(n/1e3)} KB; an animation can have at most ${cl/1e3} KB.`);for(let r of["fr","ip","op","w","h"])_(e[r],`${s}.${r}`,0,1e5);if(typeof e.v!="string"||!Array.isArray(e.layers))throw new Error(`${s}: not a Lottie animation (it needs v and layers).`);let i=(r,o)=>{if(Array.isArray(r))return r.forEach((a,l)=>i(a,`${o}[${l}]`));if(!(!r||typeof r!="object"))for(let[a,l]of Object.entries(r)){if(a==="x"&&typeof l=="string")throw new Error(`${s}: the animation has an expression (code inside it, at ${o}); only animations without expressions play.`);i(l,`${o}.${a}`)}};i(e.layers,"layers");for(let r of Array.isArray(e.assets)?e.assets:[]){let o=r?.p;if(typeof o=="string"&&o&&!o.startsWith("data:")&&!Array.isArray(r.layers))throw new Error(`${s}: an image from outside the animation ("${o.slice(0,40)}"); only images inside it (data:) are kept.`)}return n}function _d(t){z(t,"The recipe");let e=t;_(e.width,"width",100,4e3),_(e.height,"height",100,4e3);for(let i of["id","title","category"])oe(e[i],i);if(e.locale!==void 0&&!(typeof e.locale=="string"&&/^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$/.test(e.locale)&&Intl.NumberFormat.supportedLocalesOf([e.locale]).length>0))throw new Error('locale: expected a language tag such as "en-US" or "pt-BR".');if(Z(e.background,["dots","grid","plain"],"background"),Z(e.kind,Pd,"kind"),oe(e.source,"source"),e.quiz!==void 0&&e.kind!==void 0&&e.kind!=="lesson")throw new Error(`quiz: only a lesson has a quiz (this drawing is a ${e.kind}).`);if(Z(e.theme,["paper","chalkboard"],"theme"),e.quiz!==void 0){if(z(e.quiz,"quiz"),K(e.quiz.question,"quiz.question"),!Array.isArray(e.quiz.options)||e.quiz.options.length<2||e.quiz.options.length>4)throw new Error("quiz.options: expected 2 to 4 options.");if(e.quiz.options.forEach((i,r)=>{if(z(i,`quiz.options[${r}]`),K(i.text,`quiz.options[${r}].text`),K(i.why,`quiz.options[${r}].why`),typeof i.right!="boolean")throw new Error(`quiz.options[${r}].right: expected true or false.`)}),e.quiz.options.filter(i=>i.right===!0).length!==1)throw new Error("quiz.options: exactly one option is right.")}if(e.learning!==void 0){z(e.learning,"learning");for(let i of["goal","question","answer","caveat"])K(e.learning[i],`learning.${i}`)}if(e.params!==void 0){z(e.params,"params");for(let[i,r]of Object.entries(e.params))if(Js(i),z(r,`params.${i}`),K(r.label,`params.${i}.label`),_(r.min,`${i}.min`),_(r.max,`${i}.max`),_(r.step,`${i}.step`,1e-6),_(r.value,`${i}.value`,r.min,r.max),r.max<=r.min)throw new Error(`${i}: max must be greater than min.`)}if(e.vars!==void 0){z(e.vars,"vars");for(let[i,r]of Object.entries(e.vars))Js(i),Q(r,`vars.${i}`)}if(e.switches!==void 0){z(e.switches,"switches");let i=Object.entries(e.switches);if(i.length>8)throw new Error("switches: at most 8.");for(let[r,o]of i){if(Js(r),Object.hasOwn(e.params??{},r)||Object.hasOwn(e.vars??{},r))throw new Error(`switches.${r}: the name is already a param or a var.`);if(z(o,`switches.${r}`),K(o.label,`switches.${r}.label`),typeof o.on!="boolean")throw new Error(`switches.${r}.on: expected true or false.`)}}if(!Array.isArray(e.steps)||e.steps.length===0||e.steps.length>250)throw new Error("A recipe needs 1 to 250 steps.");let s=new Set;if(e.defs!==void 0){z(e.defs,"defs");let i=Object.entries(e.defs);if(i.length>al)throw new Error(`defs: at most ${al} figures.`);for(let[r,o]of i)Dd(r,o),s.add(r)}if(e.lotties!==void 0){z(e.lotties,"lotties");let i=Object.entries(e.lotties);if(i.length>ll)throw new Error(`lotties: at most ${ll} animations.`);let r=i.reduce((o,[a,l])=>o+Wd(a,l),0);if(r>ul)throw new Error(`lotties: ${Math.round(r/1e3)} KB in all; at most ${ul/1e3} KB.`)}if(e.credits!==void 0){if(!Array.isArray(e.credits)||e.credits.length>5)throw new Error("credits: at most 5 lines.");e.credits.forEach((i,r)=>K(i,`credits[${r}]`))}let n={exact:new Set,repeated:new Set,count:0,figures:s};return e.steps.forEach((i,r)=>Kt(i,`Step ${r+1}`,n,null)),{...e,id:e.id??"pasted",title:e.title??"",background:e.background??"dots"}}export{Mi as STAGE_DOOR,fd as applyRows,_i as checkWay,sd as exportWay,xd as fromSheets,hd as itemName,Fi as problemText,rd as readWay,ji as reviewWay,Ha as sheetKeyOf,dd as show,_d as validateScene,ud as wayDiff,Cd as wayLesson,kd as workbookOf,Od as xlsx};