@citolab/qti-components 6.9.1-beta.35 → 6.9.1-beta.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-H5LB6SRI.js +24 -0
- package/dist/index.global.js +1 -1
- package/dist/index.js +1 -1
- package/dist/qti-components/index.js +1 -1
- package/dist/qti-loader/index.js +1 -1
- package/dist/qti-transformers/index.d.ts +5 -0
- package/dist/qti-transformers/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-IGGKUARK.js +0 -24
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var g=String.raw,b=()=>{let e,n={async load(t,s=!1){return new Promise((r,o)=>{u(t,s).then(i=>(e=i,r(n)))})},parse(t){return e=p(t),n},path:t=>(d(e,t),n),fn(t){return t(e),n},pciHooks(t){let s=["hook","module"],r=t.substring(0,t.lastIndexOf("/"));for(let o of s)e.querySelectorAll("["+o+"]").forEach(a=>{let m=a.getAttribute(o);!m.startsWith("data:")&&!m.startsWith("http")&&(a.setAttribute("base-url",t),a.setAttribute("module",r+"/"+encodeURI(m+(m.endsWith(".js")?"":".js"))))});return n},customTypes:(t="type")=>{let s=(r,o)=>{let i=document.createElement(o);return[...r.attributes].forEach(a=>i.setAttribute(a.name,a.value)),i.append(...r.childNodes),i};e.querySelectorAll("*").forEach(r=>{[...r.classList].filter(o=>o.startsWith(`${t}:`)).forEach(o=>{let i=`${r.nodeName}-${o.slice(t.length).toUpperCase()}`;r.replaceWith(s(r,i))})})},customInteraction(t,s){let r=e.querySelector("qti-custom-interaction"),o=r.querySelector("object");return r.setAttribute("data-base-ref",t),r.setAttribute("data-base-item",t+s),r.setAttribute("data",o.getAttribute("data")),r.setAttribute("width",o.getAttribute("width")),r.setAttribute("height",o.getAttribute("height")),r.removeChild(o),n},convertCDATAtoComment(){return x(e),n},stripStyleSheets(){return y(e),n},html(){return new XMLSerializer().serializeToString(c(e))},xml(){return new XMLSerializer().serializeToString(e)},htmldoc(){return c(e)},xmldoc(){return e}};return n},A=()=>{let e,n={async load(t){return new Promise((s,r)=>{u(t).then(o=>(e=o,s(n)))})},parse(t){e=p(t)},assessmentTest(){let t=e.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:t.getAttribute("href"),identifier:t.getAttribute("identifier")}}};return n},T=()=>{let e,n={async load(t){return new Promise((s,r)=>{u(t).then(o=>(e=o,s(n)))})},parse(t){return e=p(t),n},fn(t){return t(e),n},items(){return h(e)},html(){return new XMLSerializer().serializeToString(c(e))},xml(){return new XMLSerializer().serializeToString(e)},htmldoc(){return c(e)},xmldoc(){return e}};return n},f=g`<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
2
|
+
<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
|
|
3
|
+
<xsl:template match="@*|node()">
|
|
4
|
+
<xsl:copy>
|
|
5
|
+
<xsl:apply-templates select="@*|node()"/>
|
|
6
|
+
</xsl:copy>
|
|
7
|
+
</xsl:template>
|
|
8
|
+
|
|
9
|
+
<!-- remove existing namespaces -->
|
|
10
|
+
<xsl:template match="*">
|
|
11
|
+
<!-- remove element prefix -->
|
|
12
|
+
<xsl:element name="{local-name()}">
|
|
13
|
+
<!-- process attributes -->
|
|
14
|
+
<xsl:for-each select="@*">
|
|
15
|
+
<!-- remove attribute prefix -->
|
|
16
|
+
<xsl:attribute name="{local-name()}">
|
|
17
|
+
<xsl:value-of select="."/>
|
|
18
|
+
</xsl:attribute>
|
|
19
|
+
</xsl:for-each>
|
|
20
|
+
<xsl:apply-templates/>
|
|
21
|
+
</xsl:element>
|
|
22
|
+
</xsl:template>
|
|
23
|
+
</xsl:stylesheet>`;function h(e){let n=[];return e.querySelectorAll("qti-assessment-item-ref").forEach(t=>{let s=t.getAttribute("identifier"),r=t.getAttribute("href"),o=t.getAttribute("category");n.push({identifier:s,href:r,category:o})}),n}var l=null;function u(e,n=!0){return n&&l!==null&&l.abort(),new Promise((t,s)=>{let r=new XMLHttpRequest;l=r,r.open("GET",e,!0),r.responseType="document",r.onload=()=>{r.status>=200&&r.status<300?t(r.responseXML):s(r.statusText)},r.onerror=()=>{s(r.statusText)},r.send()})}function p(e){return new DOMParser().parseFromString(e,"text/xml")}function c(e){let n=new XSLTProcessor,t=new DOMParser().parseFromString(f,"text/xml");return n.importStylesheet(t),n.transformToFragment(e,document)}function d(e,n){n.endsWith("/")||(n+="/"),e.querySelectorAll("[src],[href],[primary-path]").forEach(t=>{var o;let s="";t.getAttribute("src")&&(s="src"),t.getAttribute("href")&&(s="href"),t.getAttribute("primary-path")&&(s="primary-path");let r=(o=t.getAttribute(s))==null?void 0:o.trim();if(!r.startsWith("data:")&&!r.startsWith("http")){let i=n+encodeURI(r);t.setAttribute(s,i)}})}function x(e){e.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(t=>{let s=document.createComment(t.textContent);t.replaceChild(s,t.firstChild)})}function y(e){e.querySelectorAll("qti-stylesheet").forEach(n=>n.remove())}export{b as a,A as b,T as c};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xpYi9xdGktdHJhbnNmb3JtZXJzL3F0aS10cmFuc2Zvcm1lcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHhtbCA9IFN0cmluZy5yYXc7XG5cbi8qKlxuICogQnJvd3NlciBiYXNlZCBRVEktWE1MIHRvIEhUTUwgdHJhbnNmb3JtZXIuXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UsIHRyYW5zZm9ybSBhbmQgc2VyaWFsaXplIFFUSSBYTUwgaXRlbXMuXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlLCB0cmFuc2Zvcm0gYW5kIHNlcmlhbGl6ZSBRVEkgWE1MIGl0ZW1zLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHF0aVRyYW5zZm9ybWVyID0gcXRpVHJhbnNmb3JtSXRlbSgpO1xuICogYXdhaXQgcXRpVHJhbnNmb3JtZXIubG9hZCgncGF0aC90by94bWwvZmlsZS54bWwnKTtcbiAqIHF0aVRyYW5zZm9ybWVyLnBhdGgoJy9hc3Nlc3NtZW50SXRlbS9pdGVtQm9keScpO1xuICogY29uc3QgaHRtbCA9IHF0aVRyYW5zZm9ybWVyLmh0bWwoKTtcbiAqIGNvbnN0IHhtbCA9IHF0aVRyYW5zZm9ybWVyLnhtbCgpO1xuICogY29uc3QgaHRtbGRvYyA9IHF0aVRyYW5zZm9ybWVyLmh0bWxkb2MoKTtcbiAqIGNvbnN0IHhtbGRvYyA9IHF0aVRyYW5zZm9ybWVyLnhtbGRvYygpO1xuICpcbiAqIHF0aVRyYW5zZm9ybUl0ZW0oKS5wYXJzZShzdG9yeVhNTCkuaHRtbCgpXG4gKi9cblxuZXhwb3J0IGNvbnN0IHF0aVRyYW5zZm9ybUl0ZW0gPSAoKToge1xuICBsb2FkOiAodXJpOiBzdHJpbmcsIGNhbmNlbFByZXZpb3VzUmVxdWVzdD86IGJvb2xlYW4pID0+IFByb21pc2U8dHlwZW9mIGFwaT47XG4gIHBhcnNlOiAoeG1sU3RyaW5nOiBzdHJpbmcpID0+IHR5cGVvZiBhcGk7XG4gIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBmbjogKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSA9PiB0eXBlb2YgYXBpO1xuICBjdXN0b21JbnRlcmFjdGlvbjogKGJhc2VSZWY6IHN0cmluZywgYmFzZUl0ZW06IHN0cmluZykgPT4gdHlwZW9mIGFwaTtcbiAgaHRtbDogKCkgPT4gc3RyaW5nO1xuICB4bWw6ICgpID0+IHN0cmluZztcbiAgaHRtbGRvYzogKCkgPT4gRG9jdW1lbnRGcmFnbWVudDtcbiAgeG1sZG9jOiAoKSA9PiBYTUxEb2N1bWVudDtcbn0gPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50O1xuXG4gIGNvbnN0IGFwaSA9IHtcbiAgICBhc3luYyBsb2FkKHVyaTogc3RyaW5nLCBjYW5jZWxQcmV2aW91c1JlcXVlc3QgPSBmYWxzZSkge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHR5cGVvZiBhcGk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbG9hZFhNTCh1cmksIGNhbmNlbFByZXZpb3VzUmVxdWVzdCkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmc6IHN0cmluZykge1xuICAgICAgeG1sRnJhZ21lbnQgPSBwYXJzZVhNTCh4bWxTdHJpbmcpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRMb2NhdGlvbih4bWxGcmFnbWVudCwgbG9jYXRpb24pO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGZuKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSB7XG4gICAgICBmbih4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgcGNpSG9va3ModXJpOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBbJ2hvb2snLCAnbW9kdWxlJ107XG4gICAgICBjb25zdCBkb2N1bWVudFBhdGggPSB1cmkuc3Vic3RyaW5nKDAsIHVyaS5sYXN0SW5kZXhPZignLycpKTtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3Qgc3JjQXR0cmlidXRlcyA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgYXR0cmlidXRlICsgJ10nKTtcbiAgICAgICAgc3JjQXR0cmlidXRlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgIGNvbnN0IHNyY1ZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSE7XG4gICAgICAgICAgaWYgKCFzcmNWYWx1ZS5zdGFydHNXaXRoKCdkYXRhOicpICYmICFzcmNWYWx1ZS5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgICAgIC8vIEp1c3QgcGFzdGUgdGhlIHJlbGF0aXZlIHBhdGggb2YgdGhlIHNyYyBsb2NhdGlvbiBhZnRlciB0aGUgZG9jdW1lbnRyb290UGF0aFxuICAgICAgICAgICAgLy8gb2xkIHBjaXMgY2FuIGhhdmUgYSAuanMsIG5ldyBwY2kncyBkb24ndFxuICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2Jhc2UtdXJsJywgdXJpKTtcbiAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAnbW9kdWxlJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRQYXRoICsgJy8nICsgZW5jb2RlVVJJKHNyY1ZhbHVlICsgKHNyY1ZhbHVlLmVuZHNXaXRoKCcuanMnKSA/ICcnIDogJy5qcycpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGN1c3RvbVR5cGVzOiAocGFyYW06IHN0cmluZyA9ICd0eXBlJykgPT4ge1xuICAgICAgY29uc3QgY3JlYXRlRWxlbWVudFdpdGhOZXdUYWdOYW1lID0gKGVsZW1lbnQsIG5ld1RhZ05hbWUpID0+IHtcbiAgICAgICAgY29uc3QgbmV3RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmV3VGFnTmFtZSk7XG4gICAgICAgIFsuLi5lbGVtZW50LmF0dHJpYnV0ZXNdLmZvckVhY2goYXR0ciA9PiBuZXdFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpKTtcbiAgICAgICAgbmV3RWxlbWVudC5hcHBlbmQoLi4uZWxlbWVudC5jaGlsZE5vZGVzKTtcbiAgICAgICAgcmV0dXJuIG5ld0VsZW1lbnQ7XG4gICAgICB9O1xuXG4gICAgICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcqJykuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgWy4uLmVsZW1lbnQuY2xhc3NMaXN0XVxuICAgICAgICAgIC5maWx0ZXIoY2xzID0+IGNscy5zdGFydHNXaXRoKGAke3BhcmFtfTpgKSlcbiAgICAgICAgICAuZm9yRWFjaChjbHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VGFnTmFtZSA9IGAke2VsZW1lbnQubm9kZU5hbWV9LSR7Y2xzLnNsaWNlKHBhcmFtLmxlbmd0aCkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgZWxlbWVudC5yZXBsYWNlV2l0aChjcmVhdGVFbGVtZW50V2l0aE5ld1RhZ05hbWUoZWxlbWVudCwgbmV3VGFnTmFtZSkpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBjdXN0b21JbnRlcmFjdGlvbihiYXNlUmVmOiBzdHJpbmcsIGJhc2VJdGVtOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHF0aUN1c3RvbUludGVyYWN0aW9uID0geG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvcigncXRpLWN1c3RvbS1pbnRlcmFjdGlvbicpO1xuICAgICAgY29uc3QgcXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QgPSBxdGlDdXN0b21JbnRlcmFjdGlvbi5xdWVyeVNlbGVjdG9yKCdvYmplY3QnKTtcblxuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24uc2V0QXR0cmlidXRlKCdkYXRhLWJhc2UtcmVmJywgYmFzZVJlZik7XG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ2RhdGEtYmFzZS1pdGVtJywgYmFzZVJlZiArIGJhc2VJdGVtKTtcbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YScsIHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0LmdldEF0dHJpYnV0ZSgnZGF0YScpKTtcbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdC5nZXRBdHRyaWJ1dGUoJ3dpZHRoJykpO1xuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24uc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdC5nZXRBdHRyaWJ1dGUoJ2hlaWdodCcpKTtcblxuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24ucmVtb3ZlQ2hpbGQocXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGNvbnZlcnRDREFUQXRvQ29tbWVudCgpIHtcbiAgICAgIGNvbnZlcnRDREFUQXRvQ29tbWVudCh4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgc3RyaXBTdHlsZVNoZWV0cygpIHtcbiAgICAgIHN0cmlwU3R5bGVTaGVldHMoeG1sRnJhZ21lbnQpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGh0bWwoKSB7XG4gICAgICByZXR1cm4gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyh0b0hUTUwoeG1sRnJhZ21lbnQpKTtcbiAgICB9LFxuICAgIHhtbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoeG1sRnJhZ21lbnQpO1xuICAgIH0sXG4gICAgaHRtbGRvYygpIHtcbiAgICAgIHJldHVybiB0b0hUTUwoeG1sRnJhZ21lbnQpO1xuICAgIH0sXG4gICAgeG1sZG9jKCk6IFhNTERvY3VtZW50IHtcbiAgICAgIHJldHVybiB4bWxGcmFnbWVudDsgLy8gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyh4bWxGcmFnbWVudCk7XG4gICAgfVxuICB9O1xuICByZXR1cm4gYXBpO1xufTtcblxuZXhwb3J0IGNvbnN0IHF0aVRyYW5zZm9ybU1hbmlmZXN0ID0gKCk6IHtcbiAgbG9hZDogKHVyaTogc3RyaW5nKSA9PiBQcm9taXNlPHR5cGVvZiBhcGk+O1xuICBhc3Nlc3NtZW50VGVzdDogKCkgPT4geyBocmVmOiBzdHJpbmc7IGlkZW50aWZpZXI6IHN0cmluZyB9O1xufSA9PiB7XG4gIGxldCB4bWxGcmFnbWVudDogWE1MRG9jdW1lbnQ7XG5cbiAgY29uc3QgYXBpID0ge1xuICAgIGFzeW5jIGxvYWQodXJpKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dHlwZW9mIGFwaT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2FkWE1MKHVyaSkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmc6IHN0cmluZykge1xuICAgICAgeG1sRnJhZ21lbnQgPSBwYXJzZVhNTCh4bWxTdHJpbmcpO1xuICAgIH0sXG4gICAgYXNzZXNzbWVudFRlc3QoKSB7XG4gICAgICBjb25zdCBlbCA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Jlc291cmNlW3R5cGU9XCJpbXNxdGlfdGVzdF94bWx2M3AwXCJdJyk7XG4gICAgICByZXR1cm4geyBocmVmOiBlbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSwgaWRlbnRpZmllcjogZWwuZ2V0QXR0cmlidXRlKCdpZGVudGlmaWVyJykgfTtcbiAgICB9XG4gIH07XG4gIHJldHVybiBhcGk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JqZWN0IHdpdGggbWV0aG9kcyB0byBsb2FkLCBwYXJzZSBhbmQgdHJhbnNmb3JtIFFUSSB0ZXN0cy5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UgYW5kIHRyYW5zZm9ybSBRVEkgdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcXRpVHJhbnNmb3JtZXIgPSBxdGlUcmFuc2Zvcm1UZXN0KCk7XG4gKiBhd2FpdCBxdGlUcmFuc2Zvcm1lci5sb2FkKCdodHRwczovL2V4YW1wbGUuY29tL3Rlc3QueG1sJyk7XG4gKiBjb25zdCBpdGVtcyA9IHF0aVRyYW5zZm9ybWVyLml0ZW1zKCk7XG4gKiBjb25zdCBodG1sID0gcXRpVHJhbnNmb3JtZXIuaHRtbCgpO1xuICogY29uc3QgeG1sID0gcXRpVHJhbnNmb3JtZXIueG1sKCk7XG4gKi9cbmV4cG9ydCBjb25zdCBxdGlUcmFuc2Zvcm1UZXN0ID0gKCk6IHtcbiAgbG9hZDogKHVyaTogc3RyaW5nKSA9PiBQcm9taXNlPHR5cGVvZiBhcGk+O1xuICBwYXJzZTogKHhtbFN0cmluZzogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBmbjogKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSA9PiB0eXBlb2YgYXBpO1xuICBpdGVtczogKCkgPT4geyBpZGVudGlmaWVyOiBzdHJpbmc7IGhyZWY6IHN0cmluZzsgY2F0ZWdvcnk6IHN0cmluZyB9W107XG4gIGh0bWw6ICgpID0+IHN0cmluZztcbiAgeG1sOiAoKSA9PiBzdHJpbmc7XG4gIGh0bWxkb2M6ICgpID0+IERvY3VtZW50RnJhZ21lbnQ7XG4gIHhtbGRvYzogKCkgPT4gWE1MRG9jdW1lbnQ7XG59ID0+IHtcbiAgbGV0IHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudDtcblxuICBjb25zdCBhcGkgPSB7XG4gICAgYXN5bmMgbG9hZCh1cmkpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx0eXBlb2YgYXBpPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxvYWRYTUwodXJpKS50aGVuKHhtbCA9PiB7XG4gICAgICAgICAgeG1sRnJhZ21lbnQgPSB4bWw7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUoYXBpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHBhcnNlKHhtbFN0cmluZzogc3RyaW5nKSB7XG4gICAgICB4bWxGcmFnbWVudCA9IHBhcnNlWE1MKHhtbFN0cmluZyk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgZm4oZm46ICh4bWxGcmFnbWVudDogWE1MRG9jdW1lbnQpID0+IHZvaWQpIHtcbiAgICAgIGZuKHhtbEZyYWdtZW50KTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBpdGVtcygpIHtcbiAgICAgIHJldHVybiBpdGVtc0Zyb21UZXN0KHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIGh0bWwoKSB7XG4gICAgICByZXR1cm4gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyh0b0hUTUwoeG1sRnJhZ21lbnQpKTtcbiAgICB9LFxuICAgIHhtbCgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoeG1sRnJhZ21lbnQpO1xuICAgIH0sXG4gICAgaHRtbGRvYygpIHtcbiAgICAgIHJldHVybiB0b0hUTUwoeG1sRnJhZ21lbnQpO1xuICAgIH0sXG4gICAgeG1sZG9jKCk6IFhNTERvY3VtZW50IHtcbiAgICAgIHJldHVybiB4bWxGcmFnbWVudDtcbiAgICB9XG4gIH07XG4gIHJldHVybiBhcGk7XG59O1xuXG4vKiAgIDwhLS0gY29udmVydCBDREFUQSB0byBjb21tZW50cyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cInRleHQoKVtjb250YWlucyguLCAnQ0RBVEEnKV1cIj5cbiAgPHhzbDpjb21tZW50PlxuICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PVwiLlwiLz5cbiAgPC94c2w6Y29tbWVudD5cbjwveHNsOnRlbXBsYXRlPlxuKi9cblxuLypcbiAgPCEtLSByZW1vdmUgeG1sIGNvbW1lbnRzIC0tPlxuICA8eHNsOnRlbXBsYXRlIG1hdGNoPVwiY29tbWVudCgpXCIgLz5cbiAgKi9cblxuY29uc3QgeG1sVG9IVE1MID0geG1sYDx4c2w6c3R5bGVzaGVldCB2ZXJzaW9uPVwiMS4wXCIgeG1sbnM6eHNsPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtXCI+XG48eHNsOm91dHB1dCBtZXRob2Q9XCJodG1sXCIgdmVyc2lvbj1cIjUuMFwiIGVuY29kaW5nPVwiVVRGLThcIiBpbmRlbnQ9XCJ5ZXNcIiAvPlxuICA8eHNsOnRlbXBsYXRlIG1hdGNoPVwiQCp8bm9kZSgpXCI+XG4gICAgPHhzbDpjb3B5PlxuICAgICAgPHhzbDphcHBseS10ZW1wbGF0ZXMgc2VsZWN0PVwiQCp8bm9kZSgpXCIvPlxuICAgIDwveHNsOmNvcHk+XG4gIDwveHNsOnRlbXBsYXRlPlxuXG4gIDwhLS0gcmVtb3ZlIGV4aXN0aW5nIG5hbWVzcGFjZXMgLS0+XG4gIDx4c2w6dGVtcGxhdGUgbWF0Y2g9XCIqXCI+XG4gICAgPCEtLSByZW1vdmUgZWxlbWVudCBwcmVmaXggLS0+XG4gICAgPHhzbDplbGVtZW50IG5hbWU9XCJ7bG9jYWwtbmFtZSgpfVwiPlxuICAgICAgPCEtLSBwcm9jZXNzIGF0dHJpYnV0ZXMgLS0+XG4gICAgICA8eHNsOmZvci1lYWNoIHNlbGVjdD1cIkAqXCI+XG4gICAgICAgIDwhLS0gcmVtb3ZlIGF0dHJpYnV0ZSBwcmVmaXggLS0+XG4gICAgICAgIDx4c2w6YXR0cmlidXRlIG5hbWU9XCJ7bG9jYWwtbmFtZSgpfVwiPlxuICAgICAgICAgIDx4c2w6dmFsdWUtb2Ygc2VsZWN0PVwiLlwiLz5cbiAgICAgICAgPC94c2w6YXR0cmlidXRlPlxuICAgICAgPC94c2w6Zm9yLWVhY2g+XG4gICAgPHhzbDphcHBseS10ZW1wbGF0ZXMvPlxuICA8L3hzbDplbGVtZW50PlxuPC94c2w6dGVtcGxhdGU+XG48L3hzbDpzdHlsZXNoZWV0PmA7XG5cbmZ1bmN0aW9uIGl0ZW1zRnJvbVRlc3QoeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQpIHtcbiAgY29uc3QgaXRlbXM6IHsgaWRlbnRpZmllcjogc3RyaW5nOyBocmVmOiBzdHJpbmc7IGNhdGVnb3J5OiBzdHJpbmcgfVtdID0gW107XG4gIHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3F0aS1hc3Nlc3NtZW50LWl0ZW0tcmVmJykuZm9yRWFjaChlbCA9PiB7XG4gICAgY29uc3QgaWRlbnRpZmllciA9IGVsLmdldEF0dHJpYnV0ZSgnaWRlbnRpZmllcicpO1xuICAgIGNvbnN0IGhyZWYgPSBlbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICBjb25zdCBjYXRlZ29yeSA9IGVsLmdldEF0dHJpYnV0ZSgnY2F0ZWdvcnknKTtcbiAgICBpdGVtcy5wdXNoKHsgaWRlbnRpZmllciwgaHJlZiwgY2F0ZWdvcnkgfSk7XG4gIH0pO1xuICByZXR1cm4gaXRlbXM7XG59XG5cbmxldCBjdXJyZW50UmVxdWVzdDogWE1MSHR0cFJlcXVlc3QgfCBudWxsID0gbnVsbDtcblxuZnVuY3Rpb24gbG9hZFhNTCh1cmwsIGNhbmNlbFByZXZpb3VzUmVxdWVzdCA9IHRydWUpIHtcbiAgaWYgKGNhbmNlbFByZXZpb3VzUmVxdWVzdCAmJiBjdXJyZW50UmVxdWVzdCAhPT0gbnVsbCkge1xuICAgIGN1cnJlbnRSZXF1ZXN0LmFib3J0KCk7IC8vIEFib3J0IHRoZSBvbmdvaW5nIHJlcXVlc3QgaWYgdGhlcmUgaXMgb25lXG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2U8WE1MRG9jdW1lbnQgfCBudWxsPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgY3VycmVudFJlcXVlc3QgPSB4aHI7IC8vIFN0b3JlIHRoZSBjdXJyZW50IHJlcXVlc3RcblxuICAgIHhoci5vcGVuKCdHRVQnLCB1cmwsIHRydWUpO1xuICAgIHhoci5yZXNwb25zZVR5cGUgPSAnZG9jdW1lbnQnO1xuXG4gICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIGlmICh4aHIuc3RhdHVzID49IDIwMCAmJiB4aHIuc3RhdHVzIDwgMzAwKSB7XG4gICAgICAgIHJlc29sdmUoeGhyLnJlc3BvbnNlWE1MKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlamVjdCh4aHIuc3RhdHVzVGV4dCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHhoci5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgcmVqZWN0KHhoci5zdGF0dXNUZXh0KTtcbiAgICB9O1xuXG4gICAgeGhyLnNlbmQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlWE1MKHhtbERvY3VtZW50OiBzdHJpbmcpIHtcbiAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICBjb25zdCB4bWxGcmFnbWVudCA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoeG1sRG9jdW1lbnQsICd0ZXh0L3htbCcpO1xuICByZXR1cm4geG1sRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIHRvSFRNTCh4bWxGcmFnbWVudDogRG9jdW1lbnQpOiBEb2N1bWVudEZyYWdtZW50IHtcbiAgY29uc3QgcHJvY2Vzc29yID0gbmV3IFhTTFRQcm9jZXNzb3IoKTtcbiAgY29uc3QgeHNsdERvY3VtZW50ID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyh4bWxUb0hUTUwsICd0ZXh0L3htbCcpO1xuICBwcm9jZXNzb3IuaW1wb3J0U3R5bGVzaGVldCh4c2x0RG9jdW1lbnQpO1xuICBjb25zdCBpdGVtSFRNTEZyYWdtZW50ID0gcHJvY2Vzc29yLnRyYW5zZm9ybVRvRnJhZ21lbnQoeG1sRnJhZ21lbnQsIGRvY3VtZW50KTtcbiAgcmV0dXJuIGl0ZW1IVE1MRnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIHNldExvY2F0aW9uKHhtbEZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50LCBsb2NhdGlvbjogc3RyaW5nKSB7XG4gIGlmICghbG9jYXRpb24uZW5kc1dpdGgoJy8nKSkge1xuICAgIGxvY2F0aW9uICs9ICcvJztcbiAgfVxuXG4gIHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tzcmNdLFtocmVmXSxbcHJpbWFyeS1wYXRoXScpLmZvckVhY2goZWxXaXRoU3JjID0+IHtcbiAgICBsZXQgYXR0cjogJ3NyYycgfCAnaHJlZicgfCAncHJpbWFyeS1wYXRoJyB8ICcnID0gJyc7XG5cbiAgICBpZiAoZWxXaXRoU3JjLmdldEF0dHJpYnV0ZSgnc3JjJykpIHtcbiAgICAgIGF0dHIgPSAnc3JjJztcbiAgICB9XG4gICAgaWYgKGVsV2l0aFNyYy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSkge1xuICAgICAgYXR0ciA9ICdocmVmJztcbiAgICB9XG4gICAgaWYgKGVsV2l0aFNyYy5nZXRBdHRyaWJ1dGUoJ3ByaW1hcnktcGF0aCcpKSB7XG4gICAgICBhdHRyID0gJ3ByaW1hcnktcGF0aCc7XG4gICAgfVxuICAgIGNvbnN0IGF0dHJWYWx1ZSA9IGVsV2l0aFNyYy5nZXRBdHRyaWJ1dGUoYXR0cik/LnRyaW0oKTtcblxuICAgIGlmICghYXR0clZhbHVlLnN0YXJ0c1dpdGgoJ2RhdGE6JykgJiYgIWF0dHJWYWx1ZS5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIGNvbnN0IG5ld1NyY1ZhbHVlID0gbG9jYXRpb24gKyBlbmNvZGVVUkkoYXR0clZhbHVlKTtcbiAgICAgIGVsV2l0aFNyYy5zZXRBdHRyaWJ1dGUoYXR0ciwgbmV3U3JjVmFsdWUpO1xuICAgIH1cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRDREFUQXRvQ29tbWVudCh4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCkge1xuICBjb25zdCBjZGF0YUVsZW1lbnRzID0geG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvckFsbCgncXRpLWN1c3RvbS1vcGVyYXRvcltjbGFzcz1cImpzLm9yZ1wiXSA+IHF0aS1iYXNlLXZhbHVlJyk7XG4gIGNkYXRhRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb21tZW50VGV4dCA9IGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoZWxlbWVudC50ZXh0Q29udGVudCk7XG4gICAgZWxlbWVudC5yZXBsYWNlQ2hpbGQoY29tbWVudFRleHQsIGVsZW1lbnQuZmlyc3RDaGlsZCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzdHJpcFN0eWxlU2hlZXRzKHhtbEZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50KSB7XG4gIC8vIHJlbW92ZSBxdGktc3R5bGVzaGVldCB0YWdcbiAgeG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvckFsbCgncXRpLXN0eWxlc2hlZXQnKS5mb3JFYWNoKHN0eWxlc2hlZXQgPT4gc3R5bGVzaGVldC5yZW1vdmUoKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxJQUFNQSxFQUFNLE9BQU8sSUFrQk5DLEVBQW1CLElBVTNCLENBQ0gsSUFBSUMsRUFFRUMsRUFBTSxDQUNWLE1BQU0sS0FBS0MsRUFBYUMsRUFBd0IsR0FBTyxDQUNyRCxPQUFPLElBQUksUUFBb0IsQ0FBQ0MsRUFBU0MsSUFBVyxDQUNsREMsRUFBUUosRUFBS0MsQ0FBcUIsRUFBRSxLQUFLTCxJQUN2Q0UsRUFBY0YsRUFDUE0sRUFBUUgsQ0FBRyxFQUNuQixDQUNILENBQUMsQ0FDSCxFQUNBLE1BQU1NLEVBQW1CLENBQ3ZCLE9BQUFQLEVBQWNRLEVB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OUUsQ0FFQSxTQUFTVSxFQUFZVixFQUErQlMsRUFBa0IsQ0FDL0RBLEVBQVMsU0FBUyxHQUFHLElBQ3hCQSxHQUFZLEtBR2RULEVBQVksaUJBQWlCLDZCQUE2QixFQUFFLFFBQVE4QyxHQUFhLENBblRuRixJQUFBQyxFQW9USSxJQUFJekIsRUFBNkMsR0FFN0N3QixFQUFVLGFBQWEsS0FBSyxJQUM5QnhCLEVBQU8sT0FFTHdCLEVBQVUsYUFBYSxNQUFNLElBQy9CeEIsRUFBTyxRQUVMd0IsRUFBVSxhQUFhLGNBQWMsSUFDdkN4QixFQUFPLGdCQUVULElBQU0wQixHQUFZRCxFQUFBRCxFQUFVLGFBQWF4QixDQUFJLElBQTNCLFlBQUF5QixFQUE4QixPQUVoRCxHQUFJLENBQUNDLEVBQVUsV0FBVyxPQUFPLEdBQUssQ0FBQ0EsRUFBVSxXQUFXLE1BQU0sRUFBRyxDQUNuRSxJQUFNQyxFQUFjeEMsRUFBVyxVQUFVdUMsQ0FBUyxFQUNsREYsRUFBVSxhQUFheEIsRUFBTTJCLENBQVcsQ0FDMUMsQ0FDRixDQUFDLENBQ0gsQ0FFQSxTQUFTckIsRUFBc0I1QixFQUErQixDQUN0Q0EsRUFBWSxpQkFBaUIsc0RBQXNELEVBQzNGLFFBQVFtQixHQUFXLENBQy9CLElBQU0rQixFQUFjLFNBQVMsY0FBYy9CLEVBQVEsV0FBVyxFQUM5REEsRUFBUSxhQUFhK0IsRUFBYS9CLEVBQVEsVUFBVSxDQUN0RCxDQUFDLENBQ0gsQ0FFQSxTQUFTVSxFQUFpQjdCLEVBQStCLENBRXZEQSxFQUFZLGlCQUFpQixnQkFBZ0IsRUFBRSxRQUFRbUQsR0FBY0EsRUFBVyxPQUFPLENBQUMsQ0FDMUYiLAogICJuYW1lcyI6IFsieG1sIiwgInF0aVRyYW5zZm9ybUl0ZW0iLCAieG1sRnJhZ21lbnQiLCAiYXBpIiwgInVyaSIsICJjYW5jZWxQcmV2aW91c1JlcXVlc3QiLCAicmVzb2x2ZSIsICJyZWplY3QiLCAibG9hZFhNTCIsICJ4bWxTdHJpbmciLCAicGFyc2VYTUwiLCAibG9jYXRpb24iLCAic2V0TG9jYXRpb24iLCAiZm4iLCAiYXR0cmlidXRlcyIsICJkb2N1bWVudFBhdGgiLCAiYXR0cmlidXRlIiwgIm5vZGUiLCAic3JjVmFsdWUiLCAicGFyYW0iLCAiY3JlYXRlRWxlbWVudFdpdGhOZXdUYWdOYW1lIiwgImVsZW1lbnQiLCAibmV3VGFnTmFtZSIsICJuZXdFbGVtZW50IiwgImF0dHIiLCAiY2xzIiwgImJhc2VSZWYiLCAiYmFzZUl0ZW0iLCAicXRpQ3VzdG9tSW50ZXJhY3Rpb24iLCAicXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QiLCAiY29udmVydENEQVRBdG9Db21tZW50IiwgInN0cmlwU3R5bGVTaGVldHMiLCAidG9IVE1MIiwgInF0aVRyYW5zZm9ybU1hbmlmZXN0IiwgImVsIiwgInF0aVRyYW5zZm9ybVRlc3QiLCAiaXRlbXNGcm9tVGVzdCIsICJ4bWxUb0hUTUwiLCAiaXRlbXMiLCAiaWRlbnRpZmllciIsICJocmVmIiwgImNhdGVnb3J5IiwgImN1cnJlbnRSZXF1ZXN0IiwgInVybCIsICJ4aHIiLCAieG1sRG9jdW1lbnQiLCAicHJvY2Vzc29yIiwgInhzbHREb2N1bWVudCIsICJlbFdpdGhTcmMiLCAiX2EiLCAiYXR0clZhbHVlIiwgIm5ld1NyY1ZhbHVlIiwgImNvbW1lbnRUZXh0IiwgInN0eWxlc2hlZXQiXQp9Cg==
|