@citolab/qti-components 6.9.1-beta.35 → 6.9.1-beta.37

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.
@@ -0,0 +1,24 @@
1
+ var f=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=>(y(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 d(e),n},stripStyleSheets(){return x(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},g=f`<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(g,"text/xml");return n.importStylesheet(t),n.transformToFragment(e,document)}function y(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 d(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 x(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+IHR5cGVvZiBhcGk7XG4gIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBmbjogKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSA9PiB0eXBlb2YgYXBpO1xuICBwY2lIb29rczogKHVyaTogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBjdXN0b21UeXBlczogKHBhcmFtOiBzdHJpbmcpID0+IHR5cGVvZiBhcGk7XG4gIGN1c3RvbUludGVyYWN0aW9uOiAoYmFzZVJlZjogc3RyaW5nLCBiYXNlSXRlbTogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQ6ICgpID0+IHR5cGVvZiBhcGk7XG4gIHN0cmlwU3R5bGVTaGVldHM6ICgpID0+IHR5cGVvZiBhcGk7XG4gIGh0bWw6ICgpID0+IHN0cmluZztcbiAgeG1sOiAoKSA9PiBzdHJpbmc7XG4gIGh0bWxkb2M6ICgpID0+IERvY3VtZW50RnJhZ21lbnQ7XG4gIHhtbGRvYzogKCkgPT4gWE1MRG9jdW1lbnQ7XG59ID0+IHtcbiAgbGV0IHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudDtcblxuICBjb25zdCBhcGkgPSB7XG4gICAgYXN5bmMgbG9hZCh1cmk6IHN0cmluZywgY2FuY2VsUHJldmlvdXNSZXF1ZXN0ID0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx0eXBlb2YgYXBpPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxvYWRYTUwodXJpLCBjYW5jZWxQcmV2aW91c1JlcXVlc3QpLnRoZW4oeG1sID0+IHtcbiAgICAgICAgICB4bWxGcmFnbWVudCA9IHhtbDtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShhcGkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcGFyc2UoeG1sU3RyaW5nOiBzdHJpbmcpOiB0eXBlb2YgYXBpIHtcbiAgICAgIHhtbEZyYWdtZW50ID0gcGFyc2VYTUwoeG1sU3RyaW5nKTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBwYXRoOiAobG9jYXRpb246IHN0cmluZyk6IHR5cGVvZiBhcGkgPT4ge1xuICAgICAgc2V0TG9jYXRpb24oeG1sRnJhZ21lbnQsIGxvY2F0aW9uKTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBmbihmbjogKHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudCkgPT4gdm9pZCk6IHR5cGVvZiBhcGkge1xuICAgICAgZm4oeG1sRnJhZ21lbnQpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIHBjaUhvb2tzKHVyaTogc3RyaW5nKTogdHlwZW9mIGFwaSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gWydob29rJywgJ21vZHVsZSddO1xuICAgICAgY29uc3QgZG9jdW1lbnRQYXRoID0gdXJpLnN1YnN0cmluZygwLCB1cmkubGFzdEluZGV4T2YoJy8nKSk7XG4gICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICAgIGNvbnN0IHNyY0F0dHJpYnV0ZXMgPSB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbJyArIGF0dHJpYnV0ZSArICddJyk7XG4gICAgICAgIHNyY0F0dHJpYnV0ZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICBjb25zdCBzcmNWYWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSkhO1xuICAgICAgICAgIGlmICghc3JjVmFsdWUuc3RhcnRzV2l0aCgnZGF0YTonKSAmJiAhc3JjVmFsdWUuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgICAgICAvLyBKdXN0IHBhc3RlIHRoZSByZWxhdGl2ZSBwYXRoIG9mIHRoZSBzcmMgbG9jYXRpb24gYWZ0ZXIgdGhlIGRvY3VtZW50cm9vdFBhdGhcbiAgICAgICAgICAgIC8vIG9sZCBwY2lzIGNhbiBoYXZlIGEgLmpzLCBuZXcgcGNpJ3MgZG9uJ3RcbiAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKCdiYXNlLXVybCcsIHVyaSk7XG4gICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgJ21vZHVsZScsXG4gICAgICAgICAgICAgIGRvY3VtZW50UGF0aCArICcvJyArIGVuY29kZVVSSShzcmNWYWx1ZSArIChzcmNWYWx1ZS5lbmRzV2l0aCgnLmpzJykgPyAnJyA6ICcuanMnKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBjdXN0b21UeXBlczogKHBhcmFtOiBzdHJpbmcgPSAndHlwZScpOiB0eXBlb2YgYXBpID0+IHtcbiAgICAgIGNvbnN0IGNyZWF0ZUVsZW1lbnRXaXRoTmV3VGFnTmFtZSA9IChlbGVtZW50LCBuZXdUYWdOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KG5ld1RhZ05hbWUpO1xuICAgICAgICBbLi4uZWxlbWVudC5hdHRyaWJ1dGVzXS5mb3JFYWNoKGF0dHIgPT4gbmV3RWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0ci5uYW1lLCBhdHRyLnZhbHVlKSk7XG4gICAgICAgIG5ld0VsZW1lbnQuYXBwZW5kKC4uLmVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgICAgIHJldHVybiBuZXdFbGVtZW50O1xuICAgICAgfTtcblxuICAgICAgeG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvckFsbCgnKicpLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgIFsuLi5lbGVtZW50LmNsYXNzTGlzdF1cbiAgICAgICAgICAuZmlsdGVyKGNscyA9PiBjbHMuc3RhcnRzV2l0aChgJHtwYXJhbX06YCkpXG4gICAgICAgICAgLmZvckVhY2goY2xzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1RhZ05hbWUgPSBgJHtlbGVtZW50Lm5vZGVOYW1lfS0ke2Nscy5zbGljZShwYXJhbS5sZW5ndGgpLnRvVXBwZXJDYXNlKCl9YDtcbiAgICAgICAgICAgIGVsZW1lbnQucmVwbGFjZVdpdGgoY3JlYXRlRWxlbWVudFdpdGhOZXdUYWdOYW1lKGVsZW1lbnQsIG5ld1RhZ05hbWUpKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY3VzdG9tSW50ZXJhY3Rpb24oYmFzZVJlZjogc3RyaW5nLCBiYXNlSXRlbTogc3RyaW5nKTogdHlwZW9mIGFwaSB7XG4gICAgICBjb25zdCBxdGlDdXN0b21JbnRlcmFjdGlvbiA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3IoJ3F0aS1jdXN0b20taW50ZXJhY3Rpb24nKTtcbiAgICAgIGNvbnN0IHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0ID0gcXRpQ3VzdG9tSW50ZXJhY3Rpb24ucXVlcnlTZWxlY3Rvcignb2JqZWN0Jyk7XG5cbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1iYXNlLXJlZicsIGJhc2VSZWYpO1xuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24uc2V0QXR0cmlidXRlKCdkYXRhLWJhc2UtaXRlbScsIGJhc2VSZWYgKyBiYXNlSXRlbSk7XG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ2RhdGEnLCBxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdC5nZXRBdHRyaWJ1dGUoJ2RhdGEnKSk7XG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgcXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QuZ2V0QXR0cmlidXRlKCd3aWR0aCcpKTtcbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgcXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSk7XG5cbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnJlbW92ZUNoaWxkKHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0KTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQoKTogdHlwZW9mIGFwaSB7XG4gICAgICBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQoeG1sRnJhZ21lbnQpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIHN0cmlwU3R5bGVTaGVldHMoKTogdHlwZW9mIGFwaSB7XG4gICAgICBzdHJpcFN0eWxlU2hlZXRzKHhtbEZyYWdtZW50KTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBodG1sKCkge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcodG9IVE1MKHhtbEZyYWdtZW50KSk7XG4gICAgfSxcbiAgICB4bWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIGh0bWxkb2MoKSB7XG4gICAgICByZXR1cm4gdG9IVE1MKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIHhtbGRvYygpOiBYTUxEb2N1bWVudCB7XG4gICAgICByZXR1cm4geG1sRnJhZ21lbnQ7IC8vIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoeG1sRnJhZ21lbnQpO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGFwaTtcbn07XG5cbmV4cG9ydCBjb25zdCBxdGlUcmFuc2Zvcm1NYW5pZmVzdCA9ICgpOiB7XG4gIGxvYWQ6ICh1cmk6IHN0cmluZykgPT4gUHJvbWlzZTx0eXBlb2YgYXBpPjtcbiAgYXNzZXNzbWVudFRlc3Q6ICgpID0+IHsgaHJlZjogc3RyaW5nOyBpZGVudGlmaWVyOiBzdHJpbmcgfTtcbn0gPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50O1xuXG4gIGNvbnN0IGFwaSA9IHtcbiAgICBhc3luYyBsb2FkKHVyaSkge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHR5cGVvZiBhcGk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbG9hZFhNTCh1cmkpLnRoZW4oeG1sID0+IHtcbiAgICAgICAgICB4bWxGcmFnbWVudCA9IHhtbDtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShhcGkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcGFyc2UoeG1sU3RyaW5nOiBzdHJpbmcpIHtcbiAgICAgIHhtbEZyYWdtZW50ID0gcGFyc2VYTUwoeG1sU3RyaW5nKTtcbiAgICB9LFxuICAgIGFzc2Vzc21lbnRUZXN0KCkge1xuICAgICAgY29uc3QgZWwgPSB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yKCdyZXNvdXJjZVt0eXBlPVwiaW1zcXRpX3Rlc3RfeG1sdjNwMFwiXScpO1xuICAgICAgcmV0dXJuIHsgaHJlZjogZWwuZ2V0QXR0cmlidXRlKCdocmVmJyksIGlkZW50aWZpZXI6IGVsLmdldEF0dHJpYnV0ZSgnaWRlbnRpZmllcicpIH07XG4gICAgfVxuICB9O1xuICByZXR1cm4gYXBpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UgYW5kIHRyYW5zZm9ybSBRVEkgdGVzdHMuXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlIGFuZCB0cmFuc2Zvcm0gUVRJIHRlc3RzLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHF0aVRyYW5zZm9ybWVyID0gcXRpVHJhbnNmb3JtVGVzdCgpO1xuICogYXdhaXQgcXRpVHJhbnNmb3JtZXIubG9hZCgnaHR0cHM6Ly9leGFtcGxlLmNvbS90ZXN0LnhtbCcpO1xuICogY29uc3QgaXRlbXMgPSBxdGlUcmFuc2Zvcm1lci5pdGVtcygpO1xuICogY29uc3QgaHRtbCA9IHF0aVRyYW5zZm9ybWVyLmh0bWwoKTtcbiAqIGNvbnN0IHhtbCA9IHF0aVRyYW5zZm9ybWVyLnhtbCgpO1xuICovXG5leHBvcnQgY29uc3QgcXRpVHJhbnNmb3JtVGVzdCA9ICgpOiB7XG4gIGxvYWQ6ICh1cmk6IHN0cmluZykgPT4gUHJvbWlzZTx0eXBlb2YgYXBpPjtcbiAgcGFyc2U6ICh4bWxTdHJpbmc6IHN0cmluZykgPT4gdHlwZW9mIGFwaTtcbiAgZm46IChmbjogKHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudCkgPT4gdm9pZCkgPT4gdHlwZW9mIGFwaTtcbiAgaXRlbXM6ICgpID0+IHsgaWRlbnRpZmllcjogc3RyaW5nOyBocmVmOiBzdHJpbmc7IGNhdGVnb3J5OiBzdHJpbmcgfVtdO1xuICBodG1sOiAoKSA9PiBzdHJpbmc7XG4gIHhtbDogKCkgPT4gc3RyaW5nO1xuICBodG1sZG9jOiAoKSA9PiBEb2N1bWVudEZyYWdtZW50O1xuICB4bWxkb2M6ICgpID0+IFhNTERvY3VtZW50O1xufSA9PiB7XG4gIGxldCB4bWxGcmFnbWVudDogWE1MRG9jdW1lbnQ7XG5cbiAgY29uc3QgYXBpID0ge1xuICAgIGFzeW5jIGxvYWQodXJpKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dHlwZW9mIGFwaT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2FkWE1MKHVyaSkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmc6IHN0cmluZykge1xuICAgICAgeG1sRnJhZ21lbnQgPSBwYXJzZVhNTCh4bWxTdHJpbmcpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGZuKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSB7XG4gICAgICBmbih4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgaXRlbXMoKSB7XG4gICAgICByZXR1cm4gaXRlbXNGcm9tVGVzdCh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICBodG1sKCkge1xuICAgICAgcmV0dXJuIG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcodG9IVE1MKHhtbEZyYWdtZW50KSk7XG4gICAgfSxcbiAgICB4bWwoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIGh0bWxkb2MoKSB7XG4gICAgICByZXR1cm4gdG9IVE1MKHhtbEZyYWdtZW50KTtcbiAgICB9LFxuICAgIHhtbGRvYygpOiBYTUxEb2N1bWVudCB7XG4gICAgICByZXR1cm4geG1sRnJhZ21lbnQ7XG4gICAgfVxuICB9O1xuICByZXR1cm4gYXBpO1xufTtcblxuLyogICA8IS0tIGNvbnZlcnQgQ0RBVEEgdG8gY29tbWVudHMgLS0+XG4gIDx4c2w6dGVtcGxhdGUgbWF0Y2g9XCJ0ZXh0KClbY29udGFpbnMoLiwgJ0NEQVRBJyldXCI+XG4gIDx4c2w6Y29tbWVudD5cbiAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD1cIi5cIi8+XG4gIDwveHNsOmNvbW1lbnQ+XG48L3hzbDp0ZW1wbGF0ZT5cbiovXG5cbi8qXG4gIDwhLS0gcmVtb3ZlIHhtbCBjb21tZW50cyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cImNvbW1lbnQoKVwiIC8+XG4gICovXG5cbmNvbnN0IHhtbFRvSFRNTCA9IHhtbGA8eHNsOnN0eWxlc2hlZXQgdmVyc2lvbj1cIjEuMFwiIHhtbG5zOnhzbD1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybVwiPlxuPHhzbDpvdXRwdXQgbWV0aG9kPVwiaHRtbFwiIHZlcnNpb249XCI1LjBcIiBlbmNvZGluZz1cIlVURi04XCIgaW5kZW50PVwieWVzXCIgLz5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cIkAqfG5vZGUoKVwiPlxuICAgIDx4c2w6Y29weT5cbiAgICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzIHNlbGVjdD1cIkAqfG5vZGUoKVwiLz5cbiAgICA8L3hzbDpjb3B5PlxuICA8L3hzbDp0ZW1wbGF0ZT5cblxuICA8IS0tIHJlbW92ZSBleGlzdGluZyBuYW1lc3BhY2VzIC0tPlxuICA8eHNsOnRlbXBsYXRlIG1hdGNoPVwiKlwiPlxuICAgIDwhLS0gcmVtb3ZlIGVsZW1lbnQgcHJlZml4IC0tPlxuICAgIDx4c2w6ZWxlbWVudCBuYW1lPVwie2xvY2FsLW5hbWUoKX1cIj5cbiAgICAgIDwhLS0gcHJvY2VzcyBhdHRyaWJ1dGVzIC0tPlxuICAgICAgPHhzbDpmb3ItZWFjaCBzZWxlY3Q9XCJAKlwiPlxuICAgICAgICA8IS0tIHJlbW92ZSBhdHRyaWJ1dGUgcHJlZml4IC0tPlxuICAgICAgICA8eHNsOmF0dHJpYnV0ZSBuYW1lPVwie2xvY2FsLW5hbWUoKX1cIj5cbiAgICAgICAgICA8eHNsOnZhbHVlLW9mIHNlbGVjdD1cIi5cIi8+XG4gICAgICAgIDwveHNsOmF0dHJpYnV0ZT5cbiAgICAgIDwveHNsOmZvci1lYWNoPlxuICAgIDx4c2w6YXBwbHktdGVtcGxhdGVzLz5cbiAgPC94c2w6ZWxlbWVudD5cbjwveHNsOnRlbXBsYXRlPlxuPC94c2w6c3R5bGVzaGVldD5gO1xuXG5mdW5jdGlvbiBpdGVtc0Zyb21UZXN0KHhtbEZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50KSB7XG4gIGNvbnN0IGl0ZW1zOiB7IGlkZW50aWZpZXI6IHN0cmluZzsgaHJlZjogc3RyaW5nOyBjYXRlZ29yeTogc3RyaW5nIH1bXSA9IFtdO1xuICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdxdGktYXNzZXNzbWVudC1pdGVtLXJlZicpLmZvckVhY2goZWwgPT4ge1xuICAgIGNvbnN0IGlkZW50aWZpZXIgPSBlbC5nZXRBdHRyaWJ1dGUoJ2lkZW50aWZpZXInKTtcbiAgICBjb25zdCBocmVmID0gZWwuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBlbC5nZXRBdHRyaWJ1dGUoJ2NhdGVnb3J5Jyk7XG4gICAgaXRlbXMucHVzaCh7IGlkZW50aWZpZXIsIGhyZWYsIGNhdGVnb3J5IH0pO1xuICB9KTtcbiAgcmV0dXJuIGl0ZW1zO1xufVxuXG5sZXQgY3VycmVudFJlcXVlc3Q6IFhNTEh0dHBSZXF1ZXN0IHwgbnVsbCA9IG51bGw7XG5cbmZ1bmN0aW9uIGxvYWRYTUwodXJsLCBjYW5jZWxQcmV2aW91c1JlcXVlc3QgPSB0cnVlKSB7XG4gIGlmIChjYW5jZWxQcmV2aW91c1JlcXVlc3QgJiYgY3VycmVudFJlcXVlc3QgIT09IG51bGwpIHtcbiAgICBjdXJyZW50UmVxdWVzdC5hYm9ydCgpOyAvLyBBYm9ydCB0aGUgb25nb2luZyByZXF1ZXN0IGlmIHRoZXJlIGlzIG9uZVxuICB9XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlPFhNTERvY3VtZW50IHwgbnVsbD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIGN1cnJlbnRSZXF1ZXN0ID0geGhyOyAvLyBTdG9yZSB0aGUgY3VycmVudCByZXF1ZXN0XG5cbiAgICB4aHIub3BlbignR0VUJywgdXJsLCB0cnVlKTtcbiAgICB4aHIucmVzcG9uc2VUeXBlID0gJ2RvY3VtZW50JztcblxuICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBpZiAoeGhyLnN0YXR1cyA+PSAyMDAgJiYgeGhyLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICByZXNvbHZlKHhoci5yZXNwb25zZVhNTCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWplY3QoeGhyLnN0YXR1c1RleHQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB4aHIub25lcnJvciA9ICgpID0+IHtcbiAgICAgIHJlamVjdCh4aHIuc3RhdHVzVGV4dCk7XG4gICAgfTtcblxuICAgIHhoci5zZW5kKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXJzZVhNTCh4bWxEb2N1bWVudDogc3RyaW5nKSB7XG4gIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgY29uc3QgeG1sRnJhZ21lbnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHhtbERvY3VtZW50LCAndGV4dC94bWwnKTtcbiAgcmV0dXJuIHhtbEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiB0b0hUTUwoeG1sRnJhZ21lbnQ6IERvY3VtZW50KTogRG9jdW1lbnRGcmFnbWVudCB7XG4gIGNvbnN0IHByb2Nlc3NvciA9IG5ldyBYU0xUUHJvY2Vzc29yKCk7XG4gIGNvbnN0IHhzbHREb2N1bWVudCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeG1sVG9IVE1MLCAndGV4dC94bWwnKTtcbiAgcHJvY2Vzc29yLmltcG9ydFN0eWxlc2hlZXQoeHNsdERvY3VtZW50KTtcbiAgY29uc3QgaXRlbUhUTUxGcmFnbWVudCA9IHByb2Nlc3Nvci50cmFuc2Zvcm1Ub0ZyYWdtZW50KHhtbEZyYWdtZW50LCBkb2N1bWVudCk7XG4gIHJldHVybiBpdGVtSFRNTEZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBzZXRMb2NhdGlvbih4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCwgbG9jYXRpb246IHN0cmluZykge1xuICBpZiAoIWxvY2F0aW9uLmVuZHNXaXRoKCcvJykpIHtcbiAgICBsb2NhdGlvbiArPSAnLyc7XG4gIH1cblxuICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbc3JjXSxbaHJlZl0sW3ByaW1hcnktcGF0aF0nKS5mb3JFYWNoKGVsV2l0aFNyYyA9PiB7XG4gICAgbGV0IGF0dHI6ICdzcmMnIHwgJ2hyZWYnIHwgJ3ByaW1hcnktcGF0aCcgfCAnJyA9ICcnO1xuXG4gICAgaWYgKGVsV2l0aFNyYy5nZXRBdHRyaWJ1dGUoJ3NyYycpKSB7XG4gICAgICBhdHRyID0gJ3NyYyc7XG4gICAgfVxuICAgIGlmIChlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKCdocmVmJykpIHtcbiAgICAgIGF0dHIgPSAnaHJlZic7XG4gICAgfVxuICAgIGlmIChlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKCdwcmltYXJ5LXBhdGgnKSkge1xuICAgICAgYXR0ciA9ICdwcmltYXJ5LXBhdGgnO1xuICAgIH1cbiAgICBjb25zdCBhdHRyVmFsdWUgPSBlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKGF0dHIpPy50cmltKCk7XG5cbiAgICBpZiAoIWF0dHJWYWx1ZS5zdGFydHNXaXRoKCdkYXRhOicpICYmICFhdHRyVmFsdWUuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICBjb25zdCBuZXdTcmNWYWx1ZSA9IGxvY2F0aW9uICsgZW5jb2RlVVJJKGF0dHJWYWx1ZSk7XG4gICAgICBlbFdpdGhTcmMuc2V0QXR0cmlidXRlKGF0dHIsIG5ld1NyY1ZhbHVlKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0Q0RBVEF0b0NvbW1lbnQoeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQpIHtcbiAgY29uc3QgY2RhdGFFbGVtZW50cyA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3F0aS1jdXN0b20tb3BlcmF0b3JbY2xhc3M9XCJqcy5vcmdcIl0gPiBxdGktYmFzZS12YWx1ZScpO1xuICBjZGF0YUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgY29uc3QgY29tbWVudFRleHQgPSBkb2N1bWVudC5jcmVhdGVDb21tZW50KGVsZW1lbnQudGV4dENvbnRlbnQpO1xuICAgIGVsZW1lbnQucmVwbGFjZUNoaWxkKGNvbW1lbnRUZXh0LCBlbGVtZW50LmZpcnN0Q2hpbGQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gc3RyaXBTdHlsZVNoZWV0cyh4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCkge1xuICAvLyByZW1vdmUgcXRpLXN0eWxlc2hlZXQgdGFnXG4gIHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3F0aS1zdHlsZXNoZWV0JykuZm9yRWFjaChzdHlsZXNoZWV0ID0+IHN0eWxlc2hlZXQucmVtb3ZlKCkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsSUFBTUEsRUFBTSxPQUFPLElBa0JOQyxFQUFtQixJQWMzQixDQUNILElBQUlDLEVBRUVDLEVBQU0sQ0FDVixNQUFNLEtBQUtDLEVBQWFDLEVBQXdCLEdBQU8sQ0FDckQsT0FBTyxJQUFJLFFBQW9CLENBQUNDLEVBQVNDLElBQVcsQ0FDbERDLEVBQVFKLEVBQUtDLENBQXFCLEVBQUUsS0FBS0wsSUFDdkNFLEVBQWNGLEVBQ1BNLEVBQVFILENBQUcsRUFDbkIsQ0FDSCxDQUFDLENBQ0gsRUFDQSxNQUFNTSxFQUErQixDQUNuQyxPQUFBUCxFQUFjUSxFQUFTRCxDQUFTLEVBQ3pCTixDQUNULEVBQ0EsS0FBT1EsSUFDTEMsRUFBWVYsRUFBYVMsQ0FBUSxFQUMxQlIsR0FFVCxHQUFHVSxFQUFvRCxDQUNyRCxPQUFBQSxFQUFHWCxDQUFXLEVBQ1BDLENBQ1QsRUFDQSxTQUFTQyxFQUF5QixDQUNoQyxJQUFNVSxFQUFhLENBQUMsT0FBUSxRQUFRLEVBQzlCQyxFQUFlWCxFQUFJLFVBQVUsRUFBR0EsRUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUMxRCxRQUFXWSxLQUFhRixFQUNBWixFQUFZLGlCQUFpQixJQUFNYyxFQUFZLEdBQUcsRUFDMUQsUUFBUUMsR0FBUSxDQUM1QixJQUFNQyxFQUFXRCxFQUFLLGFBQWFELENBQVMsRUFDeEMsQ0FBQ0UsRUFBUyxXQUFXLE9BQU8sR0FBSyxDQUFDQSxFQUFTLFdBQVcsTUFBTSxJQUc5REQsRUFBSyxhQUFhLFdBQVliLENBQUcsRUFDakNhLEVBQUssYUFDSCxTQUNBRixFQUFlLElBQU0sVUFBVUcsR0FBWUEsRUFBUyxTQUFTLEtBQUssRUFBSSxHQUFLLE1BQU0sQ0FDbkYsRUFFSixDQUFDLEVBRUgsT0FBT2YsQ0FDVCxFQUNBLFlBQWEsQ0FBQ2dCLEVBQWdCLFNBQXVCLENBQ25ELElBQU1DLEVBQThCLENBQUNDLEVBQVNDLElBQWUsQ0FDM0QsSUFBTUMsRUFBYSxTQUFTLGNBQWNELENBQVUsRUFDcEQsT0FBQyxHQUFHRCxFQUFRLFVBQVUsRUFBRSxRQUFRRyxHQUFRRCxFQUFXLGFBQWFDLEVBQUssS0FBTUEsRUFBSyxLQUFLLENBQUMsRUFDdEZELEVBQVcsT0FBTyxHQUFHRixFQUFRLFVBQVUsRUFDaENFLENBQ1QsRUFFQXJCLEVBQVksaUJBQWlCLEdBQUcsRUFBRSxRQUFRbUIsR0FBVyxDQUNuRCxDQUFDLEdBQUdBLEVBQVEsU0FBUyxFQUNsQixPQUFPSSxHQUFPQSxFQUFJLFdBQVcsR0FBR04sQ0FBSyxHQUFHLENBQUMsRUFDekMsUUFBUU0sR0FBTyxDQUNkLElBQU1ILEVBQWEsR0FBR0QsRUFBUSxRQUFRLElBQUlJLEVBQUksTUFBTU4sRUFBTSxNQUFNLEVBQUUsWUFBWSxDQUFDLEdBQy9FRSxFQUFRLFlBQVlELEVBQTRCQyxFQUFTQyxDQUFVLENBQUMsQ0FDdEUsQ0FBQyxDQUNMLENBQUMsQ0FDSCxFQUNBLGtCQUFrQkksRUFBaUJDLEVBQThCLENBQy9ELElBQU1DLEVBQXVCMUIsRUFBWSxjQUFjLHdCQUF3QixFQUN6RTJCLEVBQTZCRCxFQUFxQixjQUFjLFFBQVEsRUFFOUUsT0FBQUEsRUFBcUIsYUFBYSxnQkFBaUJGLENBQU8sRUFDMURFLEVBQXFCLGFBQWEsaUJBQWtCRixFQUFVQyxDQUFRLEVBQ3RFQyxFQUFxQixhQUFhLE9BQVFDLEVBQTJCLGFBQWEsTUFBTSxDQUFDLEVBQ3pGRCxFQUFxQixhQUFhLFFBQVNDLEVBQTJCLGFBQWEsT0FBTyxDQUFDLEVBQzNGRCxFQUFxQixhQUFhLFNBQVVDLEVBQTJCLGFBQWEsUUFBUSxDQUFDLEVBRTdGRCxFQUFxQixZQUFZQyxDQUEwQixFQUNwRDFCLENBQ1QsRUFDQSx1QkFBb0MsQ0FDbEMsT0FBQTJCLEVBQXNCNUIsQ0FBVyxFQUMxQkMsQ0FDVCxFQUNBLGtCQUErQixDQUM3QixPQUFBNEIsRUFBaUI3QixDQUFXLEVBQ3JCQyxDQUNULEVBQ0EsTUFBTyxDQUNMLE9BQU8sSUFBSSxjQUFjLEVBQUUsa0JBQWtCNkIsRUFBTzlCLENBQVcsQ0FBQyxDQUNsRSxFQUNBLEtBQWMsQ0FDWixPQUFPLElBQUksY0FBYyxFQUFFLGtCQUFrQkEsQ0FBVyxDQUMxRCxFQUNBLFNBQVUsQ0FDUixPQUFPOEIsRUFBTzlCLENBQVcsQ0FDM0IsRUFDQSxRQUFzQixDQUNwQixPQUFPQSxDQUNULENBQ0YsRUFDQSxPQUFPQyxDQUNULEVBRWE4QixFQUF1QixJQUcvQixDQUNILElBQUkvQixFQUVFQyxFQUFNLENBQ1YsTUFBTSxLQUFLQyxFQUFLLENBQ2QsT0FBTyxJQUFJLFFBQW9CLENBQUNFLEVBQVNDLElBQVcsQ0FDbERDLEVBQVFKLENBQUcsRUFBRSxLQUFLSixJQUNoQkUsRUFBY0YsRUFDUE0sRUFBUUgsQ0FBRyxFQUNuQixDQUNILENBQUMsQ0FDSCxFQUNBLE1BQU1NLEVBQW1CLENBQ3ZCUCxFQUFjUSxFQUFTRCxDQUFTLENBQ2xDLEVBQ0EsZ0JBQWlCLENBQ2YsSUFBTXlCLEVBQUtoQyxFQUFZLGNBQWMsc0NBQXNDLEVBQzNFLE1BQU8sQ0FBRSxLQUFNZ0MsRUFBRyxhQUFhLE1BQU0sRUFBRyxXQUFZQSxFQUFHLGFBQWEsWUFBWSxDQUFFLENBQ3BGLENBQ0YsRUFDQSxPQUFPL0IsQ0FDVCxFQVlhZ0MsRUFBbUIsSUFTM0IsQ0FDSCxJQUFJakMsRUFFRUMsRUFBTSxDQUNWLE1BQU0sS0FBS0MsRUFBSyxDQUNkLE9BQU8sSUFBSSxRQUFvQixDQUFDRSxFQUFTQyxJQUFXLENBQ2xEQyxFQUFRSixDQUFHLEVBQUUsS0FBS0osSUFDaEJFLEVBQWNGLEVBQ1BNLEVBQVFILENBQUcsRUFDbkIsQ0FDSCxDQUFDLENBQ0gsRUFDQSxNQUFNTSxFQUFtQixDQUN2QixPQUFBUCxFQUFjUSxFQUFTRCxDQUFTLEVBQ3pCTixDQUNULEVBQ0EsR0FBR1UsRUFBd0MsQ0FDekMsT0FBQUEsRUFBR1gsQ0FBVyxFQUNQQyxDQUNULEVBQ0EsT0FBUSxDQUNOLE9BQU9pQyxFQUFjbEMsQ0FBVyxDQUNsQyxFQUNBLE1BQU8sQ0FDTCxPQUFPLElBQUksY0FBYyxFQUFFLGtCQUFrQjhCLEVBQU85QixDQUFXLENBQUMsQ0FDbEUsRUFDQSxLQUFjLENBQ1osT0FBTyxJQUFJLGNBQWMsRUFBRSxrQkFBa0JBLENBQVcsQ0FDMUQsRUFDQSxTQUFVLENBQ1IsT0FBTzhCLEVBQU85QixDQUFXLENBQzNCLEVBQ0EsUUFBc0IsQ0FDcEIsT0FBT0EsQ0FDVCxDQUNGLEVBQ0EsT0FBT0MsQ0FDVCxFQWVNa0MsRUFBWXJDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBd0JsQixTQUFTb0MsRUFBY2xDLEVBQStCLENBQ3BELElBQU1vQyxFQUFrRSxDQUFDLEVBQ3pFLE9BQUFwQyxFQUFZLGlCQUFpQix5QkFBeUIsRUFBRSxRQUFRZ0MsR0FBTSxDQUNwRSxJQUFNSyxFQUFhTCxFQUFHLGFBQWEsWUFBWSxFQUN6Q00sRUFBT04sRUFBRyxhQUFhLE1BQU0sRUFDN0JPLEVBQVdQLEVBQUcsYUFBYSxVQUFVLEVBQzNDSSxFQUFNLEtBQUssQ0FBRSxXQUFBQyxFQUFZLEtBQUFDLEVBQU0sU0FBQUMsQ0FBUyxDQUFDLENBQzNDLENBQUMsRUFDTUgsQ0FDVCxDQUVBLElBQUlJLEVBQXdDLEtBRTVDLFNBQVNsQyxFQUFRbUMsRUFBS3RDLEVBQXdCLEdBQU0sQ0FDbEQsT0FBSUEsR0FBeUJxQyxJQUFtQixNQUM5Q0EsRUFBZSxNQUFNLEVBR2hCLElBQUksUUFBNEIsQ0FBQ3BDLEVBQVNDLElBQVcsQ0FDMUQsSUFBTXFDLEVBQU0sSUFBSSxlQUNoQkYsRUFBaUJFLEVBRWpCQSxFQUFJLEtBQUssTUFBT0QsRUFBSyxFQUFJLEVBQ3pCQyxFQUFJLGFBQWUsV0FFbkJBLEVBQUksT0FBUyxJQUFNLENBQ2JBLEVBQUksUUFBVSxLQUFPQSxFQUFJLE9BQVMsSUFDcEN0QyxFQUFRc0MsRUFBSSxXQUFXLEVBRXZCckMsRUFBT3FDLEVBQUksVUFBVSxDQUV6QixFQUVBQSxFQUFJLFFBQVUsSUFBTSxDQUNsQnJDLEVBQU9xQyxFQUFJLFVBQVUsQ0FDdkIsRUFFQUEsRUFBSSxLQUFLLENBQ1gsQ0FBQyxDQUNILENBRUEsU0FBU2xDLEVBQVNtQyxFQUFxQixDQUdyQyxPQUZlLElBQUksVUFBVSxFQUNGLGdCQUFnQkEsRUFBYSxVQUFVLENBRXBFLENBRUEsU0FBU2IsRUFBTzlCLEVBQXlDLENBQ3ZELElBQU00QyxFQUFZLElBQUksY0FDaEJDLEVBQWUsSUFBSSxVQUFVLEVBQUUsZ0JBQWdCVixFQUFXLFVBQVUsRUFDMUUsT0FBQVMsRUFBVSxpQkFBaUJDLENBQVksRUFDZEQsRUFBVSxvQkFBb0I1QyxFQUFhLFFBQVEsQ0FFOUUsQ0FFQSxTQUFTVSxFQUFZVixFQUErQlMsRUFBa0IsQ0FDL0RBLEVBQVMsU0FBUyxHQUFHLElBQ3hCQSxHQUFZLEtBR2RULEVBQVksaUJBQWlCLDZCQUE2QixFQUFFLFFBQVE4QyxHQUFhLENBdlRuRixJQUFBQyxFQXdUSSxJQUFJekIsRUFBNkMsR0FFN0N3QixFQUFVLGFBQWEsS0FBSyxJQUM5QnhCLEVBQU8sT0FFTHdCLEVBQVUsYUFBYSxNQUFNLElBQy9CeEIsRUFBTyxRQUVMd0IsRUFBVSxhQUFhLGNBQWMsSUFDdkN4QixFQUFPLGdCQUVULElBQU0wQixHQUFZRCxFQUFBRCxFQUFVLGFBQWF4QixDQUFJLElBQTNCLFlBQUF5QixFQUE4QixPQUVoRCxHQUFJLENBQUNDLEVBQVUsV0FBVyxPQUFPLEdBQUssQ0FBQ0EsRUFBVSxXQUFXLE1BQU0sRUFBRyxDQUNuRSxJQUFNQyxFQUFjeEMsRUFBVyxVQUFVdUMsQ0FBUyxFQUNsREYsRUFBVSxhQUFheEIsRUFBTTJCLENBQVcsQ0FDMUMsQ0FDRixDQUFDLENBQ0gsQ0FFQSxTQUFTckIsRUFBc0I1QixFQUErQixDQUN0Q0EsRUFBWSxpQkFBaUIsc0RBQXNELEVBQzNGLFFBQVFtQixHQUFXLENBQy9CLElBQU0rQixFQUFjLFNBQVMsY0FBYy9CLEVBQVEsV0FBVyxFQUM5REEsRUFBUSxhQUFhK0IsRUFBYS9CLEVBQVEsVUFBVSxDQUN0RCxDQUFDLENBQ0gsQ0FFQSxTQUFTVSxFQUFpQjdCLEVBQStCLENBRXZEQSxFQUFZLGlCQUFpQixnQkFBZ0IsRUFBRSxRQUFRbUQsR0FBY0EsRUFBVyxPQUFPLENBQUMsQ0FDMUYiLAogICJuYW1lcyI6IFsieG1sIiwgInF0aVRyYW5zZm9ybUl0ZW0iLCAieG1sRnJhZ21lbnQiLCAiYXBpIiwgInVyaSIsICJjYW5jZWxQcmV2aW91c1JlcXVlc3QiLCAicmVzb2x2ZSIsICJyZWplY3QiLCAibG9hZFhNTCIsICJ4bWxTdHJpbmciLCAicGFyc2VYTUwiLCAibG9jYXRpb24iLCAic2V0TG9jYXRpb24iLCAiZm4iLCAiYXR0cmlidXRlcyIsICJkb2N1bWVudFBhdGgiLCAiYXR0cmlidXRlIiwgIm5vZGUiLCAic3JjVmFsdWUiLCAicGFyYW0iLCAiY3JlYXRlRWxlbWVudFdpdGhOZXdUYWdOYW1lIiwgImVsZW1lbnQiLCAibmV3VGFnTmFtZSIsICJuZXdFbGVtZW50IiwgImF0dHIiLCAiY2xzIiwgImJhc2VSZWYiLCAiYmFzZUl0ZW0iLCAicXRpQ3VzdG9tSW50ZXJhY3Rpb24iLCAicXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QiLCAiY29udmVydENEQVRBdG9Db21tZW50IiwgInN0cmlwU3R5bGVTaGVldHMiLCAidG9IVE1MIiwgInF0aVRyYW5zZm9ybU1hbmlmZXN0IiwgImVsIiwgInF0aVRyYW5zZm9ybVRlc3QiLCAiaXRlbXNGcm9tVGVzdCIsICJ4bWxUb0hUTUwiLCAiaXRlbXMiLCAiaWRlbnRpZmllciIsICJocmVmIiwgImNhdGVnb3J5IiwgImN1cnJlbnRSZXF1ZXN0IiwgInVybCIsICJ4aHIiLCAieG1sRG9jdW1lbnQiLCAicHJvY2Vzc29yIiwgInhzbHREb2N1bWVudCIsICJlbFdpdGhTcmMiLCAiX2EiLCAiYXR0clZhbHVlIiwgIm5ld1NyY1ZhbHVlIiwgImNvbW1lbnRUZXh0IiwgInN0eWxlc2hlZXQiXQp9Cg==
@@ -96,161 +96,6 @@
96
96
  }
97
97
  ]
98
98
  },
99
- {
100
- "kind": "javascript-module",
101
- "path": "src/lib/qti-item/index.ts",
102
- "declarations": [],
103
- "exports": [
104
- {
105
- "kind": "js",
106
- "name": "*",
107
- "declaration": {
108
- "name": "*",
109
- "package": "./qti-item"
110
- }
111
- },
112
- {
113
- "kind": "js",
114
- "name": "*",
115
- "declaration": {
116
- "name": "*",
117
- "package": "./qti-item.mixin"
118
- }
119
- }
120
- ]
121
- },
122
- {
123
- "kind": "javascript-module",
124
- "path": "src/lib/qti-item/qti-item.mixin.ts",
125
- "declarations": [
126
- {
127
- "kind": "mixin",
128
- "description": "",
129
- "name": "QtiItemMixin",
130
- "members": [],
131
- "events": [
132
- {
133
- "name": "qti-item-connected",
134
- "type": {
135
- "text": "CustomEvent"
136
- }
137
- }
138
- ],
139
- "attributes": [
140
- {
141
- "name": "identifier",
142
- "type": {
143
- "text": "string | undefined"
144
- },
145
- "fieldName": "identifier"
146
- },
147
- {
148
- "name": "href",
149
- "type": {
150
- "text": "string | undefined"
151
- },
152
- "fieldName": "href"
153
- }
154
- ],
155
- "parameters": [
156
- {
157
- "name": "Base",
158
- "type": {
159
- "text": "T"
160
- }
161
- }
162
- ]
163
- }
164
- ],
165
- "exports": [
166
- {
167
- "kind": "js",
168
- "name": "QtiItemMixin",
169
- "declaration": {
170
- "name": "QtiItemMixin",
171
- "module": "src/lib/qti-item/qti-item.mixin.ts"
172
- }
173
- }
174
- ]
175
- },
176
- {
177
- "kind": "javascript-module",
178
- "path": "src/lib/qti-item/qti-item.ts",
179
- "declarations": [
180
- {
181
- "kind": "class",
182
- "description": "",
183
- "name": "QtiItem",
184
- "mixins": [
185
- {
186
- "name": "QtiItemMixin",
187
- "module": "/src/lib/qti-item/qti-item.mixin"
188
- }
189
- ],
190
- "superclass": {
191
- "name": "LitElement",
192
- "package": "lit"
193
- },
194
- "tagName": "qti-item",
195
- "customElement": true,
196
- "attributes": [
197
- {
198
- "name": "identifier",
199
- "type": {
200
- "text": "string | undefined"
201
- },
202
- "fieldName": "identifier",
203
- "inheritedFrom": {
204
- "name": "QtiItemMixin",
205
- "module": "src/lib/qti-item/qti-item.mixin.ts"
206
- }
207
- },
208
- {
209
- "name": "href",
210
- "type": {
211
- "text": "string | undefined"
212
- },
213
- "fieldName": "href",
214
- "inheritedFrom": {
215
- "name": "QtiItemMixin",
216
- "module": "src/lib/qti-item/qti-item.mixin.ts"
217
- }
218
- }
219
- ],
220
- "members": [],
221
- "events": [
222
- {
223
- "name": "qti-item-connected",
224
- "type": {
225
- "text": "CustomEvent"
226
- },
227
- "inheritedFrom": {
228
- "name": "QtiItemMixin",
229
- "module": "src/lib/qti-item/qti-item.mixin.ts"
230
- }
231
- }
232
- ]
233
- }
234
- ],
235
- "exports": [
236
- {
237
- "kind": "js",
238
- "name": "QtiItem",
239
- "declaration": {
240
- "name": "QtiItem",
241
- "module": "src/lib/qti-item/qti-item.ts"
242
- }
243
- },
244
- {
245
- "kind": "custom-element-definition",
246
- "name": "qti-item",
247
- "declaration": {
248
- "name": "QtiItem",
249
- "module": "src/lib/qti-item/qti-item.ts"
250
- }
251
- }
252
- ]
253
- },
254
99
  {
255
100
  "kind": "javascript-module",
256
101
  "path": "src/lib/qti-components/index.ts",
@@ -682,6 +527,161 @@
682
527
  }
683
528
  ]
684
529
  },
530
+ {
531
+ "kind": "javascript-module",
532
+ "path": "src/lib/qti-item/index.ts",
533
+ "declarations": [],
534
+ "exports": [
535
+ {
536
+ "kind": "js",
537
+ "name": "*",
538
+ "declaration": {
539
+ "name": "*",
540
+ "package": "./qti-item"
541
+ }
542
+ },
543
+ {
544
+ "kind": "js",
545
+ "name": "*",
546
+ "declaration": {
547
+ "name": "*",
548
+ "package": "./qti-item.mixin"
549
+ }
550
+ }
551
+ ]
552
+ },
553
+ {
554
+ "kind": "javascript-module",
555
+ "path": "src/lib/qti-item/qti-item.mixin.ts",
556
+ "declarations": [
557
+ {
558
+ "kind": "mixin",
559
+ "description": "",
560
+ "name": "QtiItemMixin",
561
+ "members": [],
562
+ "events": [
563
+ {
564
+ "name": "qti-item-connected",
565
+ "type": {
566
+ "text": "CustomEvent"
567
+ }
568
+ }
569
+ ],
570
+ "attributes": [
571
+ {
572
+ "name": "identifier",
573
+ "type": {
574
+ "text": "string | undefined"
575
+ },
576
+ "fieldName": "identifier"
577
+ },
578
+ {
579
+ "name": "href",
580
+ "type": {
581
+ "text": "string | undefined"
582
+ },
583
+ "fieldName": "href"
584
+ }
585
+ ],
586
+ "parameters": [
587
+ {
588
+ "name": "Base",
589
+ "type": {
590
+ "text": "T"
591
+ }
592
+ }
593
+ ]
594
+ }
595
+ ],
596
+ "exports": [
597
+ {
598
+ "kind": "js",
599
+ "name": "QtiItemMixin",
600
+ "declaration": {
601
+ "name": "QtiItemMixin",
602
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
603
+ }
604
+ }
605
+ ]
606
+ },
607
+ {
608
+ "kind": "javascript-module",
609
+ "path": "src/lib/qti-item/qti-item.ts",
610
+ "declarations": [
611
+ {
612
+ "kind": "class",
613
+ "description": "",
614
+ "name": "QtiItem",
615
+ "mixins": [
616
+ {
617
+ "name": "QtiItemMixin",
618
+ "module": "/src/lib/qti-item/qti-item.mixin"
619
+ }
620
+ ],
621
+ "superclass": {
622
+ "name": "LitElement",
623
+ "package": "lit"
624
+ },
625
+ "tagName": "qti-item",
626
+ "customElement": true,
627
+ "attributes": [
628
+ {
629
+ "name": "identifier",
630
+ "type": {
631
+ "text": "string | undefined"
632
+ },
633
+ "fieldName": "identifier",
634
+ "inheritedFrom": {
635
+ "name": "QtiItemMixin",
636
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
637
+ }
638
+ },
639
+ {
640
+ "name": "href",
641
+ "type": {
642
+ "text": "string | undefined"
643
+ },
644
+ "fieldName": "href",
645
+ "inheritedFrom": {
646
+ "name": "QtiItemMixin",
647
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
648
+ }
649
+ }
650
+ ],
651
+ "members": [],
652
+ "events": [
653
+ {
654
+ "name": "qti-item-connected",
655
+ "type": {
656
+ "text": "CustomEvent"
657
+ },
658
+ "inheritedFrom": {
659
+ "name": "QtiItemMixin",
660
+ "module": "src/lib/qti-item/qti-item.mixin.ts"
661
+ }
662
+ }
663
+ ]
664
+ }
665
+ ],
666
+ "exports": [
667
+ {
668
+ "kind": "js",
669
+ "name": "QtiItem",
670
+ "declaration": {
671
+ "name": "QtiItem",
672
+ "module": "src/lib/qti-item/qti-item.ts"
673
+ }
674
+ },
675
+ {
676
+ "kind": "custom-element-definition",
677
+ "name": "qti-item",
678
+ "declaration": {
679
+ "name": "QtiItem",
680
+ "module": "src/lib/qti-item/qti-item.ts"
681
+ }
682
+ }
683
+ ]
684
+ },
685
685
  {
686
686
  "kind": "javascript-module",
687
687
  "path": "src/lib/qti-loader/index.ts",