@citolab/qti-components 7.16.1 → 7.17.1

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.
@@ -1 +1 @@
1
- function t(t,e){if(e==null||e>t.length)e=t.length;for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function e(t){if(Array.isArray(t))return t}function n(e){if(Array.isArray(e))return t(e)}function r(t){if(t===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function o(t,e,n,r,o,a,s){try{var l=t[a](s);var u=l.value}catch(t){n(t);return}if(l.done){e(u)}else{Promise.resolve(u).then(r,o)}}function a(t){return function(){var e=this,n=arguments;return new Promise(function(r,a){var s=t.apply(e,n);function l(t){o(s,r,a,l,u,"next",t)}function u(t){o(s,r,a,l,u,"throw",t)}l(undefined)})}}function s(t,e,n){e=f(e);return S(t,V()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function l(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}function u(t,e,n){if(V()){u=Reflect.construct}else{u=function t(t,e,n){var r=[null];r.push.apply(r,e);var o=Function.bind.apply(t,r);var a=new o;if(n)I(a,n.prototype);return a}}return u.apply(null,arguments)}function c(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(t,r.key,r)}}function d(t,e,n){if(e)c(t.prototype,e);if(n)c(t,n);return t}function h(t,e,n){if(e in t){Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true})}else{t[e]=n}return t}function p(t,e,n){if(typeof Reflect!=="undefined"&&Reflect.get){p=Reflect.get}else{p=function t(t,e,n){var r=P(t,e);if(!r)return;var o=Object.getOwnPropertyDescriptor(r,e);if(o.get){return o.get.call(n||t)}return o.value}}return p(t,e,n||t)}function f(t){f=Object.setPrototypeOf?Object.getPrototypeOf:function t(t){return t.__proto__||Object.getPrototypeOf(t)};return f(t)}function v(t,e){if(typeof e!=="function"&&e!==null){throw new TypeError("Super expression must either be null or a function")}t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:true,configurable:true}});if(e)I(t,e)}function m(t,e){if(e!=null&&typeof Symbol!=="undefined"&&e[Symbol.hasInstance]){return!!e[Symbol.hasInstance](t)}else{return t instanceof e}}function g(t){return Function.toString.call(t).indexOf("[native code]")!==-1}function y(t){if(typeof Symbol!=="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function b(t,e){var n=t==null?null:typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var s,l;try{for(n=n.call(t);!(o=(s=n.next()).done);o=true){r.push(s.value);if(e&&r.length===e)break}}catch(t){a=true;l=t}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw l}}return r}function _(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function q(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))}r.forEach(function(e){h(t,e,n[e])})}return t}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);if(e){r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})}n.push.apply(n,r)}return n}function x(t,e){e=e!=null?e:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(t,Object.getOwnPropertyDescriptors(e))}else{w(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function C(t,e){if(t==null)return{};var n=E(t,e);var r,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o<a.length;o++){r=a[o];if(e.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(t,r))continue;n[r]=t[r]}}return n}function E(t,e){if(t==null)return{};var n={};var r=Object.keys(t);var o,a;for(a=0;a<r.length;a++){o=r[a];if(e.indexOf(o)>=0)continue;n[o]=t[o]}return n}function S(t,e){if(e&&(N(e)==="object"||typeof e==="function")){return e}return r(t)}function A(t,e,n,r){if(typeof Reflect!=="undefined"&&Reflect.set){A=Reflect.set}else{A=function t(t,e,n,r){var o=P(t,e);var a;if(o){a=Object.getOwnPropertyDescriptor(o,e);if(a.set){a.set.call(r,n);return true}else if(!a.writable){return false}}a=Object.getOwnPropertyDescriptor(r,e);if(a){if(!a.writable){return false}a.value=n;Object.defineProperty(r,e,a)}else{h(r,e,n)}return true}}return A(t,e,n,r)}function R(t,e,n,r,o){var a=A(t,e,n,r||t);if(!a&&o){throw new Error("failed to set property")}return n}function I(t,e){I=Object.setPrototypeOf||function t(t,e){t.__proto__=e;return t};return I(t,e)}function T(t,n){return e(t)||b(t,n)||U(t,n)||_()}function P(t,e){while(!Object.prototype.hasOwnProperty.call(t,e)){t=f(t);if(t===null)break}return t}function M(t,e){if(!e){e=t.slice(0)}return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function O(t){return e(t)||y(t)||U(t)||_()}function L(t){return n(t)||y(t)||U(t)||q()}function N(t){"@swc/helpers - typeof";return t&&typeof Symbol!=="undefined"&&t.constructor===Symbol?"symbol":typeof t}function U(e,n){if(!e)return;if(typeof e==="string")return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return t(e,n)}function D(t){var e=typeof Map==="function"?new Map:undefined;D=function t(t){if(t===null||!g(t))return t;if(typeof t!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof e!=="undefined"){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return u(t,arguments,f(this).constructor)}n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return I(n,t)};return D(t)}function V(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(V=function(){return!!t})()}function $(t,e){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=l(0),s["throw"]=l(1),s["return"]=l(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function l(t){return function(e){return u([t,e])}}function u(l){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,l[0]&&(a=0)),a)try{if(n=1,r&&(o=l[0]&2?r["return"]:l[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;if(r=0,o)l=[l[0]&2,o.value];switch(l[0]){case 0:case 1:o=l;break;case 4:a.label++;return{value:l[1],done:false};case 5:a.label++;r=l[1];l=[0];continue;case 7:l=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){a=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(l[0]===6&&a.label<o[1]){a.label=o[1];o=l;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(l);break}if(o[2])a.ops.pop();a.trys.pop();continue}l=e.call(t,a)}catch(t){l=[6,t];r=0}finally{n=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}}function z(){var t=M(["<slot></slot>"]);z=function e(){return t};return t}function j(){var t=M(['<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy>\n </xsl:template>\n\n \x3c!-- remove existing namespaces --\x3e\n <xsl:template match="*">\n \x3c!-- remove element prefix --\x3e\n <xsl:element name="{local-name()}">\n \x3c!-- process attributes --\x3e\n <xsl:for-each select="@*">\n \x3c!-- remove attribute prefix --\x3e\n <xsl:attribute name="{local-name()}">\n <xsl:value-of select="."/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>']);j=function e(){return t};return t}function F(){var t=M(["<slot></slot>"]);F=function e(){return t};return t}function H(){var t=M(["<pre>","</pre>\n <slot></slot>"]);H=function e(){return t};return t}function B(){var t=M(["\n slot {\n display: none;\n }\n "]);B=function e(){return t};return t}function Q(){var t=M(["<slot></slot>"]);Q=function e(){return t};return t}function W(){var t=M(['<slot name="qti-rubric-block"></slot><slot></slot>']);W=function e(){return t};return t}function G(){var t=M([" <slot></slot>"]);G=function e(){return t};return t}function X(){var t=M([" <slot></slot>"]);X=function e(){return t};return t}function J(){var t=M(["<slot></slot>"]);J=function e(){return t};return t}function Y(){var t=M(["<slot @slotchange=","></slot>"]);Y=function e(){return t};return t}function K(){var t=M([' <slot part="feedback" class="feedback ','"></slot> ']);K=function e(){return t};return t}function Z(){var t=M(["\n :host {\n display: block;\n }\n .on {\n display: block;\n }\n .off {\n display: none;\n }\n "]);Z=function e(){return t};return t}function tt(){var t=M([' <slot part="feedback" class="','"></slot> ']);tt=function e(){return t};return t}function te(){var t=M(["\n .on {\n display: inline-block;\n }\n .off {\n display: none;\n }\n "]);te=function e(){return t};return t}function tn(){var t=M(['\n <dialog class="qti-dialog" part="feedback" ?open="','">\n <slot></slot>\n <div style="margin-top: var(--qti-gap-size); text-align: center;">\n <button class="button close-button" @click="','">Close</button>\n </div>\n </dialog>\n ']);tn=function e(){return t};return t}function tr(){var t=M(["\n .qti-dialog {\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1000;\n width: auto;\n max-width: 90%;\n }\n\n .button {\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg-active);\n border: var(--qti-border-active);\n cursor: pointer;\n position: relative;\n display: inline-block;\n }\n\n .button:hover {\n background-color: var(--qti-hover-bg);\n }\n\n .button:disabled {\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n cursor: not-allowed;\n }\n\n .button:focus {\n outline: var(--qti-focus-border-width) solid var(--qti-focus-color);\n }\n "]);tr=function e(){return t};return t}function ti(){var t=M(["\n :host {\n display: block;\n }\n"]);ti=function e(){return t};return t}function to(){var t=M(['<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>']);to=function e(){return t};return t}function ta(){var t=M(["<slot></slot>"]);ta=function e(){return t};return t}function ts(){var t=M(["<slot></slot>"]);ts=function e(){return t};return t}function tl(){var t=M(["<slot></slot>"]);tl=function e(){return t};return t}function tu(){var t=M(["\n :host {\n display: block;\n }\n "]);tu=function e(){return t};return t}function tc(){var t=M(["",""]);tc=function e(){return t};return t}function td(){var t=M(["\n :host {\n display: none;\n }\n "]);td=function e(){return t};return t}function th(){var t=M(["",""]);th=function e(){return t};return t}function tp(){var t=M(["\n :host {\n display: none;\n }\n "]);tp=function e(){return t};return t}function tf(){var t=M(["<slot></slot>"]);tf=function e(){return t};return t}function tv(){var t=M(["\n :host {\n display: none;\n }\n "]);tv=function e(){return t};return t}function tm(){var t=M([""]);tm=function e(){return t};return t}function tg(){var t=M(["\n :host {\n color: gray;\n }\n "]);tg=function e(){return t};return t}function ty(){var t=M(["<slot></slot>"]);ty=function e(){return t};return t}function tb(){var t=M(["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n user-select: none;\n"]);tb=function e(){return t};return t}function t_(){var t=M(["\n background-color: lightgray;\n ",";\n"]);t_=function e(){return t};return t}function tq(){var t=M(["\n cursor: not-allowed;\n opacity: 0.8;\n"]);tq=function e(){return t};return t}function tk(){var t=M(["\n ",";\n border: 1px solid gray;\n"]);tk=function e(){return t};return t}function tw(){var t=M(["<slot></slot>"]);tw=function e(){return t};return t}function tx(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tx=function e(){return t};return t}function tC(){var t=M(["<slot></slot>"]);tC=function e(){return t};return t}function tE(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tE=function e(){return t};return t}function tS(){var t=M(['<option value="','" ?selected=',">","</option>"]);tS=function e(){return t};return t}function tA(){var t=M(['\n <label part="label" for="viewSelect">','</label>\n <select\n part="select"\n id="viewSelect"\n @change=',"\n >\n ","\n </select>\n "]);tA=function e(){return t};return t}function tR(){var t=M([" <slot></slot> "]);tR=function e(){return t};return t}function tI(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tI=function e(){return t};return t}function tT(){var t=M([" <slot></slot> "]);tT=function e(){return t};return t}function tP(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tP=function e(){return t};return t}function tM(){var t=M([' <div @click="','">',"</div> "]);tM=function e(){return t};return t}function tO(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tO=function e(){return t};return t}function tL(){var t=M([""]);tL=function e(){return t};return t}function tN(){var t=M([" "," "]);tN=function e(){return t};return t}function tU(){var t=M([""]);tU=function e(){return t};return t}function tD(){var t=M(["<span>Loading...</span>"]);tD=function e(){return t};return t}function tV(){var t=M(["\n ","\n <slot></slot>\n ","\n "]);tV=function e(){return t};return t}function t$(){var t=M([""]);t$=function e(){return t};return t}function tz(){var t=M(["\n <tr>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n </tr>\n "]);tz=function e(){return t};return t}function tj(){var t=M(["\n <h3>","</h3>\n <table>\n <thead>\n <tr>\n <th>Identifier</th>\n <th>Value</th>\n <th>Cardinality</th>\n <th>Base Type</th>\n <th>Correct Response / Mappings</th>\n </tr>\n </thead>\n <tbody>\n ","\n </tbody>\n </table>\n "]);tj=function e(){return t};return t}function tF(){var t=M(["\n "," ","\n "]);tF=function e(){return t};return t}function tH(){var t=M(["\n table {\n width: 100%;\n border-collapse: collapse;\n margin: 20px 0;\n font-size: 14px;\n text-align: left;\n }\n th,\n td {\n border: 1px solid #ddd;\n padding: 8px;\n }\n th {\n background-color: #f4f4f4;\n font-weight: bold;\n }\n h3 {\n margin-top: 20px;\n font-size: 16px;\n }\n "]);tH=function e(){return t};return t}function tB(){var t=M([""]);tB=function e(){return t};return t}function tQ(){var t=M([" "," "]);tQ=function e(){return t};return t}function tW(){var t=M([" <slot></slot> "]);tW=function e(){return t};return t}function tG(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tG=function e(){return t};return t}function tX(){var t=M([" <small><pre>","</pre></small> "]);tX=function e(){return t};return t}function tJ(){var t=M(["<small><pre>","</pre></small>"]);tJ=function e(){return t};return t}function tY(){var t=M([" ","\n ",""]);tY=function e(){return t};return t}function tK(){var t=M([""]);tK=function e(){return t};return t}function tZ(){var t=M(["",""]);tZ=function e(){return t};return t}function t0(){var t=M(["",""]);t0=function e(){return t};return t}function t1(){var t=M([""]);t1=function e(){return t};return t}function t2(){var t=M(["<div>","</div>"]);t2=function e(){return t};return t}function t3(){var t=M(["<div>","</div>"]);t3=function e(){return t};return t}function t5(){var t=M([" <slot></slot> "]);t5=function e(){return t};return t}function t4(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);t4=function e(){return t};return t}function t6(){var t=M([""]);t6=function e(){return t};return t}function t8(){var t=M(["<span>Loading...</span>"]);t8=function e(){return t};return t}function t7(){var t=M(["\n ","\n <slot></slot>\n ","\n "]);t7=function e(){return t};return t}function t9(){var t=M(['<option value="','" ?selected=',">\n ","\n </option>"]);t9=function e(){return t};return t}function et(){var t=M(['\n <label part="label" for="modeSelect">','</label>\n <select\n part="select"\n id="modeSelect"\n @change=',"\n >\n ","\n </select>\n "]);et=function e(){return t};return t}function ee(){var t=M(["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n user-select: none;\n"]);ee=function e(){return t};return t}function en(){var t=M(["\n background-color: lightgray;\n ",";\n"]);en=function e(){return t};return t}function er(){var t=M(["\n cursor: not-allowed;\n opacity: 0.8;\n"]);er=function e(){return t};return t}function ei(){var t=M(["\n ",";\n border: 1px solid gray;\n"]);ei=function e(){return t};return t}function eo(){var t=M([' <div @click="','">',"</div> "]);eo=function e(){return t};return t}function ea(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);ea=function e(){return t};return t}function es(){var t=M([' <div @click="','">',"</div> "]);es=function e(){return t};return t}function el(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);el=function e(){return t};return t}function eu(){var t=M([""]);eu=function e(){return t};return t}function ec(){var t=M(["\n <tr>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n </tr>\n "]);ec=function e(){return t};return t}function ed(){var t=M(["\n <h3>","</h3>\n <table>\n <thead>\n <tr>\n <th>Identifier</th>\n <th>Value</th>\n <th>Cardinality</th>\n <th>Base Type</th>\n <th>Correct Response / Mappings</th>\n </tr>\n </thead>\n <tbody>\n ","\n </tbody>\n </table>\n "]);ed=function e(){return t};return t}function eh(){var t=M(["\n "," ","\n "]);eh=function e(){return t};return t}function ep(){var t=M(["\n table {\n width: 100%;\n border-collapse: collapse;\n margin: 20px 0;\n font-size: 14px;\n text-align: left;\n }\n th,\n td {\n border: 1px solid #ddd;\n padding: 8px;\n }\n th {\n background-color: #f4f4f4;\n font-weight: bold;\n }\n h3 {\n margin-top: 20px;\n font-size: 16px;\n }\n "]);ep=function e(){return t};return t}function ef(){var t=M(["<slot></slot>"]);ef=function e(){return t};return t}function ev(){var t=M(["\n :host {\n display: block; /* necessary to calculate scaling position */\n }\n slot[name='qti-simple-associable-choice'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n\n [part='drop-list'][active] {\n border-color: var(--qti-border-active) !important;\n background-color: var(--qti-bg-active) !important;\n }\n\n [part='drop-list'][enabled] {\n background-color: var(--qti-bg-active) !important;\n }\n\n :host::part(associables-container) {\n display: flex;\n padding: 0.5rem;\n justify-content: space-between;\n background: linear-gradient(\n 180deg,\n rgb(0 0 0 / 0%) calc(50% - 1px),\n var(--qti-border-color-gray) calc(50%),\n rgb(0 0 0 / 0%) calc(50% + 1px)\n );\n }\n"]);ev=function e(){return t};return t}function em(){var t=M(['<div part="associables-container">\n <div name="left','" part="drop-list" class="dl" identifier="droplist','_left"></div>\n <div name="right','" part="drop-list" class="dl" identifier="droplist','_right"></div>\n </div>']);em=function e(){return t};return t}function eg(){var t=M([' <slot name="prompt"></slot>\n <slot name="qti-simple-associable-choice"></slot>\n <div part="drop-container">\n ','\n\n <div role="alert" part="message" id="validation-message"></div>\n </div>']);eg=function e(){return t};return t}function ey(){var t=M(["\n :host {\n display: block;\n }\n\n [part='slot'] {\n display: grid;\n gap: 10px;\n }\n\n /* Define the number of columns dynamically */\n :host([class*='qti-choices-stacking-']) [part='slot'] {\n grid-template-columns: repeat(var(--stacking-count, 1), 1fr);\n }\n\n /* Apply dynamic stacking count based on class */\n :host(.qti-choices-stacking-1) {\n --stacking-count: 1;\n }\n :host(.qti-choices-stacking-2) {\n --stacking-count: 2;\n }\n :host(.qti-choices-stacking-3) {\n --stacking-count: 3;\n }\n :host(.qti-choices-stacking-4) {\n --stacking-count: 4;\n }\n :host(.qti-choices-stacking-5) {\n --stacking-count: 5;\n }\n :host(.qti-choices-stacking-6) {\n --stacking-count: 6;\n }\n\n /* Default slot item layout */\n ::slotted(qti-simple-choice) {\n display: flex;\n align-items: center;\n white-space: normal;\n }\n\n /* Orientation styles */\n :host(.qti-orientation-horizontal) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n }\n\n :host(.qti-orientation-vertical) [part='slot'] {\n grid-auto-flow: row;\n }\n\n /* Vertical and horizontal stacking logic */\n :host(.qti-orientation-vertical[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: repeat(calc(var(--item-count) / var(--stacking-count)), 1fr);\n }\n\n :host(.qti-orientation-horizontal[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: row;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: unset;\n }\n\n /* Ensure even distribution in vertical mode */\n :host(.qti-orientation-vertical) ::slotted(qti-simple-choice:nth-child(even)) {\n grid-row: auto;\n }\n"]);ey=function e(){return t};return t}function eb(){var t=M(['\n <slot part="prompt" name="prompt"></slot>\n <slot part="slot" @slotchange=','></slot>\n <div part="message" role="alert" id="validation-message"></div>\n ']);eb=function e(){return t};return t}function e_(){var t=M(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);e_=function e(){return t};return t}function eq(){var t=M(["<iframe\n width=","\n height=",'\n frameborder="0"\n title="pciContainer"\n id="pciContainer"\n >\n </iframe>\n ',""]);eq=function e(){return t};return t}function ek(){var t=M(["<button ?disabled=",' part="button" @click=',">","</button>"]);ek=function e(){return t};return t}function ew(){var t=M(["\n /* PK: display host as block, else design will be collapsed */\n :host {\n display: block;\n }\n textarea {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 0;\n }\n"]);ew=function e(){return t};return t}function ex(){var t=M(['<slot name="prompt"></slot\n ><textarea\n part="textarea"\n name="','"\n spellcheck="false"\n autocomplete="off"\n maxlength="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n @blur="','"\n placeholder="','"\n rows="','"\n ?disabled="','"\n ?readonly="','"\n .value=',"\n ></textarea>"]);ex=function e(){return t};return t}function eC(){var t=M(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) {\n flex-direction: row;\n }\n :host(.qti-choices-right) {\n flex-direction: row-reverse;\n }\n /* [part='drops'] , */\n [name='prompt'] {\n width: 100%;\n }\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n"]);eC=function e(){return t};return t}function eE(){var t=M(['<slot name="prompt"> </slot>\n <slot part="drags" name="drags"></slot>\n <slot part="drops"></slot>\n <div role="alert" part="message" id="validation-message"></div>']);eE=function e(){return t};return t}function eS(){var t=M(["\n slot:not([name='prompt']) {\n // position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n ::slotted(qti-associable-hotspot) {\n transform: translate(-50%, -50%);\n }\n line-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n svg {\n position: absolute;\n top: 0px;\n left: 0px;\n }\n"]);eS=function e(){return t};return t}function eA(){var t=M(['\n <line\n part="line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="red"\n stroke-width="3"\n @click=',"\n />\n "]);eA=function e(){return t};return t}function eR(){var t=M(['\n <line\n part="correct-line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-correct)"\n stroke-width="3"\n stroke-dasharray="5,5"\n />\n ']);eR=function e(){return t};return t}function eI(){var t=M(['<line\n part="point"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-border-active)"\n stroke-width="3"\n />']);eI=function e(){return t};return t}function eT(){var t=M(['<slot name="prompt"></slot>\n <line-container>\n <svg\n width=',"\n height=",'\n viewbox="0 0 '," ",'"\n >\n ',"\n ","\n ",'\n </svg>\n <slot></slot>\n </line-container>\n <div role="alert" part="message" id="validation-message"></div>']);eT=function e(){return t};return t}function eP(){var t=M(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column;\n }\n :host(.qti-choices-left) {\n flex-direction: row-reverse;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n :host(.qti-choices-right) {\n flex-direction: row;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n [part='image'] {\n display: block;\n position: relative;\n }\n /* [part='drops'] , */\n\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n ::slotted(img) {\n display: inline-block;\n user-select: none;\n pointer-events: none;\n }\n"]);eP=function e(){return t};return t}function eM(){var t=M([' <slot name="prompt"></slot>\n <slot part="image"></slot>\n <slot part="drags" name="drags" class="hover-border"></slot>\n <div role="alert" part="message" id="validation-message"></div>']);eM=function e(){return t};return t}function eO(){var t=M(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n"]);eO=function e(){return t};return t}function eL(){var t=M(['\n <slot name="prompt"></slot>\n <slot></slot>\n <div role="alert" part="message" id="validation-message"></div>\n ']);eL=function e(){return t};return t}function eN(){var t=M(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: inline-block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n line-height: 0; /* remove gaps below image */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n display: block;\n pointer-events: none;\n user-select: none;\n /* width:100%; */\n }\n"]);eN=function e(){return t};return t}function eU(){var t=M(['\n <slot name="prompt"></slot>\n <slot></slot>\n ']);eU=function e(){return t};return t}function eD(){var t=M(['<slot></slot>\n <div part="message" role="alert" id="validation-message"></div>']);eD=function e(){return t};return t}function eV(){var t=M(["\n :host {\n display: inline-block;\n }\n slot {\n display: flex;\n flex-direction: column;\n }\n [role='menu'] {\n position: absolute;\n z-index: 1000;\n }\n .anchor {\n /* anchor-name: --infobox; */\n width: fit-content;\n }\n\n .positionedElement {\n position: absolute;\n /* position-anchor: --infobox; */\n /* top: anchor(bottom); */\n }\n "]);eV=function e(){return t};return t}function e$(){var t=M(['\n <option value="','" ?selected="','">',"</option>\n "]);e$=function e(){return t};return t}function ez(){var t=M(['\n <select part="select" @change="','" ?disabled="','" ?readonly="','">\n ',"\n </select>\n\n ","\n "]);ez=function e(){return t};return t}function ej(){var t=M(["\n slot:not([hidden]) {\n /* slot where the */\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n :host(.qti-choices-top) slot {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) slot {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) slot {\n flex-direction: row;\n }\n :host(.qti-choices-right) slot {\n flex-direction: row-reverse;\n }\n slot[name='prompt'] {\n display: block;\n }\n ::slotted(qti-simple-match-set) {\n /* Make sure the drag and drop container slots have the same width */\n flex: 1;\n }\n"]);ej=function e(){return t};return t}function eF(){var t=M(['<th part="r-header">',"</th>"]);eF=function e(){return t};return t}function eH(){var t=M(['\n <svg\n part="checkmark"\n viewBox="0 0 24 24"\n style="position: absolute; width: 20px; height: 20px; top: 2px; left: 2px; pointer-events: none;"\n >\n <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z" fill="white" />\n </svg>\n ']);eH=function e(){return t};return t}function eB(){var t=M(['<td part="input-cell">\n <div\n class="input-container"\n style="position: relative; width: 24px; height: 24px; margin: 0 auto;"\n >\n <input\n type=',"\n part=","\n name=","\n value=","\n .disabled=","\n @change=","\n @click=","\n />\n ","\n </div>\n </td>"]);eB=function e(){return t};return t}function eQ(){var t=M(['<tr part="row">\n <td part="c-header">',"</td>\n ","\n </tr>"]);eQ=function e(){return t};return t}function eW(){var t=M(['\n <table part="table">\n <tr part="r-header">\n <td></td>\n ',"\n </tr>\n\n ","\n </table>\n "]);eW=function e(){return t};return t}function eG(){var t=M(['\n <slot name="prompt"></slot>\n <slot ?hidden=',"></slot>\n\n ",'\n\n <div role="alert" part="message" id="validation-message"></div>\n ']);eG=function e(){return t};return t}function eX(){var t=M([' <slot name="prompt"></slot>\n <slot></slot>']);eX=function e(){return t};return t}function eJ(){var t=M([""]);eJ=function e(){return t};return t}function eY(){var t=M(["\n [part='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n flex-wrap: wrap;\n }\n\n [part='drops'] {\n flex: 1;\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n }\n\n :host([orientation='horizontal']) [part='drags'] {\n flex-direction: row;\n }\n :host([orientation='horizontal']) [part='drops'] {\n grid-auto-flow: column;\n }\n :host([orientation='vertical']) [part='drags'] {\n flex-direction: column;\n }\n :host([orientation='vertical']) [part='drops'] {\n grid-auto-flow: row;\n }\n\n [part='drop-list'] {\n display: block;\n flex: 1;\n }\n\n [part='drop-list'][active] {\n border-color: var(--qti-border-active) !important;\n background-color: var(--qti-bg-active) !important;\n }\n\n [part='drop-list'][enabled] {\n background-color: var(--qti-bg-active) !important;\n }\n\n [part='container'] {\n display: flex;\n gap: 0.5rem;\n }\n :host(.qti-choices-top) [part='container'] {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) [part='container'] {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) [part='container'] {\n flex-direction: row;\n }\n :host(.qti-choices-right) [part='container'] {\n flex-direction: row-reverse;\n }\n"]);eY=function e(){return t};return t}function eK(){var t=M(['<drop-list role="region" part="drop-list" identifier="droplist','"></drop-list>']);eK=function e(){return t};return t}function eZ(){var t=M([' <slot name="prompt"> </slot>\n <div part="container">\n <slot part="drags"> </slot>\n <div part="drops">\n ',"\n </div>\n </div>"]);eZ=function e(){return t};return t}function e0(){var t=M(["\n ::slotted(qti-interaction-markup) {\n display: none;\n }\n"]);e0=function e(){return t};return t}function e1(){var t=M(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);e1=function e(){return t};return t}function e2(){var t=M(["\n <slot></slot>\n ","\n "]);e2=function e(){return t};return t}function e3(){var t=M(["\n :host {\n display: block;\n width: 100%;\n min-height: 50px;\n }\n .qti-customInteraction {\n display: block;\n width: 100%;\n min-height: 50px;\n }\n "]);e3=function e(){return t};return t}function e5(){var t=M(["<slot></slot>"]);e5=function e(){return t};return t}function e4(){var t=M(["\n :host {\n display: block;\n }\n ::slotted(img) {\n position: absolute;\n cursor: move;\n user-select: none;\n left: 50%;\n transform: translateX(-50%);\n }\n "]);e4=function e(){return t};return t}function e6(){var t=M(["<slot></slot>"]);e6=function e(){return t};return t}function e8(){var t=M(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);e8=function e(){return t};return t}function e7(){var t=M(['\n <button\n part="point','"\n style=','\n aria-label="Remove point at ','"\n ?disabled=',"\n @click=","\n ></button>\n "]);e7=function e(){return t};return t}function e9(){var t=M(["<div\n style=",'\n data-coord="','"\n alt=','\n data-shape="','"\n ></div>']);e9=function e(){return t};return t}function nt(){var t=M([' <slot name="prompt"></slot>\n <point-container>\n ',"\n ","\n <slot></slot>\n </point-container>"]);nt=function e(){return t};return t}function ne(){var t=M(["\n :host {\n display: block;\n }\n point-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n\n ::slotted(img) {\n max-width: 100%;\n height: auto;\n display: block;\n }\n "]);ne=function e(){return t};return t}function nn(){var t=M(["\n :host {\n display: block;\n --show-bounds: true;\n --show-ticks: true;\n --show-value: true;\n }\n\n [part='slider'] {\n margin-left: 2rem; /* mx-8 */\n margin-right: 2rem;\n padding-bottom: 1rem; /* pb-4 */\n padding-top: 1.25rem; /* pt-5 */\n }\n\n [part='bounds'] {\n display: flex;\n width: 100%;\n justify-content: space-between;\n margin-bottom: 0.5rem; /* mb-2 */\n }\n\n [part='ticks'] {\n margin-left: 0.125rem; /* mx-0.5 */\n margin-right: 0.125rem;\n margin-bottom: 0.25rem; /* mb-1 */\n height: 0.5rem; /* h-2 */\n background: linear-gradient(to right, var(--qti-border-color) var(--qti-border-thickness), transparent 1px) repeat-x\n 0 center / calc(calc(100% - var(--qti-border-thickness)) / ((var(--max) - var(--min)) / var(--step))) 100%;\n }\n\n [part='rail'] {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 0.375rem; /* h-1.5 */\n width: 100%;\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n border: 1px solid #d1d5db; /* border-gray-300 */\n background-color: #e5e7eb; /* bg-gray-200 */\n }\n\n [part='knob'] {\n background-color: var(--qti-bg-active);\n border: 2px solid var(--qti-border-active);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage);\n }\n [part='knob-correct'] {\n background-color: var(--qti-correct-light);\n border: 2px solid var(--qti-correct);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage-correct);\n }\n\n [part='value'] {\n position: absolute;\n bottom: 2rem; /* bottom-8 */\n left: 0.5rem; /* left-2 */\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 0.25rem; /* rounded */\n background-color: #f3f4f6; /* bg-gray-100 */\n padding: 0.25rem 0.5rem; /* px-2 py-1 */\n text-align: center;\n color: #6b7280; /* text-gray-500 */\n }\n"]);nn=function e(){return t};return t}function nr(){var t=M(['\n <div id="knob-correct" part="knob-correct">\n <div id="value" part="value">',"</div>\n </div>\n "]);nr=function e(){return t};return t}function ni(){var t=M(['\n <slot name="prompt"></slot>\n <div id="slider" part="slider">\n <div id="bounds" part="bounds">\n <div>',"</div>\n <div>",'</div>\n </div>\n\n <div id="ticks" part="ticks"></div>\n\n <div id="rail" part="rail" @mousedown='," @touchstart=",'>\n <div id="knob" part="knob">\n <div id="value" part="value">',"</div>\n </div>\n\n ","\n </div>\n </div>\n "]);ni=function e(){return t};return t}function no(){var t=M(["\n :host {\n display: inline-block;\n }\n\n :host(.qti-input-width-1) [part='input'] {\n width: 1.1rem;\n min-width: 1.1rem;\n }\n\n :host(.qti-input-width-2) [part='input'] {\n width: 2.3rem;\n min-width: 2.3rem;\n }\n\n :host(.qti-input-width-3) [part='input'] {\n width: 3.3rem;\n min-width: 3.3rem;\n }\n\n :host(.qti-input-width-4) [part='input'] {\n width: 4.2rem;\n min-width: 4.2rem;\n }\n\n :host(.qti-input-width-6) [part='input'] {\n width: 6.6rem;\n min-width: 6.6rem;\n }\n\n :host(.qti-input-width-10) [part='input'] {\n width: 8rem;\n min-width: 8rem;\n }\n\n :host(.qti-input-width-15) [part='input'] {\n width: 12rem;\n min-width: 12rem;\n }\n\n :host(.qti-input-width-20) [part='input'] {\n width: 17rem;\n min-width: 17rem;\n }\n\n :host(.qti-input-width-25) [part='input'] {\n width: 20rem;\n min-width: 20rem;\n }\n\n :host(.qti-input-width-30) [part='input'] {\n width: 24rem;\n min-width: 24rem;\n }\n\n :host(.qti-input-width-35) [part='input'] {\n width: 28rem;\n min-width: 28rem;\n }\n\n :host(.qti-input-width-40) [part='input'] {\n width: 32rem;\n min-width: 32rem;\n }\n\n :host(.qti-input-width-45) [part='input'] {\n width: 36rem;\n min-width: 36rem;\n }\n\n :host(.qti-input-width-50) [part='input'] {\n width: 40rem;\n min-width: 40rem;\n }\n\n :host(.qti-input-width-72) [part='input'] {\n width: 57rem;\n min-width: 57rem;\n }\n\n :host {\n position: relative;\n }\n input {\n anchor-name: --text-entry-input;\n z-index: 100;\n position: relative;\n }\n\n [part='correct'] {\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg);\n z-index: 0;\n position: absolute;\n left: 0;\n right: 0;\n position-anchor: --text-entry-input;\n bottom: anchor(top);\n left: anchor(left);\n /* opacity: 1; */\n transition: all 1s;\n\n @starting-style {\n display: grid;\n /* opacity: 0; */\n bottom: 0;\n }\n }\n"]);no=function e(){return t};return t}function na(){var t=M(['<div part="correct">',"</div>"]);na=function e(){return t};return t}function ns(){var t=M(['\n <input\n part="input"\n name="','"\n spellcheck="false"\n autocomplete="off"\n @blur="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n type="','"\n placeholder="','"\n .value="','"\n pattern="','"\n maxlength=','\n ?disabled="','"\n ?readonly="','"\n />\n ',"\n "]);ns=function e(){return t};return t}function nl(){var t=M(['\n <div>\n <slot name="prompt"></slot>\n <input type="file" @change="','" ?disabled="','" ?readonly="','" />\n </div>\n ']);nl=function e(){return t};return t}function nu(){var t=M(["\n :host {\n display: block;\n margin: 1em 0;\n }\n input[type='file'] {\n display: block;\n margin-top: 0.5em;\n }\n "]);nu=function e(){return t};return t}function nc(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);nc=function e(){return t};return t}function nd(){var t=M(["<slot></slot>"]);nd=function e(){return t};return t}function nh(){var t=M(["\n :host {\n display: inline-flex;\n user-select: none;\n }\n "]);nh=function e(){return t};return t}function np(){var t=M([' <slot name="drags"></slot>']);np=function e(){return t};return t}function nf(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);nf=function e(){return t};return t}function nv(){var t=M(["\n :host {\n display: block;\n cursor: pointer;\n }\n "]);nv=function e(){return t};return t}function nm(){var t=M([" <slot></slot> "]);nm=function e(){return t};return t}function ng(){var t=M(['<div part="ch"><div part="cha"></div></div>\n <slot></slot> ']);ng=function e(){return t};return t}function ny(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);ny=function e(){return t};return t}function nb(){var t=M(['\n <slot part="slot"></slot>\n <slot part="dropslot" name="qti-simple-associable-choice"></slot>\n ']);nb=function e(){return t};return t}function n_(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n slot {\n width: 100%;\n display: block;\n }\n slot[name='qti-simple-associable-choice'] {\n width: auto;\n }\n "]);n_=function e(){return t};return t}function nq(){var t=M(['<div id="label">',"</div>"]);nq=function e(){return t};return t}function nk(){var t=M(['<div part="ch">\n <div part="cha"></div>\n </div>\n ','\n <slot part="slot"></slot>']);nk=function e(){return t};return t}function nw(){var t=M(["\n :host {\n display: flex;\n align-items: center;\n user-select: none;\n }\n slot {\n width: 100%;\n display: flex;\n align-items: center;\n }\n [part='ch'] {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n }\n "]);nw=function e(){return t};return t}function nx(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);nx=function e(){return t};return t}function nC(){var t=M([' <slot name="drags"></slot> ']);nC=function e(){return t};return t}function nE(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);nE=function e(){return t};return t}function nS(){var t=M(["<slot></slot>"]);nS=function e(){return t};return t}function nA(){var t=M(["<slot></slot>"]);nA=function e(){return t};return t}function nR(){var t=M(["<slot></slot>"]);nR=function e(){return t};return t}function nI(){var t=M(["",""]);nI=function e(){return t};return t}function nT(){var t=M(["",""]);nT=function e(){return t};return t}function nP(){var t=M(["",""]);nP=function e(){return t};return t}var QtiComponents=function(){var t=function t(){var t,e;return{promise:new Promise(function(n,r){t=n,e=r}),resolve:t,reject:e}};var e=function t(t,e){if(!ii(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return r4!==void 0?r4.createHTML(e):e};var n=function t(t){return function(e,n){return(typeof n==="undefined"?"undefined":N(n))=="object"?iF(t,e,n):function(t,e,n){var r=e.hasOwnProperty(n);return e.constructor.createProperty(n,t),r?Object.getOwnPropertyDescriptor(e,n):void 0}(t,e,n)}};var r=function t(t){return n(x(k({},t),{state:!0,attribute:!1}))};var o=function t(t,e){return function(n,r,o){var a=function(e){var n;var r;return(r=(n=e.renderRoot)===null||n===void 0?void 0:n.querySelector(t))!==null&&r!==void 0?r:null};if(e){var s=(typeof r==="undefined"?"undefined":N(r))=="object"?n:o!==null&&o!==void 0?o:function(){var t=Symbol();return{get:function e(){return this[t]},set:function e(e){this[t]=e}}}(),l=s.get,u=s.set;return iH(n,r,{get:function t(){var t=l.call(this);return t===void 0&&(t=a(this),(t!==null||this.hasUpdated)&&u.call(this,t)),t}})}return iH(n,r,{get:function t(){return a(this)}})}};var u=function t(t){return function(e,n){var r=t!==null&&t!==void 0?t:{},o=r.slot,a=r.selector,s="slot"+(o?"[name=".concat(o,"]"):":not([name])");return iH(e,n,{get:function e(){var e;var n;var r=(e=this.renderRoot)===null||e===void 0?void 0:e.querySelector(s),o=(n=r===null||r===void 0?void 0:r.assignedElements(t))!==null&&n!==void 0?n:[];return a===void 0?o:o.filter(function(t){return t.matches(a)})}})}};var c=function t(t,e,n){t.querySelectorAll(e).forEach(function(t){var r="".concat(e,"-").concat(n),o=y(t,r);t.replaceWith(o)})};var g=function t(t,e){t.querySelectorAll("*").forEach(function(t){var n=t.classList;n&&n.forEach(function(n){if(n.startsWith("".concat(e,":"))){var r=n.slice("".concat(e,":").length),o="".concat(t.nodeName,"-").concat(r),a=y(t,o);t.replaceWith(a)}})})};var y=function t(t,e){var n=t.ownerDocument.createElement(e);var r=true,o=false,a=undefined;try{for(var s=t.attributes[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;n.setAttribute(u.name,u.value)}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}for(;t.firstChild;)n.appendChild(t.firstChild);return n};var b=function t(t){var e=[];return t.querySelectorAll("qti-assessment-item-ref").forEach(function(t){var n=t.getAttribute("identifier"),r=t.getAttribute("href"),o=t.getAttribute("category");e.push({identifier:n,href:r,category:o})}),e};var _=function t(t,e){return fetch(t,{signal:e}).then(function(t){if(!t.ok)throw new Error("HTTP error! status: ".concat(t.status));return t.text()}).then(function(t){return new DOMParser().parseFromString(t,"text/xml")}).catch(function(t){throw t.name==="AbortError"?t:new Error("Failed to load XML: ".concat(t.message))})};var q=function t(t){return new DOMParser().parseFromString(t,"text/xml")};var w=function t(t){var e=new XSLTProcessor,n=new DOMParser().parseFromString(iQ,"text/xml");return e.importStylesheet(n),e.transformToFragment(t,document)};var E=function t(t,e){e.endsWith("/")||(e+="/"),t.querySelectorAll("[src],[href],[primary-path]").forEach(function(t){var n;var r="";t.getAttribute("src")&&(r="src"),t.getAttribute("href")&&(r="href"),t.getAttribute("primary-path")&&(r="primary-path");var o=(n=t.getAttribute(r))===null||n===void 0?void 0:n.trim();if(!/^(data:|https?:|blob:)/.test(o)){var a=e+encodeURI(o);t.setAttribute(r,a)}})};var S=function t(t){t.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(t){var e=document.createComment(t.textContent);t.replaceChild(e,t.firstChild)})};var A=function t(t){t.querySelectorAll("qti-stylesheet").forEach(function(t){return t.remove()})};var I=function t(t){switch(t){case"qti-choice-interaction":case"qti-order-interaction":return"qti-simple-choice";case"qti-inline-choice-interaction":return"qti-inline-choice";case"qti-match-interaction":return["qti-simple-match-set:first-of-type qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice"];case"qti-gap-match-interaction":return"qti-gap-text";case"qti-associate-interaction":return"qti-simple-associable-choice";default:return null}};var P=function t(t){var e=t.context;return function(t,n){var r=new WeakMap;if((typeof n==="undefined"?"undefined":N(n))=="object")return{get:function e(){return t.get.call(this)},set:function e(e){return r.get(this).setValue(e),t.set.call(this,e)},init:function t(t){return r.set(this,new i2(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer(function(t){r.set(t,new i2(t,{context:e}))});var o=Object.getOwnPropertyDescriptor(t,n),a;if(o===void 0){var s=new WeakMap;a={get:function t(){return s.get(this)},set:function t(t){r.get(this).setValue(t),s.set(this,t)},configurable:!0,enumerable:!0}}else{var l=o.set;a=x(k({},o),{set:function t(t){r.get(this).setValue(t),l===null||l===void 0?void 0:l.call(this,t)}})}return void Object.defineProperty(t,n,a)}}};var M=function t(t){var e=t.context,n=t.subscribe;return function(t,r){(typeof r==="undefined"?"undefined":N(r))=="object"?r.addInitializer(function(){var r=this;new iZ(this,{context:e,callback:function(e){t.set.call(r,e)},subscribe:n})}):t.constructor.addInitializer(function(t){new iZ(t,{context:e,callback:function(e){t[r]=e},subscribe:n})})}};var U=function t(t){return t==null};var V=function t(t){return t.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")};var nM=function t(t,e){return function(n,r){var o=n.connectedCallback,s=n.disconnectedCallback;n.connectedCallback=function(){var n=this;o.call(this);var s=this[r],l=function(e){var r=[],o=[];var a=true,l=false,u=undefined;try{for(var c=e[Symbol.iterator](),d;!(a=(d=c.next()).done);a=true){var h=d.value;h.type==="childList"&&(h.addedNodes.forEach(function(e){var n;var o,a;if(e.nodeType!==1)return;var s=e;var l;((o=s.matches)===null||o===void 0?void 0:o.call(s,t))&&r.push(s),(n=r).push.apply(n,L((l=(a=s.querySelectorAll)===null||a===void 0?void 0:a.call(s,t))!==null&&l!==void 0?l:[]))}),h.removedNodes.forEach(function(e){var n;var r,a;if(e.nodeType!==1)return;var s=e;var l;((r=s.matches)===null||r===void 0?void 0:r.call(s,t))&&o.push(s),(n=o).push.apply(n,L((l=(a=s.querySelectorAll)===null||a===void 0?void 0:a.call(s,t))!==null&&l!==void 0?l:[]))}))}}catch(t){l=true;u=t}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(l){throw u}}}var p=function(t){return Array.from(new Set(t))},f=p(r),v=p(o);(f.length||v.length)&&s.call(n,f,v)},u=new MutationObserver(l);u.observe(this,{childList:!0,subtree:!0});var c=this.shadowRoot?new MutationObserver(l):null;c===null||c===void 0?void 0:c.observe(this.shadowRoot,{childList:!0,subtree:!0}),this.__lqObservers=[u,c].filter(function(t){return!!t}),function(){return a(function(){var n,r,o,a;return $(this,function(l){switch(l.label){case 0:r=(e===null||e===void 0?void 0:e.waitUntilFirstUpdate)&&"updateComplete"in this;if(!r)return[3,2];return[4,this.updateComplete];case 1:r=l.sent();l.label=2;case 2:r;a=L(this.querySelectorAll(t)).concat(L((o=(n=this.shadowRoot)===null||n===void 0?void 0:n.querySelectorAll(t))!==null&&o!==void 0?o:[]));a.length&&s.call(this,a,[]);return[2]}})}).call(n)}()},n.disconnectedCallback=function(){var t;s.call(this),(t=this.__lqObservers)===null||t===void 0?void 0:t.forEach(function(t){return t.disconnect()}),this.__lqObservers=void 0}}};var nO=function t(t,e){var n=k({waitUntilFirstUpdate:!1},e);return function(e,r){var o=e.update,a=Array.isArray(t)?t:[t];e.update=function(t){var e=this;a.forEach(function(o){var a=o;if(t.has(a)){var s=t.get(a),l=e[a];s!==l&&(!n.waitUntilFirstUpdate||e.hasUpdated)&&e[r](s,l)}}),o.call(this,t)}}};var nL=function t(t){this._$AN!==void 0?(sP(this),this._$AM=t,sM(this)):this._$AM=t};var nN=function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;var r=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(e)if(Array.isArray(r))for(var a=n;a<r.length;a++)sT(r[a],!1),sP(r[a]);else r!=null&&(sT(r,!1),sP(r));else sT(this,t)};var nU=function t(t,e,n,r){var o=n.getAttribute("width")?parseFloat(n.getAttribute("width")):n.naturalWidth,a=n.getAttribute("height")?parseFloat(n.getAttribute("height")):n.naturalHeight;switch(t){case"circle":{if(e.length!==3){console.error("Invalid circle coordinates:",e);return}var s=T(e,3),l=s[0],u=s[1],c=s[2],d=l/o*100,h=u/a*100,p=c/o*100,f=c/a*100;r.style.left=d-p+"%",r.style.top=h-f+"%",r.style.width=2*p+"%",r.style.height=2*f+"%",r.style.borderRadius="50%"}break;case"rect":{if(e.length!==4){console.error("Invalid rectangle coordinates:",e);return}var v=T(e,4),m=v[0],g=v[1],y=v[2],b=v[3],_=m/o*100,q=g/a*100,k=y/o*100,w=b/a*100;r.style.left=_+"%",r.style.top=q+"%",r.style.width=k-_+"%",r.style.height=w-q+"%"}break;case"ellipse":{if(e.length!==4){console.error("Invalid ellipse coordinates:",e);return}var x=T(e,4),C=x[0],E=x[1],S=x[2],A=x[3],R=C/o*100,I=E/a*100,P=S/o*100,M=A/a*100;r.style.left=R-P+"%",r.style.top=I-M+"%",r.style.width=2*P+"%",r.style.height=2*M+"%",r.style.borderRadius="50%"}break;case"poly":{var O,N,U,D;if(e.length<6||e.length%2!==0){console.error("Invalid polygon coordinates:",e);return}var V=[];for(var $=0;$<e.length;$+=2)V.push({x:e[$],y:e[$+1]});var z=(O=Math).min.apply(O,L(V.map(function(t){return t.x}))),j=(N=Math).max.apply(N,L(V.map(function(t){return t.x}))),F=(U=Math).min.apply(U,L(V.map(function(t){return t.y}))),H=(D=Math).max.apply(D,L(V.map(function(t){return t.y}))),B=z/o*100,Q=F/a*100,W=j/o*100,G=H/a*100;r.style.left=B+"%",r.style.top=Q+"%",r.style.width=W-B+"%",r.style.height=G-Q+"%";var X=V.map(function(t){return{x:(t.x-z)/(j-z)*100,y:(t.y-F)/(H-F)*100}}).map(function(t){return"".concat(t.x,"% ").concat(t.y,"%")}).join(",");r.style.clipPath="polygon(".concat(X,")")}break;default:console.error("Unsupported shape: ".concat(t));break}};var nD=function t(t,e){var r=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++){e[r]=arguments[r]}l(this,n);var o;o=s(this,n,L(e));o.identifier="";o.tabIndex=0;o.disabled=!1;o.readonly=!1;o.internals=o.attachInternals();return o}d(n,[{key:"handleDisabledChange",value:function t(t,e){this.tabIndex=e?-1:0,e&&this.blur()}},{key:"connectedCallback",value:function t(){p(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("register-".concat(e),{bubbles:!0,composed:!0}))}},{key:"disconnectedCallback",value:function t(){p(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("unregister-".concat(e),{bubbles:!0,composed:!0}))}},{key:"_onKeyUp",value:function t(t){t.altKey||t.code==="Space"&&(t.preventDefault(),this._activate())}},{key:"_onClick",value:function t(){this.disabled||this.readonly||(this.focus(),this._activate())}},{key:"_activate",value:function t(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent("activate-".concat(e),{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}},{key:"render",value:function t(){return im(z())}}]);return n}(t);return nJ([n({type:String})],r.prototype,"identifier",2),nJ([n({type:Number,reflect:!0,attribute:"tabindex"})],r.prototype,"tabIndex",2),nJ([n({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:lJ})],r.prototype,"disabled",2),nJ([n({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:lJ})],r.prototype,"readonly",2),nJ([nO("disabled",{waitUntilFirstUpdate:!0})],r.prototype,"handleDisabledChange",1),r};var nV=function t(t){return /*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculateChildren",value:function t(t){return t.map(function(t){var e=t;if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=e.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).every(function(t){return typeof t=="boolean"&&t})}}]);return e}(t)};var n$=function t(t){return /*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculateChildren",value:function t(t){var e=t.map(function(t){if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var e=t.calculate();return Number.isNaN(e)?(console.error("Unexpected value in qti-subtract, expected number"),null):Number(e)});return e.some(function(t){return t===null})?(console.error("One or more child expressions returned invalid values"),0):e[0]-e[1]}}]);return e}(t)};var nz;var nj=Object.defineProperty;var nF=Object.getOwnPropertyDescriptor;var nH=Object.getOwnPropertyNames;var nB=Object.prototype.hasOwnProperty;var nQ=function(t){throw TypeError(t)};var nW=function(t,e){for(var n in e)nj(t,n,{get:e[n],enumerable:!0})},nG=function(t,e,n,r){var o=true,a=false,s=undefined;if(e&&(typeof e==="undefined"?"undefined":N(e))=="object"||typeof e=="function")try{var l=function(){var o=c.value;!nB.call(t,o)&&o!==n&&nj(t,o,{get:function(){return e[o]},enumerable:!(r=nF(e,o))||r.enumerable})};for(var u=nH(e)[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(t){a=true;s=t}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return t};var nX=function(t){return nG(nj({},"__esModule",{value:!0}),t)},nJ=function(t,e,n,r){for(var o=r>1?void 0:r?nF(e,n):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(o=(r?s(e,n,o):s(o))||o);return r&&o&&nj(e,n,o),o};var nY=function(t,e,n){return e.has(t)||nQ("Cannot "+n)};var nK=function(t,e,n){return nY(t,e,"read from private field"),n?n.call(t):e.get(t)},nZ=function(t,e,n){return e.has(t)?nQ("Cannot add the same private member more than once"):m(e,WeakSet)?e.add(t):e.set(t,n)},n0=function(t,e,n,r){return nY(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n},n1=function(t,e,n){return nY(t,e,"access private method"),n};var n2=function(t,e,n,r){return{set _(i){n0(t,e,i,n)},get _(){return nK(t,e,r)}}};var n3={};nW(n3,{Correctness:function(){return or},INITIAL_SESSION_CONTEXT:function(){return i9},INITIAL_TEST_CONTEXT:function(){return oe},Interaction:function(){return oi},IsNullOrUndefined:function(){return U},ItemContainer:function(){return sZ},ItemCorrectResponseMode:function(){return s0},ItemPrintVariables:function(){return s8},ItemShowCandidateCorrection:function(){return s4},ItemShowCorrectResponse:function(){return s6},QtiAnd:function(){return uo},QtiAssessmentItem:function(){return ow},QtiAssessmentItemRef:function(){return oy},QtiAssessmentSection:function(){return o_},QtiAssessmentStimulusRef:function(){return oE},QtiAssessmentStimulusRefConnectedEvent:function(){return oC},QtiAssessmentTest:function(){return oq},QtiAssociableHotspot:function(){return l5},QtiAssociateInteraction:function(){return ln},QtiBaseValue:function(){return ua},QtiChoiceInteraction:function(){return la},QtiCompanionMaterialsInfo:function(){return oS},QtiConditionExpression:function(){return os},QtiContainerSize:function(){return us},QtiContains:function(){return ul},QtiContentBody:function(){return oN},QtiCorrect:function(){return uu},QtiCustomInteraction:function(){return ls},QtiCustomOperator:function(){return oA},QtiDefault:function(){return uc},QtiDelete:function(){return uj},QtiEndAttemptInteraction:function(){return ll},QtiEqual:function(){return uf},QtiEqualRounded:function(){return ud},QtiExpression:function(){return oa},QtiExtendedTextInteraction:function(){return lc},QtiFeedback:function(){return oc},QtiFeedbackBlock:function(){return oR},QtiFeedbackInline:function(){return oT},QtiFieldValue:function(){return u_},QtiGap:function(){return lK},QtiGapImg:function(){return lX},QtiGapMatchInteraction:function(){return lh},QtiGapText:function(){return lY},QtiGcd:function(){return uv},QtiGraphicAssociateInteraction:function(){return lm},QtiGraphicGapMatchInteraction:function(){return ly},QtiGraphicOrderInteraction:function(){return l_},QtiGt:function(){return um},QtiGte:function(){return ug},QtiHotspotChoice:function(){return l3},QtiHotspotInteraction:function(){return lk},QtiHottext:function(){return l0},QtiHottextInteraction:function(){return lw},QtiIndex:function(){return uF},QtiInlineChoice:function(){return lZ},QtiInlineChoiceInteraction:function(){return lE},QtiIsNull:function(){return ub},QtiItem:function(){return s7},QtiItemBody:function(){return oO},QtiLookupOutcomeValue:function(){return l7},QtiLt:function(){return uq},QtiLte:function(){return uk},QtiMapResponse:function(){return uw},QtiMapResponsePoint:function(){return ux},QtiMatch:function(){return uE},QtiMatchInteraction:function(){return lA},QtiMathOperator:function(){return uC},QtiMediaInteraction:function(){return lR},QtiMember:function(){return uS},QtiModalFeedback:function(){return oP},QtiMultiple:function(){return uA},QtiNot:function(){return uR},QtiNull:function(){return uy},QtiOr:function(){return uI},QtiOrderInteraction:function(){return lT},QtiOrdered:function(){return uT},QtiOutcomeDeclaration:function(){return o$},QtiPortableCustomInteraction:function(){return lM},QtiPositionObjectInteraction:function(){return lO},QtiPositionObjectStage:function(){return lL},QtiPower:function(){return uP},QtiPrintedVariable:function(){return uM},QtiProduct:function(){return uO},QtiPrompt:function(){return oL},QtiRandom:function(){return uz},QtiRandomInteger:function(){return u$},QtiResponseCondition:function(){return l9},QtiResponseDeclaration:function(){return oV},QtiResponseElse:function(){return un},QtiResponseElseIf:function(){return ui},QtiResponseIf:function(){return ur},QtiResponseProcessing:function(){return oH},QtiRound:function(){return uh},QtiRoundTo:function(){return up},QtiRubricBlock:function(){return oU},QtiRuleElement:function(){return od},QtiSelectPointInteraction:function(){return lV},QtiSetOutcomeValue:function(){return ut},QtiSetOutcomeValueRule:function(){return ue},QtiSimpleAssociableChoice:function(){return l1},QtiSimpleChoice:function(){return l2},QtiSliderInteraction:function(){return lz},QtiStringMatch:function(){return uN},QtiStylesheet:function(){return oD},QtiSubtract:function(){return uL},QtiSum:function(){return uU},QtiSumExpression:function(){return uD},QtiTest:function(){return om},QtiTestFeedback:function(){return oB},QtiTestPart:function(){return ok},QtiTextEntryInteraction:function(){return lW},QtiUploadInteraction:function(){return lG},QtiVariable:function(){return uV},QtiVariableDeclaration:function(){return oo},ScoringHelper:function(){return oh},TestCheckItem:function(){return sK},TestContainer:function(){return sF},TestEndAttempt:function(){return o1},TestItemLink:function(){return o0},TestNavigation:function(){return oQ},TestNext:function(){return oY},TestPagingButtonsStamp:function(){return sg},TestPrev:function(){return oK},TestPrintContext:function(){return sW},TestPrintVariables:function(){return sH},TestScoringButtons:function(){return sX},TestScoringFeedback:function(){return sY},TestSectionButtonsStamp:function(){return sB},TestSectionLink:function(){return sQ},TestShowCorrectResponse:function(){return o2},TestStamp:function(){return sG},TestView:function(){return oZ},TestViewToggle:function(){return sJ},computedContext:function(){return i5},computedItemContext:function(){return i3},configContext:function(){return i4},convertNumberToUniversalFormat:function(){return ou},decimalSeparator:function(){return ol},getItemByUri:function(){return l6},getManifestInfo:function(){return l4},itemContext:function(){return i8},itemContextVariables:function(){return i6},qtiAndMixin:function(){return nV},qtiContext:function(){return i7},qtiSubtractMixin:function(){return n$},qtiTransformItem:function(){return iW},qtiTransformManifest:function(){return iG},qtiTransformTest:function(){return iX},removeDoubleSlashes:function(){return V},sessionContext:function(){return ot},testContext:function(){return on}});var n5=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColSpan="",this.ariaCurrent="",this.ariaDescription="",this.ariaDisabled="",this.ariaExpanded="",this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=!0,this.__host=e}d(t,[{key:"shadowRoot",get:function t(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function t(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function t(){return!0}},{key:"setFormValue",value:function t(){}},{key:"setValidity",value:function t(){}}]);return t}();var n4=function t(t,e,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(t,n):o?o.value=n:e.set(t,n),n},n6=function t(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},n8,n7,n9,rt,re,rn,rr,ri,ro,ra,rs,rl,ru=function(t){var e;return typeof t=="boolean"?t:(e=t===null||t===void 0?void 0:t.capture)!==null&&e!==void 0?e:!1};var rc=/*#__PURE__*/function(){"use strict";function t(){l(this,t);this.__eventListeners=new Map,this.__captureEventListeners=new Map}d(t,[{key:"addEventListener",value:function t(t,e,n){var r=this;var o;if(e==null)return;var a=ru(n)?this.__captureEventListeners:this.__eventListeners,s=a.get(t);if(s===void 0)s=new Map,a.set(t,s);else if(s.has(e))return;var l=(typeof n==="undefined"?"undefined":N(n))=="object"&&n?n:{};(o=l.signal)===null||o===void 0?void 0:o.addEventListener("abort",function(){return r.removeEventListener(t,e,n)}),s.set(e,l!==null&&l!==void 0?l:{})}},{key:"removeEventListener",value:function t(t,e,n){if(e==null)return;var r=ru(n)?this.__captureEventListeners:this.__eventListeners,o=r.get(t);o!==void 0&&(o.delete(e),o.size||r.delete(t))}},{key:"dispatchEvent",value:function t(t){var e=this;var n=[this],r=this.__eventTargetParent;if(t.composed)for(;r;)n.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)n.push(r),r=r.__eventTargetParent;var o=!1,a=!1,s=0,l=null,u=null,c=null,d=t.stopPropagation,h=t.stopImmediatePropagation;Object.defineProperties(t,{target:k({get:function t(){return l!==null&&l!==void 0?l:u}},rh),srcElement:k({get:function e(){return t.target}},rh),currentTarget:k({get:function t(){return c}},rh),eventPhase:k({get:function t(){return s}},rh),composedPath:k({value:function(){return n}},rh),stopPropagation:k({value:function(){o=!0,d.call(t)}},rh),stopImmediatePropagation:k({value:function(){a=!0,h.call(t)}},rh)});var p=function(e,n,r){typeof e=="function"?e(t):typeof(e===null||e===void 0?void 0:e.handleEvent)=="function"&&e.handleEvent(t),n.once&&r.delete(e)},f=function(){return c=null,s=0,!t.defaultPrevented},v=n.slice().reverse();l=!this.__host||!t.composed?this:null;var m=function(t){for(u=e;u.__host&&t.includes(u.__host);)u=u.__host};var g=true,y=false,b=undefined;try{for(var _=v[Symbol.iterator](),q;!(g=(q=_.next()).done);g=true){var w=q.value;!l&&(!u||u===w.__host)&&m(v.slice(v.indexOf(w))),c=w,s=w===t.target?2:1;var x=w.__captureEventListeners.get(t.type);if(x){var C=true,E=false,S=undefined;try{for(var A=x[Symbol.iterator](),R;!(C=(R=A.next()).done);C=true){var I=T(R.value,2),P=I[0],M=I[1];if(p(P,M,x),a)return f()}}catch(t){E=true;S=t}finally{try{if(!C&&A.return!=null){A.return()}}finally{if(E){throw S}}}}if(o)return f()}}catch(t){y=true;b=t}finally{try{if(!g&&_.return!=null){_.return()}}finally{if(y){throw b}}}var O=t.bubbles?n:[this];u=null;var L=true,N=false,U=undefined;try{for(var D=O[Symbol.iterator](),V;!(L=(V=D.next()).done);L=true){var $=V.value;!l&&(!u||$===u.__host)&&m(O.slice(0,O.indexOf($)+1)),c=$,s=$===t.target?2:3;var z=$.__eventListeners.get(t.type);if(z){var j=true,F=false,H=undefined;try{for(var B=z[Symbol.iterator](),Q;!(j=(Q=B.next()).done);j=true){var W=T(Q.value,2),G=W[0],X=W[1];if(p(G,X,z),a)return f()}}catch(t){F=true;H=t}finally{try{if(!j&&B.return!=null){B.return()}}finally{if(F){throw H}}}}if(o)return f()}}catch(t){N=true;U=t}finally{try{if(!L&&D.return!=null){D.return()}}finally{if(N){throw U}}}return f()}}]);return t}(),rd=rc;var rh={__proto__:null};rh.enumerable=!0;Object.freeze(rh);var rp=(ra=/*#__PURE__*/function(){"use strict";function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};l(this,t);if(n8.set(this,!1),n7.set(this,!1),n9.set(this,!1),rt.set(this,!1),re.set(this,Date.now()),rn.set(this,!1),rr.set(this,void 0),ri.set(this,void 0),ro.set(this,void 0),this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,arguments.length===0)throw new Error("The type argument must be specified");if((typeof n==="undefined"?"undefined":N(n))!="object"||!n)throw new Error('The "options" argument must be an object');var r=n.bubbles,o=n.cancelable,a=n.composed;n4(this,n8,!!o,"f"),n4(this,n7,!!r,"f"),n4(this,n9,!!a,"f"),n4(this,rr,"".concat(e),"f"),n4(this,ri,null,"f"),n4(this,ro,!1,"f")}d(t,[{key:"initEvent",value:function t(t,e,n){throw new Error("Method not implemented.")}},{key:"stopImmediatePropagation",value:function t(){this.stopPropagation()}},{key:"preventDefault",value:function t(){n4(this,rt,!0,"f")}},{key:"target",get:function t(){return n6(this,ri,"f")}},{key:"currentTarget",get:function t(){return n6(this,ri,"f")}},{key:"srcElement",get:function t(){return n6(this,ri,"f")}},{key:"type",get:function t(){return n6(this,rr,"f")}},{key:"cancelable",get:function t(){return n6(this,n8,"f")}},{key:"defaultPrevented",get:function t(){return n6(this,n8,"f")&&n6(this,rt,"f")}},{key:"timeStamp",get:function t(){return n6(this,re,"f")}},{key:"composedPath",value:function t(){return n6(this,ro,"f")?[n6(this,ri,"f")]:[]}},{key:"returnValue",get:function t(){return!n6(this,n8,"f")||!n6(this,rt,"f")}},{key:"bubbles",get:function t(){return n6(this,n7,"f")}},{key:"composed",get:function t(){return n6(this,n9,"f")}},{key:"eventPhase",get:function t(){return n6(this,ro,"f")?ra.AT_TARGET:ra.NONE}},{key:"cancelBubble",get:function t(){return n6(this,rn,"f")},set:function t(t){t&&n4(this,rn,!0,"f")}},{key:"stopPropagation",value:function t(){n4(this,rn,!0,"f")}},{key:"isTrusted",get:function t(){return!1}}]);return t}(),n8=new WeakMap,n7=new WeakMap,n9=new WeakMap,rt=new WeakMap,re=new WeakMap,rn=new WeakMap,rr=new WeakMap,ri=new WeakMap,ro=new WeakMap,ra.NONE=0,ra.CAPTURING_PHASE=1,ra.AT_TARGET=2,ra.BUBBLING_PHASE=3,ra);Object.defineProperties(rp.prototype,{initEvent:rh,stopImmediatePropagation:rh,preventDefault:rh,target:rh,currentTarget:rh,srcElement:rh,type:rh,cancelable:rh,defaultPrevented:rh,timeStamp:rh,composedPath:rh,returnValue:rh,bubbles:rh,composed:rh,eventPhase:rh,cancelBubble:rh,stopPropagation:rh,isTrusted:rh});var rf=(rl=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};l(this,e);var r;var o;r=s(this,e,[t,n]),rs.set(r,void 0),n4(r,rs,(o=n===null||n===void 0?void 0:n.detail)!==null&&o!==void 0?o:null,"f");return r}d(e,[{key:"initCustomEvent",value:function t(t,e,n,r){throw new Error("Method not implemented.")}},{key:"detail",get:function t(){return n6(this,rs,"f")}}]);return e}(rp),rs=new WeakMap,rl);Object.defineProperties(rf.prototype,{detail:rh});var rv=rp,rm=rf;var rg;(rg=globalThis.Event)!==null&&rg!==void 0?rg:globalThis.Event=rv;var ry;(ry=globalThis.CustomEvent)!==null&&ry!==void 0?ry:globalThis.CustomEvent=rm;var rb=new WeakMap,r_=function(t){var e=rb.get(t);return e===void 0&&rb.set(t,e=new Map),e},rq=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.__shadowRootMode=null,t.__shadowRoot=null,t.__internals=null;return t}d(e,[{key:"attributes",get:function t(){return Array.from(r_(this)).map(function(t){var e=T(t,2),n=e[0],r=e[1];return{name:n,value:r}})}},{key:"shadowRoot",get:function t(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function t(){return this.constructor.__localName}},{key:"tagName",get:function t(){var t;return(t=this.localName)===null||t===void 0?void 0:t.toUpperCase()}},{key:"setAttribute",value:function t(t,e){r_(this).set(t,String(e))}},{key:"removeAttribute",value:function t(t){r_(this).delete(t)}},{key:"toggleAttribute",value:function t(t,e){if(this.hasAttribute(t)){if(e===void 0||!e)return this.removeAttribute(t),!1}else return e===void 0||e?(this.setAttribute(t,""),!0):!1;return!0}},{key:"hasAttribute",value:function t(t){return r_(this).has(t)}},{key:"attachShadow",value:function t(t){var e={host:this};return this.__shadowRootMode=t.mode,t&&t.mode==="open"&&(this.__shadowRoot=e),e}},{key:"attachInternals",value:function t(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var t=new n5(this);return this.__internals=t,t}},{key:"getAttribute",value:function t(t){var e;return(e=r_(this).get(t))!==null&&e!==void 0?e:null}}]);return e}(rd);var rk=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(rq),rw=rk;var rx;(rx=globalThis.litServerRoot)!==null&&rx!==void 0?rx:globalThis.litServerRoot=Object.defineProperty(new rw,"localName",{get:function t(){return"lit-server-root"}});var rC=/*#__PURE__*/function(){"use strict";function e(){l(this,e);this.__definitions=new Map,this.__reverseDefinitions=new Map,this.__pendingWhenDefineds=new Map}d(e,[{key:"define",value:function t(t,e){var n;if(this.__definitions.has(t))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(t,'" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.\nMake sure to test your application with a production build as repeat registrations will throw in production.'));else throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the name \"".concat(t,'" has already been used with this registry'));if(this.__reverseDefinitions.has(e))throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the constructor has already been used with this registry for the tag name ".concat(this.__reverseDefinitions.get(e)));var r;e.__localName=t,this.__definitions.set(t,{ctor:e,observedAttributes:(r=e.observedAttributes)!==null&&r!==void 0?r:[]}),this.__reverseDefinitions.set(e,t),(n=this.__pendingWhenDefineds.get(t))===null||n===void 0?void 0:n.resolve(e),this.__pendingWhenDefineds.delete(t)}},{key:"get",value:function t(t){var e;return(e=this.__definitions.get(t))===null||e===void 0?void 0:e.ctor}},{key:"getName",value:function t(t){var e;return(e=this.__reverseDefinitions.get(t))!==null&&e!==void 0?e:null}},{key:"upgrade",value:function t(t){throw new Error("customElements.upgrade is not currently supported in SSR. Please file a bug if you need it.")}},{key:"whenDefined",value:function e(e){return a(function(){var n,r;return $(this,function(o){n=this.__definitions.get(e);if(n)return[2,n.ctor];r=this.__pendingWhenDefineds.get(e);return[2,(r||(r=t(),this.__pendingWhenDefineds.set(e,r)),r.promise)]})}).call(this)}}]);return e}(),rE=rC;var rS=new rE;var rA=globalThis,rR=rA.ShadowRoot&&(rA.ShadyCSS===void 0||rA.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,rI=Symbol(),rT=new WeakMap,rP=/*#__PURE__*/function(){"use strict";function t(e,n,r){l(this,t);if(this._$cssResult$=!0,r!==rI)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}d(t,[{key:"styleSheet",get:function t(){var t=this.o,e=this.t;if(rR&&t===void 0){var n=e!==void 0&&e.length===1;n&&(t=rT.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&rT.set(e,t))}return t}},{key:"toString",value:function t(){return this.cssText}}]);return t}(),rM=function(t){return new rP(typeof t=="string"?t:t+"",void 0,rI)},rO=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++){n[r-1]=arguments[r]}var o=t.length===1?t[0]:n.reduce(function(e,n,r){return e+function(t){if(t._$cssResult$===!0)return t.cssText;if(typeof t=="number")return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")}(n)+t[r+1]},t[0]);return new rP(o,t,rI)},rL=function(t,e){var n=true,r=false,o=undefined;if(rR)t.adoptedStyleSheets=e.map(function(t){return m(t,CSSStyleSheet)?t:t.styleSheet});else try{for(var a=e[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;var u=document.createElement("style"),c=rA.litNonce;c!==void 0&&u.setAttribute("nonce",c),u.textContent=l.cssText,t.appendChild(u)}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}},rN=rR||rA.CSSStyleSheet===void 0?function(t){return t}:function(t){return m(t,CSSStyleSheet)?function(t){var e="";var n=true,r=false,o=undefined;try{for(var a=t.cssRules[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;e+=l.cssText}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return rM(e)}(t):t};var rU=Object.is,rD=Object.defineProperty,rV=Object.getOwnPropertyDescriptor,r$=Object.getOwnPropertyNames,rz=Object.getOwnPropertySymbols,rj=Object.getPrototypeOf,rF=globalThis;var rH;(rH=rF.customElements)!==null&&rH!==void 0?rH:rF.customElements=rS;var rB=rF.trustedTypes,rQ=rB?rB.emptyScript:"",rW=rF.reactiveElementPolyfillSupport,rG=function(t,e){return t},rX={toAttribute:function t(t,e){switch(e){case Boolean:t=t?rQ:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute:function t(t,e){var n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},rJ=function(t,e){return!rU(t,e)},rY={attribute:!0,type:String,converter:rX,reflect:!1,useDefault:!1,hasChanged:rJ};var rK,rZ;(rK=Symbol.metadata)!==null&&rK!==void 0?rK:Symbol.metadata=Symbol("metadata"),(rZ=rF.litPropertyMetadata)!==null&&rZ!==void 0?rZ:rF.litPropertyMetadata=new WeakMap;var r0;var r1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._$Ep=void 0,t.isUpdatePending=!1,t.hasUpdated=!1,t._$Em=null,t._$Ev();return t}d(e,[{key:"_$Ev",value:function t(){var t=this;var e;this._$ES=new Promise(function(e){return t.enableUpdating=e}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)===null||e===void 0?void 0:e.forEach(function(e){return e(t)})}},{key:"addController",value:function t(t){var e;var n;((n=this._$EO)!==null&&n!==void 0?n:this._$EO=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)===null||e===void 0?void 0:e.call(t))}},{key:"removeController",value:function t(t){var e;(e=this._$EO)===null||e===void 0?void 0:e.delete(t)}},{key:"_$E_",value:function t(){var t=new Map,e=this.constructor.elementProperties;var n=true,r=false,o=undefined;try{for(var a=e.keys()[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;this.hasOwnProperty(l)&&(t.set(l,this[l]),delete this[l])}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}t.size>0&&(this._$Ep=t)}},{key:"createRenderRoot",value:function t(){var t;var e=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return rL(e,this.constructor.elementStyles),e}},{key:"connectedCallback",value:function t(){var t;var e;(e=this.renderRoot)!==null&&e!==void 0?e:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(t){var e;return(e=t.hostConnected)===null||e===void 0?void 0:e.call(t)})}},{key:"enableUpdating",value:function t(t){}},{key:"disconnectedCallback",value:function t(){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(t){var e;return(e=t.hostDisconnected)===null||e===void 0?void 0:e.call(t)})}},{key:"attributeChangedCallback",value:function t(t,e,n){this._$AK(t,n)}},{key:"_$ET",value:function t(t,e){var n=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,n);if(r!==void 0&&n.reflect===!0){var o;var a=(((o=n.converter)===null||o===void 0?void 0:o.toAttribute)!==void 0?n.converter:rX).toAttribute(e,n.type);this._$Em=t,a==null?this.removeAttribute(r):this.setAttribute(r,a),this._$Em=null}}},{key:"_$AK",value:function t(t,e){var n=this.constructor,r=n._$Eh.get(t);if(r!==void 0&&this._$Em!==r){var o,a;var s=n.getPropertyOptions(r),l=typeof s.converter=="function"?{fromAttribute:s.converter}:((o=s.converter)===null||o===void 0?void 0:o.fromAttribute)!==void 0?s.converter:rX;this._$Em=r;var u=l.fromAttribute(e,s.type);var c;this[r]=(c=u!==null&&u!==void 0?u:(a=this._$Ej)===null||a===void 0?void 0:a.get(r))!==null&&c!==void 0?c:u,this._$Em=null}}},{key:"requestUpdate",value:function t(t,e,n){if(t!==void 0){var r;var o=this.constructor,a=this[t];var s;if(n!==null&&n!==void 0?n:n=o.getPropertyOptions(t),!(((s=n.hasChanged)!==null&&s!==void 0?s:rJ)(a,e)||n.useDefault&&n.reflect&&a===((r=this._$Ej)===null||r===void 0?void 0:r.get(t))&&!this.hasAttribute(o._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}},{key:"C",value:function t(t,e,n,r){var o=n.useDefault,a=n.reflect,s=n.wrapped;var l,u,c;o&&!((l=this._$Ej)!==null&&l!==void 0?l:this._$Ej=new Map).has(t)&&(this._$Ej.set(t,(u=r!==null&&r!==void 0?r:e)!==null&&u!==void 0?u:this[t]),s!==!0||r!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(e=void 0),this._$AL.set(t,e)),a===!0&&this._$Em!==t&&((c=this._$Eq)!==null&&c!==void 0?c:this._$Eq=new Set).add(t))}},{key:"_$EP",value:function t(){return a(function(){var t,e,n;return $(this,function(r){switch(r.label){case 0:this.isUpdatePending=!0;r.label=1;case 1:r.trys.push([1,3,,4]);return[4,this._$ES];case 2:r.sent();return[3,4];case 3:t=r.sent();Promise.reject(t);return[3,4];case 4:e=this.scheduleUpdate();n=e!=null;if(!n)return[3,6];return[4,e];case 5:n=r.sent();r.label=6;case 6:return[2,(n,!this.isUpdatePending)]}})}).call(this)}},{key:"scheduleUpdate",value:function t(){return this.performUpdate()}},{key:"performUpdate",value:function t(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var t;if((t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this._$Ep){var e=true,n=false,r=undefined;try{for(var o=this._$Ep[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=T(a.value,2),l=s[0],u=s[1];this[l]=u}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}this._$Ep=void 0}var c=this.constructor.elementProperties;var d=true,h=false,p=undefined;if(c.size>0)try{for(var f=c[Symbol.iterator](),v;!(d=(v=f.next()).done);d=true){var m=T(v.value,2),g=m[0],y=m[1];var b=y.wrapped,_=this[g];b!==!0||this._$AL.has(g)||_===void 0||this.C(g,void 0,y,_)}}catch(t){h=true;p=t}finally{try{if(!d&&f.return!=null){f.return()}}finally{if(h){throw p}}}}var q=!1,k=this._$AL;try{var w;q=this.shouldUpdate(k),q?(this.willUpdate(k),(w=this._$EO)===null||w===void 0?void 0:w.forEach(function(t){var e;return(e=t.hostUpdate)===null||e===void 0?void 0:e.call(t)}),this.update(k)):this._$EM()}catch(t){throw q=!1,this._$EM(),t}q&&this._$AE(k)}},{key:"willUpdate",value:function t(t){}},{key:"_$AE",value:function t(t){var e;(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(t){var e;return(e=t.hostUpdated)===null||e===void 0?void 0:e.call(t)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}},{key:"_$EM",value:function t(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function t(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function t(){return this._$ES}},{key:"shouldUpdate",value:function t(t){return!0}},{key:"update",value:function t(t){var e=this;this._$Eq&&(this._$Eq=this._$Eq.forEach(function(t){return e._$ET(t,e[t])})),this._$EM()}},{key:"updated",value:function t(t){}},{key:"firstUpdated",value:function t(t){}}],[{key:"addInitializer",value:function t(t){var e;this._$Ei(),((e=this.l)!==null&&e!==void 0?e:this.l=[]).push(t)}},{key:"observedAttributes",get:function t(){return this.finalize(),this._$Eh&&L(this._$Eh.keys())}},{key:"createProperty",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rY;if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){var n=Symbol(),r=this.getPropertyDescriptor(t,n,e);r!==void 0&&rD(this.prototype,t,r)}}},{key:"getPropertyDescriptor",value:function t(t,e,n){var r;var o=(r=rV(this.prototype,t))!==null&&r!==void 0?r:{get:function t(){return this[e]},set:function t(t){this[e]=t}},a=o.get,s=o.set;return{get:a,set:function e(e){var r=a===null||a===void 0?void 0:a.call(this);s===null||s===void 0?void 0:s.call(this,e),this.requestUpdate(t,r,n)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function t(t){var e;return(e=this.elementProperties.get(t))!==null&&e!==void 0?e:rY}},{key:"_$Ei",value:function t(){if(this.hasOwnProperty(rG("elementProperties")))return;var t=rj(this);t.finalize(),t.l!==void 0&&(this.l=L(t.l)),this.elementProperties=new Map(t.elementProperties)}},{key:"finalize",value:function t(){if(this.hasOwnProperty(rG("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(rG("properties"))){var t=this.properties,e=L(r$(t)).concat(L(rz(t)));var n=true,r=false,o=undefined;try{for(var a=e[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;this.createProperty(l,t[l])}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}}var u=this[Symbol.metadata];if(u!==null){var c=litPropertyMetadata.get(u);var d=true,h=false,p=undefined;if(c!==void 0)try{for(var f=c[Symbol.iterator](),v;!(d=(v=f.next()).done);d=true){var m=T(v.value,2),g=m[0],y=m[1];this.elementProperties.set(g,y)}}catch(t){h=true;p=t}finally{try{if(!d&&f.return!=null){f.return()}}finally{if(h){throw p}}}}this._$Eh=new Map;var b=true,_=false,q=undefined;try{for(var k=this.elementProperties[Symbol.iterator](),w;!(b=(w=k.next()).done);b=true){var x=T(w.value,2),C=x[0],E=x[1];var S=this._$Eu(C,E);S!==void 0&&this._$Eh.set(S,C)}}catch(t){_=true;q=t}finally{try{if(!b&&k.return!=null){k.return()}}finally{if(_){throw q}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function t(t){var e=[];if(Array.isArray(t)){var n=new Set(t.flat(1/0).reverse());var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;e.unshift(rN(u))}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}else t!==void 0&&e.push(rN(t));return e}},{key:"_$Eu",value:function t(t,e){var n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}}]);return e}((r0=globalThis.HTMLElement)!==null&&r0!==void 0?r0:rw);var r2;r1.elementStyles=[],r1.shadowRootOptions={mode:"open"},r1[rG("elementProperties")]=new Map,r1[rG("finalized")]=new Map,rW===null||rW===void 0?void 0:rW({ReactiveElement:r1}),((r2=rF.reactiveElementVersions)!==null&&r2!==void 0?r2:rF.reactiveElementVersions=[]).push("2.1.1");var r3=globalThis,r5=r3.trustedTypes,r4=r5?r5.createPolicy("lit-html",{createHTML:function(t){return t}}):void 0,r6="$lit$",r8="lit$".concat(Math.random().toFixed(9).slice(2),"$"),r7="?"+r8,r9="<".concat(r7,">"),it=r3.document===void 0?{createTreeWalker:function(){return{}}}:document,ie=function(){return it.createComment("")},ir=function(t){return t===null||(typeof t==="undefined"?"undefined":N(t))!="object"&&typeof t!="function"},ii=Array.isArray,io=function(t){return ii(t)||typeof(t===null||t===void 0?void 0:t[Symbol.iterator])=="function"},ia="[ \n\f\r]",is=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,il=/-->/g,iu=/>/g,ic=RegExp(">|".concat(ia,"(?:([^\\s\"'>=/]+)(").concat(ia,"*=").concat(ia,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),id=/'/g,ih=/"/g,ip=/^(?:script|style|textarea|title)$/i,iv=function(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++){r[o-1]=arguments[o]}return{_$litType$:t,strings:e,values:r}}},im=iv(1),ig=iv(2),iy=iv(3),ib=Symbol.for("lit-noChange"),i_=Symbol.for("lit-nothing"),iq=new WeakMap,ik=it.createTreeWalker(it,129);var iw=function(t,n){var r=t.length-1,o=[],a,s=n===2?"<svg>":n===3?"<math>":"",l=is;for(var u=0;u<r;u++){var c=t[u],d=void 0,h=void 0,p=-1,f=0;for(;f<c.length&&(l.lastIndex=f,h=l.exec(c),h!==null);)f=l.lastIndex,l===is?h[1]==="!--"?l=il:h[1]!==void 0?l=iu:h[2]!==void 0?(ip.test(h[2])&&(a=RegExp("</"+h[2],"g")),l=ic):h[3]!==void 0&&(l=ic):l===ic?h[0]===">"?(l=a!==null&&a!==void 0?a:is,p=-1):h[1]===void 0?p=-2:(p=l.lastIndex-h[2].length,d=h[1],l=h[3]===void 0?ic:h[3]==='"'?ih:id):l===ih||l===id?l=ic:l===il||l===iu?l=is:(l=ic,a=void 0);var v=l===ic&&t[u+1].startsWith("/>")?" ":"";s+=l===is?c+r9:p>=0?(o.push(d),c.slice(0,p)+r6+c.slice(p)+r8+v):c+r8+(p===-2?u:v)}return[e(t,s+(t[r]||"<?>")+(n===2?"</svg>":n===3?"</math>":"")),o]},ix=/*#__PURE__*/function(){"use strict";function t(e,n){var r=e.strings,o=e._$litType$;l(this,t);var a;this.parts=[];var s=0,u=0,c=r.length-1,d=this.parts,h=T(iw(r,o),2),p=h[0],f=h[1];if(this.el=t.createElement(p,n),ik.currentNode=this.el.content,o===2||o===3){var v;var m=this.el.content.firstChild;(v=m).replaceWith.apply(v,L(m.childNodes))}for(;(a=ik.nextNode())!==null&&d.length<c;){if(a.nodeType===1){var g=true,y=false,b=undefined;if(a.hasAttributes())try{for(var _=a.getAttributeNames()[Symbol.iterator](),q;!(g=(q=_.next()).done);g=true){var k=q.value;if(k.endsWith(r6)){var w=f[u++],x=a.getAttribute(k).split(r8),C=/([.?@])?(.*)/.exec(w);d.push({type:1,index:s,name:C[2],strings:x,ctor:C[1]==="."?iR:C[1]==="?"?iI:C[1]==="@"?iT:iA}),a.removeAttribute(k)}else k.startsWith(r8)&&(d.push({type:6,index:s}),a.removeAttribute(k))}}catch(t){y=true;b=t}finally{try{if(!g&&_.return!=null){_.return()}}finally{if(y){throw b}}}if(ip.test(a.tagName)){var E=a.textContent.split(r8),S=E.length-1;if(S>0){a.textContent=r5?r5.emptyScript:"";for(var A=0;A<S;A++)a.append(E[A],ie()),ik.nextNode(),d.push({type:2,index:++s});a.append(E[S],ie())}}}else if(a.nodeType===8)if(a.data===r7)d.push({type:2,index:s});else{var R=-1;for(;(R=a.data.indexOf(r8,R+1))!==-1;)d.push({type:7,index:s}),R+=r8.length-1}s++}}d(t,null,[{key:"createElement",value:function t(t,e){var n=it.createElement("template");return n.innerHTML=t,n}}]);return t}();function iC(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t,r=arguments.length>3?arguments[3]:void 0;var o,a;if(e===ib)return e;var s=r!==void 0?(o=n._$Co)===null||o===void 0?void 0:o[r]:n._$Cl,l=ir(e)?void 0:e._$litDirective$;var u;return(s===null||s===void 0?void 0:s.constructor)!==l&&(s===null||s===void 0?void 0:(a=s._$AO)===null||a===void 0?void 0:a.call(s,!1),l===void 0?s=void 0:(s=new l(t),s._$AT(t,n,r)),r!==void 0?((u=n._$Co)!==null&&u!==void 0?u:n._$Co=[])[r]=s:n._$Cl=s),s!==void 0&&(e=iC(t,s._$AS(t,e.values),s,r)),e}var iE=/*#__PURE__*/function(){"use strict";function t(e,n){l(this,t);this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}d(t,[{key:"parentNode",get:function t(){return this._$AM.parentNode}},{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"u",value:function t(t){var e;var n=this._$AD,r=n.el,o=r.content,a=n.parts,s=((e=t===null||t===void 0?void 0:t.creationScope)!==null&&e!==void 0?e:it).importNode(o,!0);ik.currentNode=s;var l=ik.nextNode(),u=0,c=0,d=a[0];for(;d!==void 0;){if(u===d.index){var h=void 0;d.type===2?h=new iS(l,l.nextSibling,this,t):d.type===1?h=new d.ctor(l,d.name,d.strings,this,t):d.type===6&&(h=new iP(l,this,t)),this._$AV.push(h),d=a[++c]}u!==(d===null||d===void 0?void 0:d.index)&&(l=ik.nextNode(),u++)}return ik.currentNode=it,s}},{key:"p",value:function t(t){var e=0;var n=true,r=false,o=undefined;try{for(var a=this._$AV[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;l!==void 0&&(l.strings!==void 0?(l._$AI(t,l,e),e+=l.strings.length-2):l._$AI(t[e])),e++}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}}}]);return t}(),iS=/*#__PURE__*/function(){"use strict";function t(e,n,r,o){l(this,t);var a;this.type=2,this._$AH=i_,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=o,this._$Cv=(a=o===null||o===void 0?void 0:o.isConnected)!==null&&a!==void 0?a:!0}d(t,[{key:"_$AU",get:function t(){var t;var e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cv}},{key:"parentNode",get:function t(){var t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&(t===null||t===void 0?void 0:t.nodeType)===11&&(t=e.parentNode),t}},{key:"startNode",get:function t(){return this._$AA}},{key:"endNode",get:function t(){return this._$AB}},{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;t=iC(this,t,e),ir(t)?t===i_||t==null||t===""?(this._$AH!==i_&&this._$AR(),this._$AH=i_):t!==this._$AH&&t!==ib&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):io(t)?this.k(t):this._(t)}},{key:"O",value:function t(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}},{key:"T",value:function t(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}},{key:"_",value:function t(t){this._$AH!==i_&&ir(this._$AH)?this._$AA.nextSibling.data=t:this.T(it.createTextNode(t)),this._$AH=t}},{key:"$",value:function t(t){var n;var r=t.values,o=t._$litType$,a=typeof o=="number"?this._$AC(t):(o.el===void 0&&(o.el=ix.createElement(e(o.h,o.h[0]),this.options)),o);if(((n=this._$AH)===null||n===void 0?void 0:n._$AD)===a)this._$AH.p(r);else{var s=new iE(a,this),l=s.u(this.options);s.p(r),this.T(l),this._$AH=s}}},{key:"_$AC",value:function t(t){var e=iq.get(t.strings);return e===void 0&&iq.set(t.strings,e=new ix(t)),e}},{key:"k",value:function e(e){ii(this._$AH)||(this._$AH=[],this._$AR());var n=this._$AH,r,o=0;var a=true,s=false,l=undefined;try{for(var u=e[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;o===n.length?n.push(r=new t(this.O(ie()),this.O(ie()),this,this.options)):r=n[o],r._$AI(d),o++}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}o<n.length&&(this._$AR(r&&r._$AB.nextSibling,o),n.length=o)}},{key:"_$AR",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,e=arguments.length>1?arguments[1]:void 0;var n,r;for((n=(r=this)._$AP)===null||n===void 0?void 0:n.call(r,!1,!0,e);t!==this._$AB;){var o=t.nextSibling;t.remove(),t=o}}},{key:"setConnected",value:function t(t){var e,n;this._$AM===void 0&&(this._$Cv=t,(e=(n=this)._$AP)===null||e===void 0?void 0:e.call(n,t))}}]);return t}(),iA=/*#__PURE__*/function(){"use strict";function t(e,n,r,o,a){l(this,t);this.type=1,this._$AH=i_,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=a,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=i_}d(t,[{key:"tagName",get:function t(){return this.element.tagName}},{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;var o=this.strings,a=!1;if(o===void 0)t=iC(this,t,e,0),a=!ir(t)||t!==this._$AH&&t!==ib,a&&(this._$AH=t);else{var s=t,l,u;for(t=o[0],l=0;l<o.length-1;l++)u=iC(this,s[n+l],e,l),u===ib&&(u=this._$AH[l]),a||(a=!ir(u)||u!==this._$AH[l]),u===i_?t=i_:t!==i_&&(t+=(u!==null&&u!==void 0?u:"")+o[l+1]),this._$AH[l]=u}a&&!r&&this.j(t)}},{key:"j",value:function t(t){t===i_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!==null&&t!==void 0?t:"")}}]);return t}(),iR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.type=3;return t}d(e,[{key:"j",value:function t(t){this.element[this.name]=t===i_?void 0:t}}]);return e}(iA),iI=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.type=4;return t}d(e,[{key:"j",value:function t(t){this.element.toggleAttribute(this.name,!!t&&t!==i_)}}]);return e}(iA),iT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n,r,o,a){l(this,e);var u;u=s(this,e,[t,n,r,o,a]),u.type=5;return u}d(e,[{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var n;if((t=(n=iC(this,t,e,0))!==null&&n!==void 0?n:i_)===ib)return;var r=this._$AH,o=t===i_&&r!==i_||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==i_&&(r===i_||o);o&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}},{key:"handleEvent",value:function t(t){var e;var n;typeof this._$AH=="function"?this._$AH.call((n=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}]);return e}(iA),iP=/*#__PURE__*/function(){"use strict";function t(e,n,r){l(this,t);this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}d(t,[{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AI",value:function t(t){iC(this,t)}}]);return t}(),iM={M:r6,P:r8,A:r7,C:1,L:iw,R:iE,D:io,V:iC,I:iS,H:iA,N:iI,U:iT,B:iR,F:iP},iO=r3.litHtmlPolyfillSupport;var iL;iO===null||iO===void 0?void 0:iO(ix,iS),((iL=r3.litHtmlVersions)!==null&&iL!==void 0?iL:r3.litHtmlVersions=[]).push("3.3.1");var iN=function(t,e,n){var r;var o=(r=n===null||n===void 0?void 0:n.renderBefore)!==null&&r!==void 0?r:e,a=o._$litPart$;if(a===void 0){var s;var l=(s=n===null||n===void 0?void 0:n.renderBefore)!==null&&s!==void 0?s:null;o._$litPart$=a=new iS(e.insertBefore(ie(),l),l,void 0,n!==null&&n!==void 0?n:{})}return a._$AI(t),a};var iU=globalThis,iD=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.renderOptions={host:t},t._$Do=void 0;return t}d(e,[{key:"createRenderRoot",value:function t(){var t;var n=p(f(e.prototype),"createRenderRoot",this).call(this);var r;return(r=(t=this.renderOptions).renderBefore)!==null&&r!==void 0?r:t.renderBefore=n.firstChild,n}},{key:"update",value:function t(t){var n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),p(f(e.prototype),"update",this).call(this,t),this._$Do=iN(n,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function t(){var t;p(f(e.prototype),"connectedCallback",this).call(this),(t=this._$Do)===null||t===void 0?void 0:t.setConnected(!0)}},{key:"disconnectedCallback",value:function t(){var t;p(f(e.prototype),"disconnectedCallback",this).call(this),(t=this._$Do)===null||t===void 0?void 0:t.setConnected(!1)}},{key:"render",value:function t(){return ib}}]);return e}(r1);iD._$litElement$=!0,iD.finalized=!0,(nz=iU.litElementHydrateSupport)===null||nz===void 0?void 0:nz.call(iU,{LitElement:iD});var iV=iU.litElementPolyfillSupport;iV===null||iV===void 0?void 0:iV({LitElement:iD});var i$;((i$=iU.litElementVersions)!==null&&i$!==void 0?i$:iU.litElementVersions=[]).push("4.2.1");var iz=function(t){return function(e,n){n!==void 0?n.addInitializer(function(){customElements.define(t,e)}):customElements.define(t,e)}};var ij={attribute:!0,type:String,converter:rX,reflect:!1,hasChanged:rJ},iF=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ij,e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;var r=n.kind,o=n.metadata,a=globalThis.litPropertyMetadata.get(o);if(a===void 0&&globalThis.litPropertyMetadata.set(o,a=new Map),r==="setter"&&((t=Object.create(t)).wrapped=!0),a.set(n.name,t),r==="accessor"){var s=n.name;return{set:function n(n){var r=e.get.call(this);e.set.call(this,n),this.requestUpdate(s,r,t)},init:function e(e){return e!==void 0&&this.C(s,void 0,t,e),e}}}if(r==="setter"){var l=n.name;return function n(n){var r=this[l];e.call(this,n),this.requestUpdate(l,r,t)}}throw Error("Unsupported decorator location: "+r)};var iH=function(t,e,n){return n.configurable=!0,n.enumerable=!0,Reflect.decorate&&(typeof e==="undefined"?"undefined":N(e))!="object"&&Object.defineProperty(t,e,n),n};var iB=String.raw,iQ=iB(j());var iW=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var e,n="",r={load:function o(o,a){n=o;var s=encodeURI(o);return t&&sessionStorage.getItem(s)?Promise.resolve(r.parse(sessionStorage.getItem(s))):_(o,a).then(function(n){return e=n,r.shuffleInteractions(),t&&sessionStorage.setItem(s,new XMLSerializer().serializeToString(e)),r})},parse:function t(t){return e=q(t),r},path:function(t){return E(e,t),n=null,r},fn:function t(t){return t(e),r},pciHooks:function t(t){var n=["hook","module"],o=t.substring(0,t.lastIndexOf("/"));var a=true,s=false,l=undefined;try{var u=function(){var n=d.value;e.querySelectorAll("["+n+"]").forEach(function(e){var r=e.getAttribute(n);!r.startsWith("data:")&&!r.startsWith("http")&&(e.setAttribute("base-url",t),e.setAttribute("module",o+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var c=n[Symbol.iterator](),d;!(a=(d=c.next()).done);a=true)u()}catch(t){s=true;l=t}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(s){throw l}}}return r},configurePci:function t(t,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"qti-portable-custom-interaction";return a(function(){var a,s,l,u,c,d,h,p,f,v,m,g,y,b,_,q,k,w,x,C,E,S,A,R,I,T,P,M,O,L,N,U,D;return $(this,function(T){switch(T.label){case 0:a=[],s=e.querySelectorAll(o);return[4,n(t,"/modules/module_resolution.js")];case 1:l=T.sent();return[4,n(t,"/modules/fallback_module_resolution.js")];case 2:u=T.sent();c=true,d=false,h=undefined;if(!(s.length>0))return[3,14];T.label=3;case 3:T.trys.push([3,12,13,14]);p=Array.from(s)[Symbol.iterator]();T.label=4;case 4:if(!!(c=(f=p.next()).done))return[3,11];v=f.value;v.setAttribute("data-base-url",t);m=v.getAttribute("custom-interaction-type-identifier");m&&a.includes(m)&&(m=m+a.length,v.setAttribute("custom-interaction-type-identifier",m),a.push(m)),m&&a.push(m);g=v.querySelector("qti-interaction-modules");if(!(g&&g.getAttribute("primary-configuration")))return[3,9];y=g.getAttribute("primary-configuration");if(!y)return[3,8];T.label=5;case 5:T.trys.push([5,7,,8]);return[4,n(t,"/".concat(y))];case 6:b=T.sent(),_=Array.from(g.querySelectorAll("qti-interaction-module"));q=true,k=false,w=undefined;try{for(x=_[Symbol.iterator]();!(q=(C=x.next()).done);q=true){E=C.value;S=E.getAttribute("id");if(S&&b.paths&&b.paths[S]){A=b.paths[S],R=Array.isArray(A)?A[0]:A;if(E.setAttribute("primary-path",R),u&&u.paths&&u.paths[S]){I=u.paths[S];Array.isArray(I)?E.setAttribute("fallback-path",I[0]):E.setAttribute("fallback-path",I)}}}}catch(t){k=true;w=t}finally{try{if(!q&&x.return!=null){x.return()}}finally{if(k){throw w}}}if(b.paths){for(var U in b.paths)if(!g.querySelector('qti-interaction-module[id="'.concat(U,'"]'))){P=e.createElement("qti-interaction-module");P.setAttribute("id",U);M=Array.isArray(b.paths[U])?b.paths[U][0]:b.paths[U];if(P.setAttribute("primary-path",M),u&&u.paths&&u.paths[U]){O=u.paths[U];Array.isArray(O)?P.setAttribute("fallback-path",O[0]):P.setAttribute("fallback-path",O)}g.appendChild(P)}}b.urlArgs&&g.setAttribute("url-args",b.urlArgs);return[3,8];case 7:L=T.sent();console.warn("Failed to load primary configuration: ".concat(y),L);return[3,8];case 8:return[3,10];case 9:if(l){N=function(t){var n=l.paths[t],r="";u&&u.paths&&u.paths[t]&&(r=u.paths[t]);var o=Array.isArray(n)?n:[n],a=Array.isArray(r)?r:[r],s=o.map(function(t,e){var n=a.length>e?a[e]:"";return{primaryPath:t,fallbackPath:n}});var c=true,d=false,h=undefined;try{var p=function(){var t=v.value;s.some(function(e){return e.fallbackPath===t})||s.push({primaryPath:o.length>0?o[0]:t,fallbackPath:t})};for(var f=a[Symbol.iterator](),v;!(c=(v=f.next()).done);c=true)p()}catch(t){d=true;h=t}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}var m=true,y=false,b=undefined;try{for(var _=s[Symbol.iterator](),q;!(m=(q=_.next()).done);m=true){var k=q.value;var w=e.createElement("qti-interaction-module");k.fallbackPath&&w.setAttribute("fallback-path",k.fallbackPath),w.setAttribute("id",t),w.setAttribute("primary-path",k.primaryPath),g&&g.appendChild(w)}}catch(t){y=true;b=t}finally{try{if(!m&&_.return!=null){_.return()}}finally{if(y){throw b}}}};v.querySelector("qti-interaction-modules")===null?(g=e.createElement("qti-interaction-modules"),v.appendChild(g)):g=v.querySelector("qti-interaction-modules");for(var V in l.paths)N(V)}T.label=10;case 10:c=true;return[3,4];case 11:return[3,14];case 12:D=T.sent();d=true;h=D;return[3,14];case 13:try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}return[7];case 14:return[2,r]}})})()},shuffleInteractions:function t(){var t=e.querySelectorAll('[shuffle="true"]'),n=Array.from(t).filter(function(t){var e;return(e=t.tagName)===null||e===void 0?void 0:e.toLowerCase().endsWith("-interaction")});var o=true,a=false,s=undefined;try{for(var l=n[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=I(c.tagName.toLowerCase()),h=Array.isArray(d)?d:[d];var p=true,f=false,v=undefined;try{var m=function(){var t=y.value;var e;var n=Array.from(c.querySelectorAll(t)),o=n.map(function(t,e){return{element:t,fixed:t.hasAttribute("fixed")&&t.getAttribute("fixed")==="true",originalOrder:e}}).filter(function(t){return t.fixed}),a=n.filter(function(t){return!t.hasAttribute("fixed")||t.getAttribute("fixed")!=="true"});if(a.length<=1)return{v:(console.warn("Shuffling is not possible with fewer than 2 non-fixed elements."),r)};var s=L(a),l=!1,u=0;for(;!l&&u<20;){u++;for(var d=a.length-1;d>0;d--){var h=Math.floor(Math.random()*(d+1));var p;p=[a[h],a[d]],a[d]=p[0],a[h]=p[1],p}l=!a.every(function(t,e){return t===s[e]})}if(!l)return{v:(console.warn("Failed to shuffle the choices after multiple attempts."),null)};c.removeAttribute("shuffle");var f=0;var v=true,m=false,g=undefined;try{for(var b=a[Symbol.iterator](),_;!(v=(_=b.next()).done);v=true){var q=_.value;q.parentElement.insertBefore(q,(e=o[f])===null||e===void 0?void 0:e.element),f++}}catch(t){m=true;g=t}finally{try{if(!v&&b.return!=null){b.return()}}finally{if(m){throw g}}}var k=true,w=false,x=undefined;try{for(var C=o[Symbol.iterator](),E;!(k=(E=C.next()).done);k=true){var S=E.value;S.element.parentElement.insertBefore(S.element,a[S.originalOrder])}}catch(t){w=true;x=t}finally{try{if(!k&&C.return!=null){C.return()}}finally{if(w){throw x}}}};for(var g=h[Symbol.iterator](),y;!(p=(y=g.next()).done);p=true){var b=m();if(N(b)==="object")return b.v}}catch(t){f=true;v=t}finally{try{if(!p&&g.return!=null){g.return()}}finally{if(f){throw v}}}}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return r},extendElementName:function(t,n){return c(e,t,n),r},extendElementsWithClass:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return g(e,t),r},customInteraction:function t(t,n){var o=e.querySelector("qti-custom-interaction"),a=o.querySelector("object");return o.setAttribute("data-base-ref",t),o.setAttribute("data-base-item",t+n),o.setAttribute("data",a.getAttribute("data")),o.setAttribute("width",a.getAttribute("width")),o.setAttribute("height",a.getAttribute("height")),o.removeChild(a),r},convertCDATAtoComment:function t(){return S(e),r},stripStyleSheets:function t(){return A(e),r},html:function t(){return n!==null&&E(e,n.substring(0,n.lastIndexOf("/"))),new XMLSerializer().serializeToString(w(e))},xml:function t(){return new XMLSerializer().serializeToString(e)},htmlDoc:function t(){return n!==null&&E(e,n.substring(0,n.lastIndexOf("/"))),w(e)},xmlDoc:function t(){return e}};return r};var iG=function(){var t,e={load:function n(n,r){return a(function(){return $(this,function(o){return[2,new Promise(function(o){_(n,r).then(function(n){return t=n,o(e)})})]})})()},parse:function e(e){t=q(e)},assessmentTest:function e(){var e=t.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:e.getAttribute("href"),identifier:e.getAttribute("identifier")}}};return e};var iX=function(){var t,e={load:function n(n,r){return a(function(){return $(this,function(o){return[2,new Promise(function(o,a){_(n,r).then(function(r){return t=r,e.path(n.substring(0,n.lastIndexOf("/"))),o(e)})})]})})()},parse:function n(n){return t=q(n),e},path:function(n){return E(t,n),e},fn:function n(n){return n(t),e},items:function e(){return b(t)},html:function e(){return new XMLSerializer().serializeToString(w(t))},xml:function e(){return new XMLSerializer().serializeToString(t)},htmlDoc:function e(){return w(t)},xmlDoc:function e(){return t}};return e};var iJ=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n));o.navigate=null;o.cacheTransform=!1;o.requestTimeout=3e4;o.postLoadTransformCallback=null;o.postLoadTestTransformCallback=null;o._activeController=null;o._loadResults=[];o._loadingState={expectedItems:0,connectedItems:0,expectedStimulus:0,loadedStimulus:0,isComplete:!1};o._loadedStimulusHrefs=new Set;o._loadingStimulusHrefs=new Set;o._bindEventHandlers();return o}d(e,[{key:"navigateTo",value:function t(t,e){var n=e||this._getDefaultNavigationId(t);n&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:t,id:n},bubbles:!0,composed:!0}))}},{key:"_bindEventHandlers",value:function t(){this.addEventListener("qti-request-navigation",this._handleNavigationRequest.bind(this)),this.addEventListener("qti-assessment-test-connected",this._handleTestConnected.bind(this)),this.addEventListener("qti-assessment-item-connected",this._handleItemConnected.bind(this)),this.addEventListener("qti-assessment-stimulus-ref-connected",this._handleStimulusRefConnected.bind(this))}},{key:"_handleTestConnected",value:function t(t){this._testElement=t.detail,this._initializeNavigation()}},{key:"_handleItemConnected",value:function t(t){var e=t.detail;this._loadingState.connectedItems++;var n=e.querySelectorAll("qti-assessment-stimulus-ref");this._loadingState.expectedStimulus+=n.length,this._checkLoadingComplete()}},{key:"_handleStimulusRefConnected",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:t.preventDefault();e=t.element,n=t.item;if(console.info("Stimulus ref connected:",{identifier:e.identifier,href:e.href,item:n.identifier}),this._loadedStimulusHrefs.has(e.href)){console.info("Stimulus already loaded, skipping:",e.href),this._loadingState.loadedStimulus++,this._checkLoadingComplete();return[2]}if(this._loadingStimulusHrefs.has(e.href)){console.info("Stimulus already loading, skipping duplicate:",e.href),this._loadingState.loadedStimulus++,this._checkLoadingComplete();return[2]}this._loadingStimulusHrefs.add(e.href),console.info("Starting stimulus load:",e.href);o.label=1;case 1:o.trys.push([1,3,4,5]);return[4,this._loadStimulusRef(e,n)];case 2:o.sent(),this._loadedStimulusHrefs.add(e.href),this._loadingState.loadedStimulus++,console.info("Stimulus loaded successfully:",e.href),this._checkLoadingComplete();return[3,5];case 3:r=o.sent();r.name!=="AbortError"&&console.warn("Failed to load stimulus ".concat(e.identifier,":"),r),this._loadingState.loadedStimulus++,this._checkLoadingComplete();return[3,5];case 4:this._loadingStimulusHrefs.delete(e.href);return[7];case 5:return[2]}})}).call(this)}},{key:"_getDefaultNavigationId",value:function t(t){var e,n,r,o,a;var s;return t==="section"?(n=this._testElement)===null||n===void 0?void 0:(e=n.querySelector("qti-assessment-section"))===null||e===void 0?void 0:e.identifier:(s=(r=this.sessionContext)===null||r===void 0?void 0:r.navItemRefId)!==null&&s!==void 0?s:(a=this._testElement)===null||a===void 0?void 0:(o=a.querySelector("qti-assessment-item-ref"))===null||o===void 0?void 0:o.identifier}},{key:"_initializeNavigation",value:function t(){if(!this.navigate)return;var t=this._getDefaultNavigationId(this.navigate);t&&this.navigateTo(this.navigate,t)}},{key:"_handleNavigationRequest",value:function t(t){return a(function(t){var e,n;return $(this,function(r){switch(r.label){case 0:e=t.detail;if(!(e===null||e===void 0?void 0:e.id))return[3,5];this._cancelPreviousNavigation();r.label=1;case 1:r.trys.push([1,3,4,5]);this._dispatchLoadingStarted(e.type,e.id),this._activeController=new AbortController;return[4,this._executeNavigation(e.type,e.id)];case 2:r.sent();return[3,5];case 3:n=r.sent();this._handleNavigationError(n,e.type,e.id);return[3,5];case 4:this._activeController=null,this._dispatchLoadingEnded(e.type,e.id);return[7];case 5:return[2]}})}).apply(this,arguments)}},{key:"_handleNavigationError",value:function t(t,e,n){t.name!=="AbortError"&&this._dispatchError(this._createNavigationError(t,e,n))}},{key:"_executeNavigation",value:function t(t,e){return a(function(){var n;return $(this,function(r){switch(r.label){case 0:if(!(t==="item"))return[3,2];return[4,this._navigateToItem(e)];case 1:n=r.sent();return[3,4];case 2:return[4,this._navigateToSection(e)];case 3:n=r.sent();r.label=4;case 4:n;return[2]}})}).call(this)}},{key:"_navigateToItem",value:function t(t){return a(function(){var e;return $(this,function(n){switch(n.label){case 0:e=this._findItemRef(t);this._updateSessionContext(e,t),this._resetLoadingState(),this._loadingState.expectedItems=1;return[4,this._loadItems([t])];case 1:n.sent();return[4,this._waitForLoadingComplete()];case 2:n.sent(),this._dispatchTestLoaded(this._loadResults);return[2]}})}).call(this)}},{key:"_navigateToSection",value:function t(t){return a(function(){var e,n,r,o;return $(this,function(a){switch(a.label){case 0:r=(n=this._findSection(t))===null||n===void 0?void 0:(e=n.closest("qti-test-part"))===null||e===void 0?void 0:e.identifier;this.sessionContext=x(k({},this.sessionContext),{navPartId:r,navSectionId:t,navItemRefId:null});o=this._getSectionItemIds(t);this._resetLoadingState(),this._loadingState.expectedItems=o.length;return[4,this._loadItems(o)];case 1:a.sent();return[4,this._waitForLoadingComplete()];case 2:a.sent(),this._dispatchTestLoaded(this._loadResults);return[2]}})}).call(this)}},{key:"_resetLoadingState",value:function t(){this._loadingState={expectedItems:0,connectedItems:0,expectedStimulus:0,loadedStimulus:0,isComplete:!1},this._loadedStimulusHrefs.clear(),this._loadingStimulusHrefs.clear()}},{key:"_checkLoadingComplete",value:function t(){var t=this._loadingState.connectedItems>=this._loadingState.expectedItems,e=this._loadingState.loadedStimulus>=this._loadingState.expectedStimulus;t&&e&&!this._loadingState.isComplete&&(this._loadingState.isComplete=!0)}},{key:"_waitForLoadingComplete",value:function t(){return a(function(){return $(this,function(t){switch(t.label){case 0:if(!!this._loadingState.isComplete)return[3,3];return[4,new Promise(function(t){return setTimeout(t,10)})];case 1:t.sent();t.label=2;case 2:return[3,0];case 3:return[2]}})}).call(this)}},{key:"getLoadingProgress",value:function t(){return k({},this._loadingState)}},{key:"_loadStimulusRef",value:function t(t,e){return a(function(){var n;return $(this,function(r){switch(r.label){case 0:console.info("Loading stimulus:",t.href);return[4,this._loadStimulus(t.href)];case 1:n=r.sent();console.info("Stimulus loaded, applying content:",n?"has content":"no content"),this._applyStimulusContent(n,t,e);return[2]}})}).call(this)}},{key:"_applyStimulusContent",value:function t(t,e,n){if(!t){console.warn("No stimulus content to apply");return}var r=t.querySelectorAll("qti-stimulus-body, qti-stylesheet");if(console.info("Found ".concat(r.length," stimulus elements to apply for ").concat(e.identifier)),r.length===0){console.warn("No qti-stimulus-body or qti-stylesheet elements found in stimulus");return}var o=[],a=document.querySelector('qti-assessment-item[identifier="'.concat(n.identifier,'"] [data-stimulus-idref="').concat(e.identifier,'"]'));if(a)o.push(a),console.info("Found specific target:",a);else{var s=Array.from(this.querySelectorAll('[data-stimulus-idref="'.concat(e.identifier,'"]')));if(s.length>0)o=s,console.info("Found targets by identifier:",s.length);else{var l=Array.from(this.querySelectorAll("[data-stimulus-idref]"));o=l,console.info("Using fallback targets:",l.length)}}if(o.length===0){console.warn("No targets found for stimulus content");return}o.forEach(function(t,e){var n;t.innerHTML="";var a=Array.from(r).map(function(t){return t.cloneNode(!0)});(n=t).append.apply(n,L(a)),console.info("Applied stimulus content to target ".concat(e+1,"/").concat(o.length))})}},{key:"_cancelPreviousNavigation",value:function t(){this._activeController&&(this._activeController.abort(),console.info("Previous navigation request cancelled")),this._clearNavigationState()}},{key:"_clearNavigationState",value:function t(){this._clearLoadedItems(),this._resetLoadingState(),this._loadResults=[]}},{key:"_loadItems",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:e=this;if(!this._testElement||t.length===0)return[2];n=t.map(function(t){return e._findItemRef(t)});this._clearLoadedItems(),this._clearStimulusRef();return[4,Promise.all(n.map(function(t){return e._loadSingleItem(t)}))];case 1:r=o.sent().filter(Boolean);r.forEach(function(t){var e=t.itemRef,n=t.doc;e&&n&&(e.xmlDoc=n)}),this._loadResults=r;return[2]}})}).call(this)}},{key:"_loadSingleItem",value:function t(t){return a(function(){var e,n,r,o;return $(this,function(a){switch(a.label){case 0:a.trys.push([0,4,,5]);return[4,iW(this.cacheTransform).load(t.href,(e=this._activeController)===null||e===void 0?void 0:e.signal)];case 1:n=a.sent();r=this.postLoadTransformCallback;if(!r)return[3,3];return[4,this.postLoadTransformCallback(n,t)];case 2:r=n=a.sent();a.label=3;case 3:return[2,(r,{itemRef:t,doc:n.htmlDoc()})];case 4:o=a.sent();if(o.name==="AbortError")throw console.info("Item load for ".concat(t.identifier," was aborted")),o;return[2,(console.warn("Failed to load item ".concat(t.identifier,":"),o),null)];case 5:return[2]}})}).call(this)}},{key:"_loadStimulus",value:function t(t){return a(function(){var e;return $(this,function(n){switch(n.label){case 0:return[4,iW().load(t,(e=this._activeController)===null||e===void 0?void 0:e.signal)];case 1:return[2,n.sent().htmlDoc()]}})}).call(this)}},{key:"_findItemRef",value:function t(t){var e;var n=(e=this._testElement)===null||e===void 0?void 0:e.querySelector('qti-assessment-item-ref[identifier="'.concat(t,'"]'));if(!n)throw new Error('Item with identifier "'.concat(t,'" not found'));return n}},{key:"_findSection",value:function t(t){var e;return((e=this._testElement)===null||e===void 0?void 0:e.querySelector('qti-assessment-section[identifier="'.concat(t,'"]')))||null}},{key:"_updateSessionContext",value:function t(t,e){var n,r;var o=(n=t.closest("qti-test-part"))===null||n===void 0?void 0:n.identifier,a=(r=t.closest("qti-assessment-section"))===null||r===void 0?void 0:r.identifier;this.sessionContext=x(k({},this.sessionContext),{navPartId:o,navSectionId:a,navItemRefId:e})}},{key:"_getSectionItemIds",value:function t(t){return Array.from(this._testElement.querySelectorAll('qti-assessment-section[identifier="'.concat(t,'"] > qti-assessment-item-ref'))).map(function(t){return t.identifier}).filter(Boolean)}},{key:"_clearLoadedItems",value:function t(){var t;var e=(t=this._testElement)===null||t===void 0?void 0:t.querySelectorAll("qti-assessment-item-ref");Array.from(e||[]).forEach(function(t){t.xmlDoc=null})}},{key:"_clearStimulusRef",value:function t(){this.querySelectorAll("[data-stimulus-idref]").forEach(function(t){return t.innerHTML=""})}},{key:"_createNavigationError",value:function t(t,e,n){return{message:t.message||"Failed to load ".concat(e,": ").concat(n),details:t,itemId:e==="item"?n:void 0,sectionId:e==="section"?n:void 0}}},{key:"_dispatchLoadingStarted",value:function t(t,e){this.dispatchEvent(new CustomEvent("qti-navigation-loading-started",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}},{key:"_dispatchLoadingEnded",value:function t(t,e){this.dispatchEvent(new CustomEvent("qti-navigation-loading-ended",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}},{key:"_dispatchError",value:function t(t){this.dispatchEvent(new CustomEvent("qti-navigation-error",{detail:t,bubbles:!0,composed:!0}))}},{key:"_dispatchTestLoaded",value:function t(t){var e=this;requestAnimationFrame(function(){e.dispatchEvent(new CustomEvent("qti-test-loaded",{detail:t.map(function(t){var e=t.itemRef;return{identifier:e===null||e===void 0?void 0:e.identifier,element:e}}),bubbles:!0,composed:!0}))})}}]);return e}(t);return nJ([n({type:String})],e.prototype,"navigate",2),nJ([n({type:Boolean,attribute:"cache-transform"})],e.prototype,"cacheTransform",2),nJ([n({type:Number})],e.prototype,"requestTimeout",2),nJ([n({attribute:!1})],e.prototype,"postLoadTransformCallback",2),nJ([n({attribute:!1})],e.prototype,"postLoadTestTransformCallback",2),e};var iY=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n)),o.sessionContext=x(k({},o.sessionContext),{view:"candidate"}),o.addEventListener("on-test-switch-view",function(t){o.sessionContext=x(k({},o.sessionContext),{view:t.detail}),o._updateElementView()}),o.addEventListener("qti-assessment-test-connected",function(){o._updateElementView()}),o.addEventListener("qti-assessment-item-connected",function(t){o._updateElementView(),o._setCorrectResponseVisibility(t.detail)});return o}d(e,[{key:"willUpdate",value:function t(t){p(f(e.prototype),"willUpdate",this).call(this,t),t.has("sessionContext")&&this._updateElementView()}},{key:"_updateElementView",value:function t(){var t=this;if(this._testElement){var e;Array.from(this._testElement.querySelectorAll("[view]")).forEach(function(e){e.classList.toggle("show",e.getAttribute("view")===t.sessionContext.view)});var n=(e=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this.sessionContext.navItemRefId,'"]')))===null||e===void 0?void 0:e.assessmentItem;n&&n.showCorrectResponse(this.sessionContext.view==="scorer")}}},{key:"_setCorrectResponseVisibility",value:function t(t){t.showCorrectResponse(this.sessionContext.view==="scorer")}}]);return e}(t);return e};var iK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n,r,o){l(this,e);var a;a=s(this,e,["context-request",{bubbles:!0,composed:!0}]),a.context=t,a.contextTarget=n,a.callback=r,a.subscribe=o!==null&&o!==void 0?o:!1;return a}return e}(D(Event));var iZ=/*#__PURE__*/function(){"use strict";function t(e,n,r,o){var a=this;l(this,t);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(t,e){a.unsubscribe&&(a.unsubscribe!==e&&(a.provided=!1,a.unsubscribe()),a.subscribe||a.unsubscribe()),a.value=t,a.host.requestUpdate(),a.provided&&!a.subscribe||(a.provided=!0,a.callback&&a.callback(t,e)),a.unsubscribe=e},this.host=e,n.context!==void 0){var s=n;var u;this.context=s.context,this.callback=s.callback,this.subscribe=(u=s.subscribe)!==null&&u!==void 0?u:!1}else this.context=n,this.callback=r,this.subscribe=o!==null&&o!==void 0?o:!1;this.host.addController(this)}d(t,[{key:"hostConnected",value:function t(){this.dispatchRequest()}},{key:"hostDisconnected",value:function t(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function t(){this.host.dispatchEvent(new iK(this.context,this.host,this.t,this.subscribe))}}]);return t}();var i0=/*#__PURE__*/function(){"use strict";function t(e){var n=this;l(this,t);this.subscriptions=new Map,this.updateObservers=function(){var t=true,e=false,r=undefined;try{for(var o=n.subscriptions[Symbol.iterator](),a;!(t=(a=o.next()).done);t=true){var s=T(a.value,2),l=s[0],u=s[1],c=u.disposer;l(n.o,c)}}catch(t){e=true;r=t}finally{try{if(!t&&o.return!=null){o.return()}}finally{if(e){throw r}}}},e!==void 0&&(this.value=e)}d(t,[{key:"value",get:function t(){return this.o},set:function t(t){this.setValue(t)}},{key:"setValue",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=e||!Object.is(t,this.o);this.o=t,n&&this.updateObservers()}},{key:"addCallback",value:function t(t,e,n){var r=this;if(!n)return void t(this.value);this.subscriptions.has(t)||this.subscriptions.set(t,{disposer:function(){r.subscriptions.delete(t)},consumerHost:e});var o=this.subscriptions.get(t),a=o.disposer;t(this.value,a)}},{key:"clearCallbacks",value:function t(){this.subscriptions.clear()}}]);return t}();var i1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n){l(this,e);var r;r=s(this,e,["context-provider",{bubbles:!0,composed:!0}]),r.context=t,r.contextTarget=n;return r}return e}(D(Event)),i2=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n,r){l(this,e);var o;var a,u;o=s(this,e,[n.context!==void 0?n.initialValue:r]),o.onContextRequest=function(t){if(t.context!==o.context)return;var e;var n=(e=t.contextTarget)!==null&&e!==void 0?e:t.composedPath()[0];n!==o.host&&(t.stopPropagation(),o.addCallback(t.callback,n,t.subscribe))},o.onProviderRequest=function(t){var e;if(t.context!==o.context||((e=t.contextTarget)!==null&&e!==void 0?e:t.composedPath()[0])===o.host)return;var n=new Set;var r=true,a=false,s=undefined;try{for(var l=o.subscriptions[Symbol.iterator](),u;!(r=(u=l.next()).done);r=true){var c=T(u.value,2),d=c[0],h=c[1],p=h.consumerHost;n.has(d)||(n.add(d),p.dispatchEvent(new iK(o.context,p,d,!0)))}}catch(t){a=true;s=t}finally{try{if(!r&&l.return!=null){l.return()}}finally{if(a){throw s}}}t.stopPropagation()},o.host=t,n.context!==void 0?o.context=n.context:o.context=n,o.attachListeners(),(a=(u=o.host).addController)===null||a===void 0?void 0:a.call(u,o);return o}d(e,[{key:"attachListeners",value:function t(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function t(){this.host.dispatchEvent(new i1(this.context,this.host))}}]);return e}(i0);var i3=Symbol("computedItemContext");var i5=Symbol("computedContext");var i4=Symbol("configContext");var i6=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}];var i8=Symbol("item");var i7=Symbol("qtiContext");var i9={view:"candidate"},ot=Symbol("testContext");var oe={items:[],testOutcomeVariables:[]},on=Symbol("testContext");var or=function(t){return t.Correct="correct",t.PartiallyCorrect="partially-correct",t.Incorrect="incorrect",t}(or||{}),oi=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.disabled=!1;t.readonly=!1;t._internals=t.attachInternals();return t}d(e,[{key:"internals",get:function t(){return this._internals}},{key:"isFullCorrectResponse",get:function t(){return this._isFullCorrectResponse},set:function t(t){this._isFullCorrectResponse=t,t&&(this.disabled=!0,this.setAttribute("response-identifier",this.responseIdentifier+"_cr"))}},{key:"correctResponse",get:function t(){return this._correctResponse},set:function t(t){this._correctResponse=t}},{key:"correctness",get:function t(){var t=this.responseVariable;return!t||t.correctResponse===null?null:t.correctResponse===t.value?"correct":"incorrect"}},{key:"isInline",get:function t(){return!1}},{key:"responseVariable",get:function t(){var t=this._context.variables.filter(function(t){return t.type==="response"}),e=this.getAttribute("response-identifier");return t.find(function(t){return t.identifier===e})}},{key:"toggleCorrectResponse",value:function t(t){var e,n;(((n=this)===null||n===void 0?void 0:(e=n.configContext)===null||e===void 0?void 0:e.correctResponseMode)||"internal")==="full"?this.toggleFullCorrectResponse(t):this.toggleInternalCorrectResponse(t)}},{key:"toggleFullCorrectResponse",value:function t(t){return a(function(){var e,n,r,o,a,s,l,u,c;return $(this,function(d){switch(d.label){case 0:o=this.nextSibling,a=m(o,HTMLDivElement)&&(o===null||o===void 0?void 0:o.classList.contains("full-correct-response")),s=this.responseVariable;if(!s)return[2];if(!(t&&(((n=this)===null||n===void 0?void 0:(e=n.configContext)===null||e===void 0?void 0:e.fullCorrectResponseOnlyWhenIncorrect)===!1||this.correctness!=="correct"))){;if(!a)return[2];(l=this.parentElement)===null||l===void 0?void 0:l.removeChild(o)}if(a)return[2];u=this.cloneNode(!0),c=document.createElement("div");c.classList.add("full-correct-response"),this.isInline?c.classList.add("full-correct-response-inline"):c.classList.add("full-correct-response-block"),c.role="full-correct-response",c.appendChild(u),u.isFullCorrectResponse=!0,(r=this.parentElement)===null||r===void 0?void 0:r.insertBefore(c,this.nextSibling);return[4,u.updateComplete];case 1:d.sent(),u.response=Array.isArray(s.correctResponse)?L(s.correctResponse):s.correctResponse;return[2]}})}).call(this)}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:(e===null||e===void 0?void 0:e.cardinality)==="single"?"":[]}},{key:"toggleCandidateCorrection",value:function t(t){this.responseVariable&&(this._internals.states.delete("candidate-correct"),this._internals.states.delete("candidate-partially-correct"),this._internals.states.delete("candidate-incorrect"),t&&(this.correctness==="correct"&&this._internals.states.add("candidate-correct"),this.correctness==="partially-correct"&&this._internals.states.add("candidate-partially-correct"),this.correctness==="incorrect"&&this._internals.states.add("candidate-incorrect")))}},{key:"value",get:function t(){return JSON.stringify(this.response)},set:function t(t){this.response=t?JSON.parse(t):null}},{key:"reportValidity",value:function t(){return this._internals.reportValidity()}},{key:"reset",value:function t(){this.response=null}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),!this.isFullCorrectResponse&&this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}},{key:"saveResponse",value:function t(t){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(t)?L(t):t}}))}}]);return e}(iD);oi.formAssociated=!0,nJ([M({context:i8,subscribe:!0})],oi.prototype,"_context",2),nJ([M({context:i4,subscribe:!0})],oi.prototype,"configContext",2),nJ([n({type:String,attribute:"response-identifier"})],oi.prototype,"responseIdentifier",2),nJ([n({reflect:!0,type:Boolean})],oi.prototype,"disabled",2),nJ([n({reflect:!0,type:Boolean})],oi.prototype,"readonly",2),nJ([r()],oi.prototype,"_isFullCorrectResponse",2),nJ([r()],oi.prototype,"_correctResponse",2);var oo=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(F())}},{key:"defaultValues",value:function t(t){var e=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(e.length===0)return null;var n=e.map(function(t){return t.innerHTML.trim()});return n.length>1||t==="multiple"||t==="ordered"?n:n[0]}}]);return e}(iD);var oa=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.getVariables=function(){return Array.from(t.children).map(function(e){switch(console.debug("getVariables",e.tagName.toLowerCase()),e.tagName.toLowerCase()){case"qti-base-value":return{baseType:e.getAttribute("base-type"),value:e.textContent.trim(),cardinality:"single"};case"qti-variable":{var n;var r=e.getAttribute("identifier")||"";return r==="QTI_CONTEXT"?((n=t.qtiContext)===null||n===void 0?void 0:n.QTI_CONTEXT)?{identifier:"QTI_CONTEXT",baseType:"record",value:t.qtiContext.QTI_CONTEXT,cardinality:"record",type:"context"}:(console.warn("QTI_CONTEXT not available"),{identifier:"QTI_CONTEXT",baseType:"record",value:t.qtiContext.QTI_CONTEXT,cardinality:"record",type:"context"}):t.context.variables.find(function(t){return t.identifier===r})||null}case"qti-multiple":{var o=e.getResult();return console.debug("values",o),(o===null||o===void 0?void 0:o.length)>0?{identifier:"",baseType:o[0].baseType,value:o.map(function(t){return t.value}),cardinality:"multiple",type:"response"}:null}case"qti-ordered":{var a=e.getResult();return(a===null||a===void 0?void 0:a.length)>0?{identifier:"",baseType:a[0].baseType,value:a.map(function(t){return t.value}),cardinality:"ordered",type:"response"}:null}case"qti-correct":{var s,l;var u=e.getAttribute("identifier")||"",c=((l=t.context)===null||l===void 0?void 0:(s=l.variables)===null||s===void 0?void 0:s.find(function(t){return t.identifier===u}))||null;return{baseType:c.baseType,value:c.correctResponse,cardinality:c.cardinality}}default:{try{var d;return{baseType:"integer",value:((d=e.getResult())===null||d===void 0?void 0:d.toString())||null,cardinality:"single"}}catch(t){console.warn("default not sufficient")}return null}}}).filter(function(t){return t!==null})};return t}d(e,[{key:"render",value:function t(){return im(H(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(iD);oa.styles=rO(B()),nJ([r()],oa.prototype,"result",2),nJ([M({context:i8,subscribe:!0}),r()],oa.prototype,"context",2),nJ([M({context:i7,subscribe:!0}),r()],oa.prototype,"qtiContext",2);var os=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(oa);var ol=function(){return new Intl.NumberFormat().format(.1).replace(/\d/g,"")},ou=function(t){if(typeof t=="string")return t;var e=ol();return e==="."?t.toLocaleString():t.toString().replace(".","").replace(e,".")};var oc=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}},{key:"checkShowFeedback",value:function t(t){var e=this._context.variables.find(function(e){return e.identifier===t})||null;if(this.outcomeIdentifier!==t||!e)return;var n=!1;Array.isArray(e.value)?n=e.value.includes(this.identifier):n=!U(this.identifier)&&!U(e===null||e===void 0?void 0:e.value)&&this.identifier===e.value||!1,this.showFeedback(n)}},{key:"showFeedback",value:function t(t){this.showStatus=t&&this.showHide==="show"||!t&&this.showHide==="hide"?"on":"off"}}]);return e}(iD);nJ([n({type:String,attribute:"show-hide"})],oc.prototype,"showHide",2),nJ([n({type:String,attribute:"outcome-identifier"})],oc.prototype,"outcomeIdentifier",2),nJ([n({type:String})],oc.prototype,"identifier",2),nJ([n({type:String,attribute:!1})],oc.prototype,"showStatus",2),nJ([M({context:i8,subscribe:!0}),r()],oc.prototype,"_context",2);var od=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(iD);var oh=/*#__PURE__*/function(){"use strict";function t(){l(this,t)}d(t,null,[{key:"isPointInArea",value:function t(t,e,n){if(n!=="point")return console.warn("Base type ".concat(n," is not supported for point area mapping.")),!1;var r=T(t.split(" ").map(Number),2),o=r[0],a=r[1],s=O(e.split(",")),l=s[0],u=s.slice(1),c=u.map(Number);switch(l.toLowerCase()){case"circle":case"default":{var d=T(c,3),h=d[0],p=d[1],f=d[2];return c.length!==3?(console.warn("Invalid circle definition: ".concat(e)),!1):Math.sqrt(Math.pow(o-h,2)+Math.pow(a-p,2))<=f}case"rect":{var v=T(c,4),m=v[0],g=v[1],y=v[2],b=v[3];return c.length!==4?(console.warn("Invalid rectangle definition: ".concat(e)),!1):o>=m&&o<=y&&a>=g&&a<=b}case"ellipse":{var _=T(c,4),q=_[0],k=_[1],w=_[2],x=_[3];if(c.length!==4)return console.warn("Invalid ellipse definition: ".concat(e)),!1;var C=Math.pow(o-q,2)/Math.pow(w,2),E=Math.pow(a-k,2)/Math.pow(x,2);return C+E<=1}case"poly":{if(c.length<6||c.length%2!==0)return console.warn("Invalid polygon definition: ".concat(e)),!1;var S=[];for(var A=0;A<c.length;A+=2)S.push({x:c[A],y:c[A+1]});return this.isPointInPolygon({x:o,y:a},S)}default:return console.warn("Unsupported shape type: ".concat(l)),!1}}},{key:"isPointInPolygon",value:function t(t,e){var n=!1;for(var r=0,o=e.length-1;r<e.length;o=r++){var a=e[r].x,s=e[r].y,l=e[o].x,u=e[o].y;s>t.y!=u>t.y&&t.x<(l-a)*(t.y-s)/(u-s)+a&&(n=!n)}return n}},{key:"compareSingleValues",value:function t(t,e,n){switch(n){case"identifier":case"string":return t===e;case"integer":{var r=parseInt(t,10),o=parseInt(e,10);if(!isNaN(r)&&!isNaN(o))return r===o;console.error("Cannot convert ".concat(t," and/or ").concat(e," to int."));break}case"float":{var a=parseFloat(t),s=parseFloat(e);if(!isNaN(a)&&!isNaN(s))return a===s;console.error("couldn't convert ".concat(t," and/or ").concat(e," to float."));break}case"pair":case"directedPair":{var l=t.split(" ").sort(),u=e.split(" ").sort();if(l.length===2&&u.length===2)return n==="pair"&&(l.sort(),u.sort()),l.join(" ")===u.join(" ");console.error("compared two pair but one of the values does not have 2 values: 1: ".concat(t," 2: ").concat(e));break}}return!1}}]);return t}();var op=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n));o.testContext=oe;o.sessionContext=i9;o._updateItemInTestContext=function(t){var e;var n=t._context,r=n.identifier,a=n.variables,s=o.testContext.items.find(function(t){return(t===null||t===void 0?void 0:t.identifier)===r});if(!s){console.warn("Item IDs between assessment.xml and item.xml should match: ".concat(r," is not found!"));return}if(((e=s.variables)===null||e===void 0?void 0:e.length)===1)o._updateItemVariablesInTestContext(r,a);else{var l=L(t.variables);var u=true,c=false,d=undefined;try{var h=function(){var t=f.value;var e=l.find(function(e){return e.identifier===t.identifier});e?e.value=t.value:l.push(t)};for(var p=s.variables[Symbol.iterator](),f;!(u=(f=p.next()).done);u=true)h()}catch(t){c=true;d=t}finally{try{if(!u&&p.return!=null){p.return()}}finally{if(c){throw d}}}t.variables=l}};o._initializeEventListeners();return o}d(e,[{key:"updateItemVariables",value:function t(t,e){var n=this.testContext.items.find(function(e){return e.identifier===t});n&&(n.variables=n.variables.map(function(t){var n=e.find(function(e){return e.identifier===t.identifier});return n?k({},t,n):t}));var r=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(t,'"]'));r&&r.assessmentItem&&(r.assessmentItem.variables=e)}},{key:"_initializeEventListeners",value:function t(){var t=this;this.addEventListener("qti-assessment-test-connected",function(e){if(t.testContext=oe,t.sessionContext=i9,t.testContext&&t.testContext.items.length>0)return;t._testElement=e.detail;var n=Array.from(t._testElement.querySelectorAll("qti-assessment-item-ref")).map(function(t){return{href:t.href,identifier:t.identifier,category:t.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}});t.testContext=x(k({},t.testContext),{items:n})}),this.addEventListener("qti-assessment-item-connected",function(e){var n;var r=e.detail,o=(n=r.closest("qti-assessment-item-ref"))===null||n===void 0?void 0:n.identifier;o&&(r.assessmentItemRefId=o),t._updateItemInTestContext(e.detail)}),this.addEventListener("qti-item-context-updated",function(e){t._updateItemVariablesInTestContext(e.detail.itemContext.identifier,e.detail.itemContext.variables)})}},{key:"_updateItemVariablesInTestContext",value:function t(t,e){this.testContext=x(k({},this.testContext),{items:this.testContext.items.map(function(n){return n.identifier!==t?n:x(k({},n),{variables:e.map(function(t){var e=n.variables.find(function(e){return e.identifier===t.identifier});return e?k({},e,t):t})})})}),this.dispatchEvent(new CustomEvent("qti-test-context-updated",{detail:this.testContext,bubbles:!1,composed:!1}))}}]);return e}(t);return nJ([n({attribute:!1,type:Object}),P({context:on})],e.prototype,"testContext",2),nJ([n({attribute:!1,type:Object}),P({context:ot})],e.prototype,"sessionContext",2),e},of=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(op(iD));var ov=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n)),o.addEventListener("qti-register-variable",function(t){o.testContext=x(k({},o.testContext),{testOutcomeVariables:L(o.testContext.testOutcomeVariables||[]).concat([t.detail.variable])}),t.stopPropagation()}),o.addEventListener("qti-set-outcome-value",function(t){var e=t.detail,n=e.outcomeIdentifier,r=e.value;o.updateOutcomeVariable(n,r),t.stopPropagation()});return o}d(e,[{key:"outcomeProcessing",value:function t(){var t=this.querySelector("qti-outcome-processing");return t?(t===null||t===void 0?void 0:t.process(),!0):!1}},{key:"updateOutcomeVariable",value:function t(t,e){var n;var r=this.getOutcome(t);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(t,", it is not available"));return}this.testContext=x(k({},this.testContext),{testOutcomeVariables:(n=this.testContext.testOutcomeVariables)===null||n===void 0?void 0:n.map(function(n){return n.identifier!==t?n:x(k({},n),{value:r.cardinality==="single"?e:L(n.value).concat([e])})})})}},{key:"getOutcome",value:function t(t){return this.getVariable(t)}},{key:"getVariable",value:function t(t){var e;return((e=this.testContext.testOutcomeVariables)===null||e===void 0?void 0:e.find(function(e){return e.identifier===t}))||null}}]);return e}(t);return e};var om=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(Q())}}]);return e}(iJ(iY(ov(op(iD)))));om=nJ([iz("qti-test")],om);var og={fromAttribute:function t(t){return t==="true"},toAttribute:function t(t){return t?"true":"false"}},oy=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.weigths=new Map;return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"assessmentItem",get:function t(){var t;return(t=this.renderRoot)===null||t===void 0?void 0:t.querySelector("qti-assessment-item")}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}));return[2]}})}).call(this)}},{key:"render",value:function t(){return this.myTemplate?this.myTemplate({xmlDoc:this.xmlDoc}):this.xmlDoc}}]);return e}(iD);nJ([n({type:String})],oy.prototype,"category",2),nJ([n({type:String})],oy.prototype,"identifier",2),nJ([n({type:Boolean,converter:og})],oy.prototype,"required",2),nJ([n({type:Boolean,converter:og})],oy.prototype,"fixed",2),nJ([n({type:String})],oy.prototype,"href",2),nJ([n({type:Object,attribute:!1})],oy.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",oy);var ob={fromAttribute:function t(t){return t==="true"},toAttribute:function t(t){return t?"true":"false"}},o_=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._title="";return t}d(e,[{key:"title",get:function t(){return this._title},set:function t(t){this._title=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:this._title=this.getAttribute("title")||"",r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(W())}}]);return e}(iD);nJ([n({type:String})],o_.prototype,"identifier",2),nJ([n({type:String})],o_.prototype,"required",2),nJ([n({type:Boolean,converter:ob})],o_.prototype,"fixed",2),nJ([n({type:Boolean,converter:ob})],o_.prototype,"visible",2),nJ([n({type:Boolean,converter:ob,attribute:"keep-together"})],o_.prototype,"keepTogether",2),nJ([M({context:on,subscribe:!0})],o_.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",o_);var oq=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._title="";return t}d(e,[{key:"title",get:function t(){return this._title},set:function t(t){this._title=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(G())}}]);return e}(iD);nJ([n({type:String})],oq.prototype,"identifier",2),nJ([n({type:String})],oq.prototype,"title",1),nJ([M({context:on,subscribe:!0})],oq.prototype,"_testContext",2),oq=nJ([iz("qti-assessment-test")],oq);var ok=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.identifier="";t.class="";t.navigationMode="nonlinear";t.submissionMode="individual";t._title="";return t}d(e,[{key:"title",get:function t(){return this._title},set:function t(t){this._title=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(X())}}]);return e}(iD);nJ([n({type:String})],ok.prototype,"identifier",2),nJ([n({type:String})],ok.prototype,"class",2),nJ([n({type:String,attribute:"navigation-mode"})],ok.prototype,"navigationMode",2),nJ([n({type:String,attribute:"submission-mode"})],ok.prototype,"submissionMode",2),ok=nJ([iz("qti-test-part")],ok);customElements.get("qti-test-part")||customElements.define("qti-test-part",ok);var ow=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._templateProcessing=null;t.identifier="";t.adaptive="false";t.timeDependent=null;t._handleDisabledChange=function(e,n){t._interactionElements.forEach(function(t){return t.disabled=n})};t._handleReadonlyChange=function(e,n){return t._interactionElements.forEach(function(t){return t.readonly=n})};t._context={variables:i6};t._initialContext=x(k({},t._context),{variables:t._context.variables});t._feedbackElements=[];t._interactionElements=[];t._handleRegisterVariable=function(e){e.stopImmediatePropagation(),t._context=x(k({},t._context),{variables:L(t._context.variables).concat([e.detail.variable])}),t._initialContext=t._context,e.stopPropagation()};t._handleRegisterFeedback=function(e){var n;e.stopImmediatePropagation();var r=e.detail;t._feedbackElements.push(r),(Number((n=t._context.variables.find(function(t){return t.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)||0)>0&&r.checkShowFeedback(r.outcomeIdentifier)};t._handleRegisterInteraction=function(e){e.stopImmediatePropagation(),t._interactionElements.push(e.detail.interactionElement)};t._handleEndAttempt=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.responseIdentifier,o=n.countAttempt;t.validate(),t.updateResponseVariable(r,"true"),t.processResponse(o)};t._handleSetOutcomeValue=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.outcomeIdentifier,o=n.value;t.updateOutcomeVariable(r,o),e.stopPropagation()};t._handleUpdateResponseVariable=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.responseIdentifier,o=n.response;t.updateResponseVariable(r,o),t.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:t._context}}))};return t}d(e,[{key:"title",get:function t(){return this._itemTitle},set:function t(t){this._itemTitle=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"assessmentItemRefId",get:function t(){return this._context.identifier},set:function t(t){this._context=x(k({},this._context),{identifier:t})}},{key:"variables",get:function t(){return this._context.variables.map(function(t){return k({identifier:t.identifier,value:t.value,type:t.type},t.type==="outcome"&&t.identifier==="SCORE"?{externalScored:t.externalScored}:{})})},set:function t(t){var e=this;if(!Array.isArray(t)||t.some(function(t){return!("identifier"in t)})){console.warn("variables property should be an array of VariableDeclaration");return}this._context=x(k({},this._context),{variables:this._context.variables.map(function(e){var n=t.find(function(t){return t.identifier===e.identifier});return n?x(k({},e,n),{interpolationTable:e.interpolationTable}):e})}),this._context.variables.forEach(function(t){if(t.type==="response"){var n=e._interactionElements.find(function(e){return e.responseIdentifier===t.identifier});n&&(n.response=t.value)}}),this.variables.forEach(function(t){t.type==="outcome"&&e._feedbackElements.forEach(function(e){return e.checkShowFeedback(t.identifier)})})}},{key:"responses",set:function t(t){var e=true,n=false,r=undefined;if(t)try{var o,a=function(){var t=l.value;o.getResponse(t.responseIdentifier)&&o.updateResponseVariable(t.responseIdentifier,t.response);var e=o._interactionElements.find(function(e){return e.getAttribute("response-identifier")===t.responseIdentifier});e&&(e.response=t.response)};for(var s=t[Symbol.iterator](),l;!(e=(l=s.next()).done);e=true)o=this,a()}catch(t){n=true;r=t}finally{try{if(!e&&s.return!=null){s.return()}}finally{if(n){throw r}}}}},{key:"render",value:function t(){return im(J())}},{key:"connectedCallback",value:function t(){var t=this;this._attachEventListeners(),p(f(e.prototype),"connectedCallback",this).call(this),this.updateComplete.then(function(){t.dispatchEvent(new CustomEvent("qti-assessment-item-connected",{bubbles:!0,composed:!0,detail:t})),t._processTemplates()})}},{key:"disconnectedCallback",value:function t(){this._removeEventListeners(),p(f(e.prototype),"disconnectedCallback",this).call(this)}},{key:"_attachEventListeners",value:function t(){this.addEventListener("qti-register-variable",this._handleRegisterVariable),this.addEventListener("qti-register-feedback",this._handleRegisterFeedback),this.addEventListener("qti-register-interaction",this._handleRegisterInteraction),this.addEventListener("end-attempt",this._handleEndAttempt),this.addEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.addEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"_removeEventListeners",value:function t(){this.removeEventListener("qti-register-variable",this._handleRegisterVariable),this.removeEventListener("qti-register-feedback",this._handleRegisterFeedback),this.removeEventListener("qti-register-interaction",this._handleRegisterInteraction),this.removeEventListener("end-attempt",this._handleEndAttempt),this.removeEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.removeEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"showCorrectResponse",value:function t(t){var e=true,n=false,r=undefined;try{for(var o=this._interactionElements[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s.toggleCorrectResponse(t)}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}document.querySelectorAll("item-show-correct-response").forEach(function(e){e.shown=t})}},{key:"showCandidateCorrection",value:function t(t){var e=true,n=false,r=undefined;try{for(var o=this._interactionElements[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s.toggleCandidateCorrection(t)}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}document.querySelectorAll("item-show-candidate-correction").forEach(function(e){e.shown=t})}},{key:"_processTemplates",value:function t(){this._templateProcessing=this.querySelector("qti-template-processing"),this._templateProcessing&&this._templateProcessing.process()}},{key:"processResponse",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n;this.validate(e),t&&this.updateOutcomeVariable("numAttempts",(+((n=this._context.variables.find(function(t){return t.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)+1).toString());var r=this.querySelector("qti-response-processing");return!r||!r.process?!1:(r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}})),!0)}},{key:"resetResponses",value:function t(){this._context=this._initialContext}},{key:"getResponse",value:function t(t){return this.getVariable(t)}},{key:"getOutcome",value:function t(t){return this.getVariable(t)}},{key:"getVariable",value:function t(t){return this._context.variables.find(function(e){return e.identifier===t})||null}},{key:"updateResponseVariable",value:function t(t,e){this._context=x(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==t?n:x(k({},n),{value:e})})}),this.showCandidateCorrection(!1),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,responseIdentifier:t,response:Array.isArray(e)?L(e):e}})),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}},{key:"setOutcomeVariable",value:function t(t,e){this.updateOutcomeVariable(t,e),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}}))}},{key:"updateOutcomeVariable",value:function t(t,e){var n;var r=this.getOutcome(t);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(t,", it is not available"));return}this._context=x(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==t?n:x(k({},n),{value:r.cardinality==="single"||Array.isArray(e)?e:[e]})})}),this._feedbackElements.forEach(function(e){return e.checkShowFeedback(t)}),this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:t,value:(n=this._context.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.value}}))}},{key:"validate",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;var e=this._interactionElements.every(function(t){return t.validate()});return t&&this.reportValidity(),e}},{key:"reportValidity",value:function t(){var t=true,e=false,n=undefined;try{for(var r=this._interactionElements[Symbol.iterator](),o;!(t=(o=r.next()).done);t=true){var a=o.value;a.reportValidity()}}catch(t){e=true;n=t}finally{try{if(!t&&r.return!=null){r.return()}}finally{if(e){throw n}}}}},{key:"_getCompletionStatus",value:function t(){var t=this.validate(!1);return t===!0?"completed":t===!1?"incomplete":"not_attempted"}}]);return e}(iD);nJ([n({type:String})],ow.prototype,"identifier",2),nJ([n({type:String})],ow.prototype,"adaptive",2),nJ([n({type:String})],ow.prototype,"timeDependent",2),nJ([n({type:String})],ow.prototype,"title",1),nJ([n({type:Boolean})],ow.prototype,"disabled",2),nJ([nO("disabled",{waitUntilFirstUpdate:!0})],ow.prototype,"_handleDisabledChange",2),nJ([n({type:Boolean})],ow.prototype,"readonly",2),nJ([nO("readonly",{waitUntilFirstUpdate:!0})],ow.prototype,"_handleReadonlyChange",2),nJ([P({context:i8})],ow.prototype,"_context",2),ow=nJ([iz("qti-assessment-item")],ow);var ox=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n){l(this,e);var r;r=s(this,e,[e.eventName,{bubbles:!0,composed:!0,cancelable:!0}]);r.element=t;r.item=n;return r}return e}(D(Event));ox.eventName="qti-assessment-stimulus-ref-connected";var oC=ox,oE=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.identifier="";t.href="";return t}d(e,[{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){var t,e,o,a;return $(this,function(s){switch(s.label){case 0:r().call(n);return[4,this.updateComplete];case 1:s.sent();t=this.closest("qti-assessment-item"),e=new oC(this,t);this.dispatchEvent(e);o=t===null||t===void 0?void 0:t.querySelector('[data-stimulus-idref="'.concat(this.identifier,'"]'));a=!e.defaultPrevented&&o;if(!a)return[3,3];return[4,this.updateStimulusRef(o)];case 2:a=s.sent();s.label=3;case 3:a;return[2]}})}).call(this)}},{key:"updateStimulusRef",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:return[4,iW().load(this.href).then(function(t){return t.htmlDoc()})];case 1:e=o.sent();if(e){;r=e.querySelectorAll("qti-stimulus-body, qti-stylesheet");t.innerHTML="",(n=t).append.apply(n,L(r))}return[2]}})}).call(this)}}]);return e}(iD);nJ([n({type:String})],oE.prototype,"identifier",2),nJ([n({type:String})],oE.prototype,"href",2),oE=nJ([iz("qti-assessment-stimulus-ref")],oE);var oS=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(iD);oS=nJ([iz("qti-companion-materials-info")],oS);var oA=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(Y(),this.handleSlotChange)}},{key:"handleSlotChange",value:function t(){var t;var e;var n=Array.from((e=(t=this.firstElementChild)===null||t===void 0?void 0:t.childNodes)!==null&&e!==void 0?e:[]).find(function(t){return t.nodeType===Node.COMMENT_NODE});try{var r;this.operatorFunction=new Function("context","fn","item",(r=n===null||n===void 0?void 0:n.textContent)!==null&&r!==void 0?r:"")}catch(t){console.error("custom-operator contains invalid javascript code",t)}}},{key:"calculate",value:function t(){var t=this;var e={variable:function(e){var n,r;var o;return(o=(r=t._context)===null||r===void 0?void 0:(n=r.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.value)!==null&&o!==void 0?o:""},correct:function(e){var n,r;var o;return(o=(r=t._context)===null||r===void 0?void 0:(n=r.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.correctResponse)!==null&&o!==void 0?o:""}},n={getVariable:function(e){var n;return(n=t._context)===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier===e})},updateOutcomeVariable:function(e,n){t.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:e,value:n}}))},updateResponseVariable:function(e,n){t.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:e,response:n}}))}};return this.operatorFunction(this._context,e,n)}}]);return e}(iD);nJ([M({context:i8,subscribe:!0}),r()],oA.prototype,"_context",2),oA=nJ([iz("qti-custom-operator")],oA);var oR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(K(),this.showStatus)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return e}(oc);oR.styles=rO(Z()),oR=nJ([iz("qti-feedback-block")],oR);var oI=function(t){return t!==null&&t!==void 0?t:i_};var oT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.render=function(){return im(tt(),oI(t.showStatus))};return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return e}(oc);oT.styles=rO(te()),oT=nJ([iz("qti-feedback-inline")],oT);var oP=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tn(),this.showStatus==="on",this.closeFeedback)}},{key:"openFeedback",value:function t(){var t;var e=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("dialog");e&&!e.open&&e.showModal()}},{key:"closeFeedback",value:function t(){var t;var e=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("dialog");e&&e.open&&(e.close(),this.showStatus="off")}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.showStatus==="on"&&this.openFeedback()}},{key:"updated",value:function t(t){t.has("showStatus")&&(this.showStatus==="on"?this.openFeedback():this.closeFeedback())}}]);return e}(oc);oP.styles=rO(tr()),oP=nJ([iz("qti-modal-feedback")],oP);var oM=rO(ti());var oO=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(to())}}]);return e}(iD);oO.styles=oM,oO=nJ([iz("qti-item-body")],oO);var oL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(ta())}},{key:"connectedCallback",value:function t(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}]);return e}(iD);oL=nJ([iz("qti-prompt")],oL);var oN=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(ts())}}]);return e}(iD);oN=nJ([iz("qti-content-body")],oN);var oU=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"handleclassNamesChange",value:function t(){var t=this;this.classNames.split(" ").forEach(function(e){switch(e){case"qti-rubric-discretionary-placement":{var n=new CustomEvent("qti-rubric:discretionary-placement",{detail:{className:e,element:t},bubbles:!0,composed:!0,cancelable:!0});if(!t.dispatchEvent(n))return;t.setAttribute("slot","qti-rubric-block")}break;case"qti-rubric-inline":t.setAttribute("slot","");break;default:break}})}},{key:"render",value:function t(){return im(tl())}}]);return e}(iD);oU.styles=rO(tu()),nJ([n({type:String})],oU.prototype,"id",2),nJ([n({type:String})],oU.prototype,"use",2),nJ([n({type:String})],oU.prototype,"view",2),nJ([n({type:String,attribute:"class"})],oU.prototype,"classNames",2),nJ([nO("classNames",{waitUntilFirstUpdate:!0})],oU.prototype,"handleclassNamesChange",1),oU=nJ([iz("qti-rubric-block")],oU);var oD=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.styleElement=null;return t}d(e,[{key:"firstUpdated",value:function t(t){var n=this;p(f(e.prototype),"firstUpdated",this).call(this,t);var r=this.getAttribute("href");if(r!==null&&fetch(r).then(function(t){return t.text()}).then(function(t){var e=n.minifyCss(t);n.styleElement=document.createElement("style"),n.styleElement.media="screen",n.styleElement.textContent="@scope {".concat(e,"}"),n.parentElement?n.parentElement.appendChild(n.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}).catch(function(t){console.error("Failed to load stylesheet:",t)}),this.textContent!==null&&this.textContent.trim()!==""){var o=this.minifyCss(this.textContent);this.styleElement=document.createElement("style"),this.styleElement.media="screen",this.styleElement.textContent="@scope {".concat(o,"}"),this.parentElement?this.parentElement.appendChild(this.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}}},{key:"minifyCss",value:function t(t){return t.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;])\s*/g,"$1").trim()}},{key:"disconnectedCallback",value:function t(){if(this.styleElement)try{this.styleElement.remove()}catch(t){console.error("Could not remove stylesheet:",t)}p(f(e.prototype),"disconnectedCallback",this).call(this)}}]);return e}(iD);oD=nJ([iz("qti-stylesheet")],oD);var oV=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return im(tc(),JSON.stringify(r,null,2))}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.defaultValues(this.cardinality),n={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,defaultValue:t,areaMapping:this.areaMapping,value:null,type:"response",candidateResponse:null};n.value=t,this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:n}}))}},{key:"correctResponse",get:function t(){var t,e=this.querySelector("qti-correct-response");if(e){var n=e.querySelectorAll("qti-value");if(this.cardinality==="single"&&n.length>0)t=n[0].textContent.trim(),n[0].remove();else if(this.cardinality!=="single"){t=[];for(var r=0;r<n.length;r++)t.push(n[r].textContent.trim()),n[r].remove()}}return t}},{key:"mapping",get:function t(){var t=this.querySelector("qti-mapping"),e=parseFloat(t===null||t===void 0?void 0:t.getAttribute("lower-bound")),n=parseFloat(t===null||t===void 0?void 0:t.getAttribute("upper-bound"));return{defaultValue:Number(t===null||t===void 0?void 0:t.getAttribute("default-value"))||0,lowerBound:isNaN(e)?null:e,upperBound:isNaN(n)?null:n,mapEntries:Array.from((t===null||t===void 0?void 0:t.querySelectorAll("qti-map-entry"))||[]).map(function(t){return{mapKey:t.getAttribute("map-key")||"",mappedValue:Number(t.getAttribute("mapped-value"))||0,caseSensitive:t.hasAttribute("case-sensitive")?t.getAttribute("case-sensitive")!=="false":!1}})}}},{key:"areaMapping",get:function t(){var t=this.querySelector("qti-area-mapping"),e=Number(t===null||t===void 0?void 0:t.getAttribute("default-value"))||0,n=parseFloat(t===null||t===void 0?void 0:t.getAttribute("lower-bound")),r=parseFloat(t===null||t===void 0?void 0:t.getAttribute("upper-bound")),o=Array.from((t===null||t===void 0?void 0:t.querySelectorAll("qti-area-map-entry"))||[]).map(function(t){return{shape:t.getAttribute("shape")||"default",coords:t.getAttribute("coords")||"",mappedValue:Number(t.getAttribute("mapped-value"))||0,defaultValue:Number(t.getAttribute("default-value"))||0}});return{defaultValue:e,lowerBound:isNaN(n)?null:n,upperBound:isNaN(r)?null:r,areaMapEntries:o}}}]);return e}(oo);oV.styles=[rO(td())],nJ([n({type:String,attribute:"base-type"})],oV.prototype,"baseType",2),nJ([n({type:String})],oV.prototype,"identifier",2),nJ([n({type:String})],oV.prototype,"cardinality",2),nJ([M({context:i8,subscribe:!0}),r()],oV.prototype,"itemContext",2),oV=nJ([iz("qti-response-declaration")],oV);var o$=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.externalScored=null;return t}d(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return im(th(),JSON.stringify(r,null,2))}},{key:"interpolationTable",get:function t(){var t=this.querySelector("qti-interpolation-table");if(t){var e=new Map;var n=true,r=false,o=undefined;try{for(var a=t.querySelectorAll("qti-interpolation-table-entry")[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;!l.getAttribute("source-value")&&l.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");var u=parseFloat(l.getAttribute("source-value")),c=parseFloat(l.getAttribute("target-value"));(isNaN(u)||isNaN(c))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),e.set(u,c)}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return e}return null}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.defaultValues(this.cardinality),n={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,defaultValue:t,type:"outcome",value:null,interpolationTable:this.interpolationTable,externalScored:this.externalScored};n.value=t,(n.value===null||n.value==null)&&(n.baseType==="integer"||n.baseType==="float")&&(n.value="0"),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:n}}))}}]);return e}(oo);o$.styles=[rO(tp())],nJ([n({type:String,attribute:"base-type"})],o$.prototype,"baseType",2),nJ([n({type:String,attribute:"external-scored"})],o$.prototype,"externalScored",2),nJ([n({type:String})],o$.prototype,"identifier",2),nJ([n({type:String})],o$.prototype,"cardinality",2),nJ([M({context:i8,subscribe:!0}),r()],o$.prototype,"itemContext",2),o$=nJ([iz("qti-outcome-declaration")],o$);var oz='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-match>\n <qti-variable identifier="RESPONSE"></qti-variable>\n <qti-correct identifier="RESPONSE"></qti-correct>\n </qti-match>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">1</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',oj='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0.0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response identifier="RESPONSE"> </qti-map-response>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',oF='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response-point identifier="RESPONSE"></qti-map-response-point>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>';var oH=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tf())}},{key:"process",value:function t(){if(!this.closest("qti-assessment-item"))return;var t=L(this.children);var e=true,n=false,r=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s.process()}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}}},{key:"firstUpdated",value:function t(t){if(this.getAttribute("template")){var e=this.getAttribute("template").split("/"),n=e[e.length-1].replace(".xml","");switch(this.innerHTML="",n){case"map_response":{this.appendChild(this.fragmentFromString(oj).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(oF).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(oz).firstElementChild.firstElementChild);break}}}},{key:"fragmentFromString",value:function t(t){return document.createRange().createContextualFragment(t)}}]);return e}(iD);oH.styles=[rO(tv())],oH=nJ([iz("qti-response-processing")],oH);var oB=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tm())}}]);return e}(oP);oB.styles=rO(tg()),oB=nJ([iz("qti-test-feedback")],oB);var oQ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.identifier=void 0;t.initContext=[];t.qtiContext={QTI_CONTEXT:{testIdentifier:"",candidateIdentifier:"",environmentIdentifier:"default"}};t.configContext={};t.autoScoreItems=!1;t.addEventListener("qti-assessment-test-connected",t._handleTestConnected.bind(t)),t.addEventListener("qti-assessment-item-connected",t._handleItemConnected.bind(t)),t.addEventListener("qti-interaction-changed",t._handleInteractionChanged.bind(t)),t.addEventListener("test-end-attempt",t._handleTestEndAttempt.bind(t)),t.addEventListener("test-show-correct-response",t._handleTestShowCorrectResponse.bind(t)),t.addEventListener("test-show-candidate-correction",t._handleTestShowCandidateCorrection.bind(t)),t.addEventListener("test-update-outcome-variable",t._handleTestUpdateOutcomeVariable.bind(t));return t}d(e,[{key:"_handleTestEndAttempt",value:function t(t){var e;var n=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this._sessionContext.navItemRefId,'"]')).assessmentItem,r=((e=this.configContext)===null||e===void 0?void 0:e.reportValidityAfterScoring)===!0;n.processResponse(!0,r)}},{key:"_handleTestShowCorrectResponse",value:function t(t){var e=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this._sessionContext.navItemRefId,'"]')).assessmentItem;e&&e.showCorrectResponse(t.detail)}},{key:"_handleTestShowCandidateCorrection",value:function t(t){this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this._sessionContext.navItemRefId,'"]')).assessmentItem.showCandidateCorrection(t.detail)}},{key:"_handleTestUpdateOutcomeVariable",value:function t(t){this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(t.detail.assessmentItemRefId,'"]')).assessmentItem.setOutcomeVariable(t.detail.outcomeVariableId,t.detail.value)}},{key:"_handleInteractionChanged",value:function t(t){if(this.autoScoreItems){var e=t.composedPath()[0].closest("qti-assessment-item"),n=e.variables.find(function(t){return t.identifier==="SCORE"});if(n&&n.externalScored===null&&e.adaptive==="false"){var r;var o=((r=this.configContext)===null||r===void 0?void 0:r.reportValidityAfterScoring)===!0;e.processResponse(!0,o)}}}},{key:"render",value:function t(){return im(ty())}},{key:"_handleTestConnected",value:function t(t){var e=this;var n,r,o;if(this._testElement=t.detail,!((n=this.qtiContext.QTI_CONTEXT)===null||n===void 0?void 0:n.testIdentifier)){var a=this.qtiContext.QTI_CONTEXT||{testIdentifier:"",candidateIdentifier:"not set",environmentIdentifier:"default"};this.qtiContext={QTI_CONTEXT:x(k({},a),{testIdentifier:this._testElement.identifier,environmentIdentifier:a.environmentIdentifier||"default"})}}this._testElement.querySelectorAll('qti-context-declaration[identifier="QTI_CONTEXT"]').forEach(function(t){var n=e._extractDefaultValues(t);Object.keys(n).length>0&&(e.qtiContext={QTI_CONTEXT:k({},n,e.qtiContext.QTI_CONTEXT)})});var s=Array.from(((r=this._testElement)===null||r===void 0?void 0:r.querySelectorAll("qti-test-part"))||[]);this.computedContext={identifier:this._testElement.identifier,title:this._testElement.title,view:(o=this._sessionContext)===null||o===void 0?void 0:o.view,testParts:s.map(function(t){var n=L(t.querySelectorAll("qti-assessment-section"));return{active:!1,identifier:t.identifier,navigationMode:t.navigationMode,submissionMode:t.submissionMode,sections:n.map(function(t){var n=L(t.querySelectorAll("qti-assessment-item-ref"));return{active:!1,identifier:t.identifier,title:t.title,items:n.map(function(t){var n,r;return x(k({},(n=e.initContext)===null||n===void 0?void 0:n.find(function(e){return e.identifier===t.identifier})),{active:!1,identifier:t.identifier,categories:t.category?(r=t.category)===null||r===void 0?void 0:r.split(" "):[],href:t.href,variables:[]})})}})}})}}},{key:"_extractDefaultValues",value:function t(t){var e={},n=t.querySelector("qti-default-value");return n&&n.querySelectorAll("qti-value[field-identifier]").forEach(function(t){var n;var r=t.getAttribute("field-identifier"),o=t.getAttribute("base-type")||"string",a=((n=t.textContent)===null||n===void 0?void 0:n.trim())||"";if(r){var s=a;switch(o){case"integer":s=parseInt(a,10);break;case"float":case"duration":s=parseFloat(a);break;case"boolean":s=a.toLowerCase()==="true";break;case"string":default:s=a;break}e[r]=s}}),e}},{key:"_handleItemConnected",value:function t(t){var e=t.detail;this.computedContext=x(k({},this.computedContext),{testParts:this.computedContext.testParts.map(function(t){return x(k({},t),{sections:t.sections.map(function(t){return x(k({},t),{items:t.items.map(function(t){var n;if(t.identifier!==e.parentElement.getAttribute("identifier"))return t;var r=(n=e.querySelector("qti-outcome-declaration[identifier='SCORE']"))===null||n===void 0?void 0:n.getAttribute("externalScored"),o=e.querySelectorAll("qti-response-declaration"),a=Array.from(o).some(function(t){return t.querySelector("qti-correct-response")}),s=Array.from(o).some(function(t){var e=t.querySelector("qti-mapping"),n=t.querySelector("qti-area-mapping");return(e===null||e===void 0?void 0:e.querySelector("qti-map-entry"))||(n===null||n===void 0?void 0:n.querySelector("qti-area-map-entry"))}),l=a||s,u=!!e.querySelector("qti-response-processing");return x(k({},t),{assessmentItemIdentifier:e.getAttribute("identifier"),label:e.getAttribute("label"),title:e.title,externalScored:r,adaptive:e.adaptive=="true"||!1,timeDependent:e.timeDependent=="true"||!1,variables:e.variables,hasCorrectResponse:l,hasResponseProcessing:u})})})})})})})}},{key:"willUpdate",value:function t(t){var e=this;var n;if(!this.computedContext)return;var r=1;this.computedContext=x(k({},this.computedContext),{view:(n=this._sessionContext)===null||n===void 0?void 0:n.view,testParts:this.computedContext.testParts.map(function(t){var n;return x(k({},t),{active:((n=e._sessionContext)===null||n===void 0?void 0:n.navPartId)===t.identifier||!1,sections:t.sections.map(function(t){var n;return x(k({},t),{active:((n=e._sessionContext)===null||n===void 0?void 0:n.navSectionId)===t.identifier||!1,completed:t.items.every(function(t){var n;return((n=e._testContext.items.find(function(e){return e.identifier===t.identifier}))===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier==="completionStatus"}).value)==="completed"}),items:t.items.map(function(t){var n,o,a,s,l,u,c,d,h,p,f,v,m,g;var y=(n=e._testContext)===null||n===void 0?void 0:n.items.find(function(e){return e.identifier===t.identifier}),b=k({},t,y,(o=e.initContext)===null||o===void 0?void 0:o.find(function(e){return e.identifier===t.identifier})),_=(s=b.variables)===null||s===void 0?void 0:(a=s.find(function(t){return t.identifier=="SCORE"}))===null||a===void 0?void 0:a.value,q=_==null?null:parseFloat(_===null||_===void 0?void 0:_.toString()),w=(u=b.variables)===null||u===void 0?void 0:(l=u.find(function(t){return t.identifier==="completionStatus"}))===null||l===void 0?void 0:l.value,C=((d=b.variables)===null||d===void 0?void 0:(c=d.find(function(t){return t.identifier==="RESPONSE"}))===null||c===void 0?void 0:c.value)||"",E=((p=b.variables)===null||p===void 0?void 0:(h=p.find(function(t){return t.identifier==="numAttempts"}))===null||h===void 0?void 0:h.value)||0,S=((f=e._sessionContext)===null||f===void 0?void 0:f.navItemRefId)===b.identifier||!1,A=t.categories.includes((v=e.configContext)===null||v===void 0?void 0:v.infoItemCategory)?null:r++,R=(g=t.variables)===null||g===void 0?void 0:(m=g.find(function(t){return t.identifier=="MAXSCORE"}))===null||m===void 0?void 0:m.value,I=R==null?null:parseFloat(R===null||R===void 0?void 0:R.toString());return x(k({},b),{completionStatus:w,numAttempts:E,score:q,response:C,index:A,active:S,maxScore:I})})})})})})}),this.dispatchEvent(new CustomEvent("qti-computed-context-updated",{detail:this.computedContext,bubbles:!0}))}}]);return e}(iD);nJ([n({type:String})],oQ.prototype,"identifier",2),nJ([r()],oQ.prototype,"initContext",2),nJ([r(),P({context:i7})],oQ.prototype,"qtiContext",2),nJ([r(),P({context:i4})],oQ.prototype,"configContext",2),nJ([r(),M({context:on,subscribe:!0})],oQ.prototype,"_testContext",2),nJ([r(),M({context:ot,subscribe:!0})],oQ.prototype,"_sessionContext",2),nJ([r(),P({context:i5})],oQ.prototype,"computedContext",2),nJ([n({type:Boolean,attribute:"auto-score-items"})],oQ.prototype,"autoScoreItems",2),oQ=nJ([iz("test-navigation")],oQ);var oW=rO(tb()),oG=rO(t_(),oW),oX=rO(tq()),oJ=rO(tk(),oW);var oY=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._internalDisabled=!0;t._internals=t.attachInternals(),t._internals.role="button",t._internals.ariaLabel="Next item",t.addEventListener("click",function(e){e.preventDefault(),t._internalDisabled||t._requestItem(t.sectionItems[t.itemIndex+1].identifier)});return t}d(e,[{key:"_handleTestElementChange",value:function t(t,e){e&&(this._internalDisabled=!1)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.checkDisabled()}},{key:"willUpdate",value:function t(t){var e;if(!this.computedContext)return;var n=(e=this.computedContext)===null||e===void 0?void 0:e.testParts.find(function(t){return t.active});n&&(this.sectionItems=n.sections.flatMap(function(t){return t.items}),this.itemIndex=this.sectionItems.findIndex(function(t){return t.active}),this.checkDisabled())}},{key:"checkDisabled",value:function t(){var t;this._internalDisabled=!this.computedContext||this.itemIndex<0||this.itemIndex>=((t=this.sectionItems)===null||t===void 0?void 0:t.length)-1}},{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:t}}))}},{key:"render",value:function t(){return im(tw())}}]);return e}(iD);oY.styles=rO(tx(),oG,oX),nJ([n({type:Boolean,reflect:!0,attribute:"disabled"})],oY.prototype,"_internalDisabled",2),nJ([M({context:i5,subscribe:!0})],oY.prototype,"computedContext",2),nJ([nO("computedContext")],oY.prototype,"_handleTestElementChange",1),oY=nJ([iz("test-next")],oY);var oK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._internalDisabled=!0;t.addEventListener("click",function(e){e.preventDefault(),t._internalDisabled||t._requestItem(t.sectionItems[t.itemIndex-1].identifier)});return t}d(e,[{key:"_handleTestElementChange",value:function t(t,e){e&&(this._internalDisabled=!1)}},{key:"willUpdate",value:function t(t){var e;if(!this.computedContext)return;var n=(e=this.computedContext)===null||e===void 0?void 0:e.testParts.find(function(t){return t.active});n&&(this.sectionItems=n.sections.flatMap(function(t){return t.items}),this.itemIndex=this.sectionItems.findIndex(function(t){return t.active}),this.checkDisabled())}},{key:"checkDisabled",value:function t(){this._internalDisabled=!this.computedContext||this.itemIndex===0||this.itemIndex===-1}},{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:t}}))}},{key:"render",value:function t(){return im(tC())}}]);return e}(iD);oK.styles=rO(tE(),oG,oX),nJ([n({type:Boolean,reflect:!0,attribute:"disabled"})],oK.prototype,"_internalDisabled",2),nJ([M({context:i5,subscribe:!0})],oK.prototype,"computedContext",2),nJ([nO("computedContext")],oK.prototype,"_handleTestElementChange",1),oK=nJ([iz("test-prev")],oK);var oZ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.label="view";t._handleViewOptionsChange=function(){t.updateViewOptions()};t._viewOptions=oZ.DEFAULT_VIEW_OPTIONS;return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.updateViewOptions()}},{key:"updateViewOptions",value:function t(){if(this.viewOptions){var t=this.viewOptions.split(",").map(function(t){return t.trim()});this._viewOptions=t.filter(function(t){return oZ.DEFAULT_VIEW_OPTIONS.includes(t)})}else this._viewOptions=oZ.DEFAULT_VIEW_OPTIONS}},{key:"_switchView",value:function t(t){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:t}))}},{key:"render",value:function t(){var t=this;return im(tA(),this.label,function(e){var n=e.target;t._switchView(n.value)},this._viewOptions.map(function(e){return im(tS(),e,e===t.sessionContext.view,e)}))}}]);return e}(iD);oZ.DEFAULT_VIEW_OPTIONS=["author","candidate","proctor","scorer","testConstructor","tutor"],nJ([M({context:ot,subscribe:!0})],oZ.prototype,"sessionContext",2),nJ([n({type:String})],oZ.prototype,"label",2),nJ([n({type:String,attribute:"view-options"})],oZ.prototype,"viewOptions",2),nJ([nO("viewOptions",{waitUntilFirstUpdate:!0})],oZ.prototype,"_handleViewOptionsChange",2),nJ([r()],oZ.prototype,"_viewOptions",2),oZ=nJ([iz("test-view")],oZ);var o0=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.itemId=null;t.addEventListener("click",function(){return t._requestItem(t.itemId)});return t}d(e,[{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:t}}))}},{key:"render",value:function t(){return im(tR())}}]);return e}(iD);o0.styles=rO(tI(),oG,oX),nJ([n({type:String,attribute:"item-id"})],o0.prototype,"itemId",2),o0=nJ([iz("test-item-link")],o0);var o1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t.addEventListener("click",function(){return t.dispatchEvent(new CustomEvent("test-end-attempt",{bubbles:!0}))});return t}d(e,[{key:"render",value:function t(){return im(tT())}}]);return e}(iD);o1.styles=rO(tP(),oG,oX),o1=nJ([iz("test-end-attempt")],o1);var o2=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.shown=!1;t.disabled=!1;t.showCorrectText="Show correct response";t.hideCorrectText="Hide correct response";t.noCorrectResponseText="No correct response specified";return t}d(e,[{key:"willUpdate",value:function t(t){var e;var n=(e=this.computedContext)===null||e===void 0?void 0:e.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(this._previousActiveItem!==n&&(this.shown=!1,this._previousActiveItem=n),n){var r,o;var a=!!(n===null||n===void 0?void 0:(r=n.variables)===null||r===void 0?void 0:r.some(function(t){return t.correctResponse})),s=!!(n===null||n===void 0?void 0:(o=n.variables)===null||o===void 0?void 0:o.some(function(t){var e,n,r,o;return((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.length)>0||((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.length)>0}));this.disabled=!a&&!s}else this.disabled=!0}},{key:"_toggleState",value:function t(){this.disabled||(this.shown=!this.shown,this.dispatchEvent(new CustomEvent("test-show-correct-response",{detail:this.shown,bubbles:!0})))}},{key:"_getDisplayedText",value:function t(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCorrectText:this.showCorrectText}},{key:"render",value:function t(){return im(tM(),this._toggleState,this._getDisplayedText())}}]);return e}(iD);o2.styles=rO(tO(),oG,oX),nJ([M({context:i5,subscribe:!0})],o2.prototype,"computedContext",2),nJ([n({type:Boolean,reflect:!0})],o2.prototype,"shown",2),nJ([n({type:Boolean,reflect:!0})],o2.prototype,"disabled",2),nJ([n({type:String})],o2.prototype,"showCorrectText",2),nJ([n({type:String})],o2.prototype,"hideCorrectText",2),nJ([n({type:String})],o2.prototype,"noCorrectResponseText",2),o2=nJ([iz("test-show-correct-response")],o2);var o3=["this"],o5=["+","-","!"],o4=["=","+","-","*","/","%","^","==","!=",">","<",">=","<=","||","&&","??","&","===","!==","|","|>"],o6={"!":0,":":0,",":0,")":0,"]":0,"}":0,"|>":1,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"{":13},o8=13;var o7=["==","!=","<=",">=","||","&&","??","|>"],o9=["===","!=="],at;(function(t){t[t.STRING=1]="STRING",t[t.IDENTIFIER=2]="IDENTIFIER",t[t.DOT=3]="DOT",t[t.COMMA=4]="COMMA",t[t.COLON=5]="COLON",t[t.INTEGER=6]="INTEGER",t[t.DECIMAL=7]="DECIMAL",t[t.OPERATOR=8]="OPERATOR",t[t.GROUPER=9]="GROUPER",t[t.KEYWORD=10]="KEYWORD",t[t.ARROW=11]="ARROW"})(at||(at={}));var ae=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return{kind:t,value:e,precedence:n}},an=function(t){return t===9||t===10||t===13||t===32},ar=function(t){return t===95||t===36||(t&=-33,65<=t&&t<=90)},ai=function(t){return ar(t)||as(t)},ao=function(t){return o3.indexOf(t)!==-1},aa=function(t){return t===34||t===39},as=function(t){return 48<=t&&t<=57},al=function(t){return t===43||t===45||t===42||t===47||t===33||t===38||t===37||t===60||t===61||t===62||t===63||t===94||t===124},au=function(t){return t===40||t===41||t===91||t===93||t===123||t===125},ac=function(t){return t.replace(/\\(.)/g,function(t,e){switch(e){case"n":return"\n";case"r":return"\r";case"t":return" ";case"b":return"\b";case"f":return"\f";default:return e}})},ad,ah,ap,af,av,am,ag,ay,ab,a_,aq,ak,aw,ax,aC,aE,aS,aA=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);nZ(this,av);nZ(this,ad);nZ(this,ah,-1);nZ(this,ap,0);nZ(this,af);n0(this,ad,e),n1(this,av,am).call(this)}d(t,[{key:"nextToken",value:function t(){for(;an(nK(this,af));)n1(this,av,am).call(this,!0);if(aa(nK(this,af)))return n1(this,av,ab).call(this);if(ar(nK(this,af)))return n1(this,av,a_).call(this);if(as(nK(this,af)))return n1(this,av,aq).call(this);if(nK(this,af)===46)return n1(this,av,ak).call(this);if(nK(this,af)===44)return n1(this,av,aw).call(this);if(nK(this,af)===58)return n1(this,av,ax).call(this);if(al(nK(this,af)))return n1(this,av,aE).call(this);if(au(nK(this,af)))return n1(this,av,aS).call(this);if(n1(this,av,am).call(this),nK(this,af)!==void 0)throw new Error("Expected end of input, got ".concat(nK(this,af)))}}]);return t}();ad=new WeakMap,ah=new WeakMap,ap=new WeakMap,af=new WeakMap,av=new WeakSet,am=function t(t){n2(this,ah)._++,nK(this,ah)<nK(this,ad).length?(n0(this,af,nK(this,ad).charCodeAt(nK(this,ah))),t===!0&&n0(this,ap,nK(this,ah))):n0(this,af,void 0)},ag=function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;var e=nK(this,ad).substring(nK(this,ap),nK(this,ah)+t);return t===0&&n1(this,av,ay).call(this),e},ay=function t(){n0(this,ap,nK(this,ah))},ab=function t(){var t="unterminated string",e=nK(this,af);for(n1(this,av,am).call(this,!0);nK(this,af)!==e;){if(nK(this,af)===void 0)throw new Error(t);if(nK(this,af)===92&&(n1(this,av,am).call(this),nK(this,af)===void 0))throw new Error(t);n1(this,av,am).call(this)}var n=ae(at.STRING,ac(n1(this,av,ag).call(this)));return n1(this,av,am).call(this),n},a_=function t(){do n1(this,av,am).call(this);while(ai(nK(this,af)));var t=n1(this,av,ag).call(this),e=ao(t)?at.KEYWORD:at.IDENTIFIER;return ae(e,t)},aq=function t(){do n1(this,av,am).call(this);while(as(nK(this,af)));return nK(this,af)===46?n1(this,av,ak).call(this):ae(at.INTEGER,n1(this,av,ag).call(this))},ak=function t(){return n1(this,av,am).call(this),as(nK(this,af))?n1(this,av,aC).call(this):(n1(this,av,ay).call(this),ae(at.DOT,".",o8))},aw=function t(){return n1(this,av,am).call(this,!0),ae(at.COMMA,",")},ax=function t(){return n1(this,av,am).call(this,!0),ae(at.COLON,":")},aC=function t(){do n1(this,av,am).call(this);while(as(nK(this,af)));return ae(at.DECIMAL,n1(this,av,ag).call(this))},aE=function t(){n1(this,av,am).call(this);var t=n1(this,av,ag).call(this,2);if(o9.indexOf(t)!==-1)n1(this,av,am).call(this),n1(this,av,am).call(this);else{if(t=n1(this,av,ag).call(this,1),t==="=>")return n1(this,av,am).call(this),ae(at.ARROW,t);o7.indexOf(t)!==-1&&n1(this,av,am).call(this)}return t=n1(this,av,ag).call(this),ae(at.OPERATOR,t,o6[t])},aS=function t(){var t=String.fromCharCode(nK(this,af)),e=ae(at.GROUPER,t,o6[t]);return n1(this,av,am).call(this,!0),e};var aR=function(t,e){return new a0(t,e).parse()},aI,aT,aP,aM,aO,aL,aN,aU,aD,aV,a$,az,aj,aF,aH,aB,aQ,aW,aG,aX,aJ,aY,aK,aZ,a0=/*#__PURE__*/function(){"use strict";function t(e,n){l(this,t);nZ(this,aL);nZ(this,aI);nZ(this,aT);nZ(this,aP);nZ(this,aM);nZ(this,aO);n0(this,aT,new aA(e)),n0(this,aP,n)}d(t,[{key:"parse",value:function t(){return n1(this,aL,aN).call(this),n1(this,aL,aU).call(this)}},{key:"_matches",value:function t(t,e){return!(t&&nK(this,aI)!==t||e&&nK(this,aO)!==e)}}]);return t}();aI=new WeakMap,aT=new WeakMap,aP=new WeakMap,aM=new WeakMap,aO=new WeakMap,aL=new WeakSet,aN=function t(t,e){var n,r;if(!this._matches(t,e))throw new Error("Expected kind ".concat(t," (").concat(e,"), was ").concat((n=nK(this,aM))===null||n===void 0?void 0:n.kind," (").concat((r=nK(this,aM))===null||r===void 0?void 0:r.value,")"));var o=nK(this,aT).nextToken();n0(this,aM,o),n0(this,aI,o===null||o===void 0?void 0:o.kind),n0(this,aO,o===null||o===void 0?void 0:o.value)},aU=function t(){if(!nK(this,aM))return nK(this,aP).empty();var t=n1(this,aL,az).call(this);return t===void 0?void 0:n1(this,aL,aD).call(this,t,0)},aD=function t(t,e){if(t===void 0)throw new Error("Expected left to be defined.");for(;nK(this,aM);)if(this._matches(at.GROUPER,"(")){var n=n1(this,aL,aG).call(this);t=nK(this,aP).invoke(t,void 0,n)}else if(this._matches(at.GROUPER,"[")){var r=n1(this,aL,aX).call(this);t=nK(this,aP).index(t,r)}else if(this._matches(at.DOT)){n1(this,aL,aN).call(this);var o=n1(this,aL,az).call(this);t=n1(this,aL,aV).call(this,t,o)}else{if(this._matches(at.KEYWORD))break;if(this._matches(at.OPERATOR)&&nK(this,aM).precedence>=e)t=nK(this,aO)==="?"?n1(this,aL,aj).call(this,t):n1(this,aL,a$).call(this,t,nK(this,aM));else break}return t},aV=function t(t,e){if(e===void 0)throw new Error("expected identifier");if(e.type==="ID")return nK(this,aP).getter(t,e.value);if(e.type==="Invoke"&&e.receiver.type==="ID"){var n=e.receiver;return nK(this,aP).invoke(t,n.value,e.arguments)}else throw new Error("expected identifier: ".concat(e))},a$=function t(t,e){if(o4.indexOf(e.value)===-1)throw new Error("unknown operator: ".concat(e.value));n1(this,aL,aN).call(this);var n=n1(this,aL,az).call(this);for(;(nK(this,aI)===at.OPERATOR||nK(this,aI)===at.DOT||nK(this,aI)===at.GROUPER)&&nK(this,aM).precedence>e.precedence;)n=n1(this,aL,aD).call(this,n,nK(this,aM).precedence);return nK(this,aP).binary(t,e.value,n)},az=function t(){if(this._matches(at.OPERATOR)){var t=nK(this,aO);if(n1(this,aL,aN).call(this),t==="+"||t==="-"){if(this._matches(at.INTEGER))return n1(this,aL,aK).call(this,t);if(this._matches(at.DECIMAL))return n1(this,aL,aZ).call(this,t)}if(o5.indexOf(t)===-1)throw new Error("unexpected token: ".concat(t));var e=n1(this,aL,aD).call(this,n1(this,aL,aF).call(this),o8);return nK(this,aP).unary(t,e)}return n1(this,aL,aF).call(this)},aj=function t(t){n1(this,aL,aN).call(this,at.OPERATOR,"?");var e=n1(this,aL,aU).call(this);n1(this,aL,aN).call(this,at.COLON);var n=n1(this,aL,aU).call(this);return nK(this,aP).ternary(t,e,n)},aF=function t(){switch(nK(this,aI)){case at.KEYWORD:var t=nK(this,aO);if(t==="this")return n1(this,aL,aN).call(this),nK(this,aP).id(t);throw o3.indexOf(t)!==-1?new Error("unexpected keyword: ".concat(t)):new Error("unrecognized keyword: ".concat(t));case at.IDENTIFIER:return n1(this,aL,aQ).call(this);case at.STRING:return n1(this,aL,aY).call(this);case at.INTEGER:return n1(this,aL,aK).call(this);case at.DECIMAL:return n1(this,aL,aZ).call(this);case at.GROUPER:return nK(this,aO)==="("?n1(this,aL,aJ).call(this):nK(this,aO)==="{"?n1(this,aL,aB).call(this):nK(this,aO)==="["?n1(this,aL,aH).call(this):void 0;case at.COLON:throw new Error('unexpected token ":"');default:return}},aH=function t(){var t=[];do{if(n1(this,aL,aN).call(this),this._matches(at.GROUPER,"]"))break;t.push(n1(this,aL,aU).call(this))}while(this._matches(at.COMMA));return n1(this,aL,aN).call(this,at.GROUPER,"]"),nK(this,aP).list(t)},aB=function t(){var t={};do{if(n1(this,aL,aN).call(this),this._matches(at.GROUPER,"}"))break;var e=nK(this,aO);(this._matches(at.STRING)||this._matches(at.IDENTIFIER))&&n1(this,aL,aN).call(this),n1(this,aL,aN).call(this,at.COLON),t[e]=n1(this,aL,aU).call(this)}while(this._matches(at.COMMA));return n1(this,aL,aN).call(this,at.GROUPER,"}"),nK(this,aP).map(t)},aQ=function t(){var t=nK(this,aO);if(t==="true")return n1(this,aL,aN).call(this),nK(this,aP).literal(!0);if(t==="false")return n1(this,aL,aN).call(this),nK(this,aP).literal(!1);if(t==="null")return n1(this,aL,aN).call(this),nK(this,aP).literal(null);if(t==="undefined")return n1(this,aL,aN).call(this),nK(this,aP).literal(void 0);var e=n1(this,aL,aW).call(this),n=n1(this,aL,aG).call(this);return n?nK(this,aP).invoke(e,void 0,n):e},aW=function t(){if(!this._matches(at.IDENTIFIER))throw new Error("expected identifier: ".concat(nK(this,aO)));var t=nK(this,aO);return n1(this,aL,aN).call(this),nK(this,aP).id(t)},aG=function t(){if(!this._matches(at.GROUPER,"("))return;var t=[];do{if(n1(this,aL,aN).call(this),this._matches(at.GROUPER,")"))break;var e=n1(this,aL,aU).call(this);t.push(e)}while(this._matches(at.COMMA));return n1(this,aL,aN).call(this,at.GROUPER,")"),t},aX=function t(){n1(this,aL,aN).call(this);var t=n1(this,aL,aU).call(this);return n1(this,aL,aN).call(this,at.GROUPER,"]"),t},aJ=function t(){var t=n1(this,aL,aG).call(this);if(this._matches(at.ARROW)){n1(this,aL,aN).call(this);var e;var n=n1(this,aL,aU).call(this),r=(e=t===null||t===void 0?void 0:t.map(function(t){return t.value}))!==null&&e!==void 0?e:[];return nK(this,aP).arrowFunction(r,n)}else return nK(this,aP).paren(t[0])},aY=function t(){var t=nK(this,aP).literal(nK(this,aO));return n1(this,aL,aN).call(this),t},aK=function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";var e=nK(this,aP).literal(parseInt("".concat(t).concat(nK(this,aO)),10));return n1(this,aL,aN).call(this),e},aZ=function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";var e=nK(this,aP).literal(parseFloat("".concat(t).concat(nK(this,aO))));return n1(this,aL,aN).call(this),e};var a1=Object.hasOwn,a2=Object.fromEntries,a3={"+":function(t,e){return t+e},"-":function(t,e){return t-e},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"==":function(t,e){return t==e},"!=":function(t,e){return t!=e},"===":function(t,e){return t===e},"!==":function(t,e){return t!==e},">":function(t,e){return t>e},">=":function(t,e){return t>=e},"<":function(t,e){return t<e},"<=":function(t,e){return t<=e},"||":function(t,e){return t||e},"&&":function(t,e){return t&&e},"??":function(t,e){return t!==null&&t!==void 0?t:e},"|":function(t,e){return e(t)},"|>":function(t,e){return e(t)}},a5={"+":function(t){return t},"-":function(t){return-t},"!":function(t){return!t}},a4=/*#__PURE__*/function(){"use strict";function t(){l(this,t)}d(t,[{key:"empty",value:function t(){return{type:"Empty",evaluate:function t(t){return t},getIds:function t(t){return t}}}},{key:"literal",value:function t(t){return{type:"Literal",value:t,evaluate:function t(t){return this.value},getIds:function t(t){return t}}}},{key:"id",value:function t(t){return{type:"ID",value:t,evaluate:function t(t){return this.value==="this"?t:t===null||t===void 0?void 0:t[this.value]},getIds:function t(t){return t.push(this.value),t}}}},{key:"unary",value:function t(t,e){var n=a5[t];return{type:"Unary",operator:t,child:e,evaluate:function t(t){return n(this.child.evaluate(t))},getIds:function t(t){return this.child.getIds(t)}}}},{key:"binary",value:function t(t,e,n){var r=a3[e];return{type:"Binary",operator:e,left:t,right:n,evaluate:function t(t){if(this.operator==="="){if(this.left.type!=="ID"&&this.left.type!=="Getter"&&this.left.type!=="Index")throw new Error("Invalid assignment target: ".concat(this.left));var e=this.right.evaluate(t),n,o;return this.left.type==="Getter"?(n=this.left.receiver.evaluate(t),o=this.left.name):this.left.type==="Index"?(n=this.left.receiver.evaluate(t),o=this.left.argument.evaluate(t)):this.left.type==="ID"&&(n=t,o=this.left.value),n===void 0?void 0:n[o]=e}return r(this.left.evaluate(t),this.right.evaluate(t))},getIds:function t(t){return this.left.getIds(t),this.right.getIds(t),t}}}},{key:"getter",value:function t(t,e){return{type:"Getter",receiver:t,name:e,evaluate:function t(t){var e;return(e=this.receiver.evaluate(t))===null||e===void 0?void 0:e[this.name]},getIds:function t(t){return this.receiver.getIds(t),t}}}},{key:"invoke",value:function t(t,e,n){if(e!=null&&typeof e!="string")throw new Error("method not a string");return{type:"Invoke",receiver:t,method:e,arguments:n,evaluate:function t(t){var n;var r,o;var a=this.receiver.evaluate(t),s=this.method?a:(r=t===null||t===void 0?void 0:t.this)!==null&&r!==void 0?r:t,l=this.method?a===null||a===void 0?void 0:a[e]:a,u=((o=this.arguments)!==null&&o!==void 0?o:[]).map(function(e){return e===null||e===void 0?void 0:e.evaluate(t)});return l===null||l===void 0?void 0:(n=l.apply)===null||n===void 0?void 0:n.call(l,s,u)},getIds:function t(t){var e;return this.receiver.getIds(t),(e=this.arguments)===null||e===void 0?void 0:e.forEach(function(e){return e===null||e===void 0?void 0:e.getIds(t)}),t}}}},{key:"paren",value:function t(t){return t}},{key:"index",value:function t(t,e){return{type:"Index",receiver:t,argument:e,evaluate:function t(t){var e;return(e=this.receiver.evaluate(t))===null||e===void 0?void 0:e[this.argument.evaluate(t)]},getIds:function t(t){return this.receiver.getIds(t),t}}}},{key:"ternary",value:function t(t,e,n){return{type:"Ternary",condition:t,trueExpr:e,falseExpr:n,evaluate:function t(t){return this.condition.evaluate(t)?this.trueExpr.evaluate(t):this.falseExpr.evaluate(t)},getIds:function t(t){return this.condition.getIds(t),this.trueExpr.getIds(t),this.falseExpr.getIds(t),t}}}},{key:"map",value:function t(t){return{type:"Map",entries:t,evaluate:function e(e){var n={};if(t&&this.entries)for(var r in t){var o=this.entries[r];o&&(n[r]=o.evaluate(e))}return n},getIds:function e(e){if(t&&this.entries)for(var n in t){var r=this.entries[n];r&&r.getIds(e)}return e}}}},{key:"list",value:function t(t){return{type:"List",items:t,evaluate:function t(t){var e;return(e=this.items)===null||e===void 0?void 0:e.map(function(e){return e===null||e===void 0?void 0:e.evaluate(t)})},getIds:function t(t){var e;return(e=this.items)===null||e===void 0?void 0:e.forEach(function(e){return e===null||e===void 0?void 0:e.getIds(t)}),t}}}},{key:"arrowFunction",value:function t(t,e){return{type:"ArrowFunction",params:t,body:e,evaluate:function t(t){var e=this.params,n=this.body;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++){o[a]=arguments[a]}var s=a2(e.map(function(t,e){return[t,o[e]]})),l=new Proxy(t!==null&&t!==void 0?t:{},{set:function t(t,e,n){return a1(s,e)&&(s[e]=n),t[e]=n},get:function t(t,e){return a1(s,e)?s[e]:t[e]}});return n.evaluate(l)}},getIds:function t(t){var e=this;return this.body.getIds(t).filter(function(t){return!e.params.includes(t)})}}}}]);return t}();var a6=null,a8={boundAttributeSuffix:iM.M,marker:iM.P,markerMatch:iM.A,HTML_RESULT:iM.C,getTemplateHtml:iM.L,overrideDirectiveResolve:function(t,e){var n=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){l(this,n);return s(this,n,arguments)}d(n,[{key:"_$AS",value:function t(t,n){return e(this,n)}}]);return n}(t);return n},patchDirectiveResolve:function(t,e){if(t.prototype._$AS.name!==e.name){a6!==null&&a6!==void 0?a6:a6=t.prototype._$AS.name;for(var n=t.prototype;n!==Object.prototype;n=Object.getPrototypeOf(n))if(n.hasOwnProperty(a6))return void(n[a6]=e);throw Error("Internal error: It is possible that both dev mode and production mode Lit was mixed together during SSR. Please comment on the issue: https://github.com/lit/lit/issues/4527")}},setDirectiveClass:function t(t,e){t._$litDirective$=e},getAttributePartCommittedValue:function(t,e,n){var r=ib;return t.j=function(t){return r=t},t._$AI(e,t,n),r},connectedDisconnectable:function(t){return x(k({},t),{_$AU:!0})},resolveDirective:iM.V,AttributePart:iM.H,PropertyPart:iM.B,BooleanAttributePart:iM.N,EventPart:iM.U,ElementPart:iM.F,TemplateInstance:iM.R,isIterable:iM.D,ChildPart:iM.I};var a7=a8.AttributePart,a9=a8.PropertyPart,st=a8.BooleanAttributePart,se=a8.EventPart,sn=new a4,sr=new Map,si=function(t){return t.replace(/-(-|\w)/g,function(t,e){return e.toUpperCase()})},so=function(t,e){var n=sr.get(t);if(n===void 0){if(sr.has(t))return;if(t=t.trim(),t.startsWith("{{")&&t.endsWith("}}")){var r=t.substring(2,t.length-2).trim();n=new a0(r,sn).parse(),sr.set(t,n)}}return n===null||n===void 0?void 0:n.evaluate(e)},sa=function(t,e,n,r){var o=t.getAttribute("if");if(o!==null&&so(o,e))return sp(t,e,n,r)},ss=RegExp("(?<!\\\\){{(.*?)(?:(?<!\\\\)}})","g"),sl=function(t){return/(?:\\{{)|(?:\\}})/g.test(t)},su=function(t){return t.replaceAll(/\\{{/g,"{{").replace(/\\}}/g,"}}")},sc=function(t,e,n,r){var o=t.getAttribute("repeat");if(o!==null){var a=so(o,e);if(!a[Symbol.iterator])return i_;var s=sv(t),l=-1,u=[];var c=true,d=false,h=undefined;try{for(var p=a[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;l++;var m=Object.create(e);var g;m.item=v,m.index=l,m.this=(g=e.this)!==null&&g!==void 0?g:e;var y=[];var b=true,_=false,q=undefined;try{for(var k=s.parts[Symbol.iterator](),w;!(b=(w=k.next()).done);b=true){var x=w.value;var C;var E=x.update(m,n,r);x.type===1?(C=y).push.apply(C,L(E)):y.push(E)}}catch(t){_=true;q=t}finally{try{if(!b&&k.return!=null){k.return()}}finally{if(_){throw q}}}var S={_$litType$:s,values:y};u.push(S)}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}return u}},sd={if:sa,repeat:sc},sh=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sd,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var o=sv(t).renderers;if(r){var a=sv(r).renderers,s=o.super;s!==void 0?n=x(k({},o,n),{super:function(t,e,n){return n=x(k({},a,n),{super:function(t,e,n){return sp(r,t,e,n)}}),s(t,e,n)}}):(n=k({},a,o,n),t=r)}else n=k({},o,n);return function(r){return sp(t,r,e,n)}};var sp=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:sd,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};var o=sv(t),a=[];var s=true,l=false,u=undefined;try{for(var c=o.parts[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;var p;var f=h.update(e,n,r);h.type===1?(p=a).push.apply(p,L(f)):a.push(f)}}catch(t){l=true;u=t}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}return{_$litType$:o,values:a}},sf=new Map,sv=function(t){var e=sf.get(t);return e===void 0&&sf.set(t,e=sm(t)),e},sm=function(t){var e=function(){if(o.nodeType===Node.COMMENT_NODE)a++;else if(o.nodeType===Node.ELEMENT_NODE){a++;var t=o;if(t.tagName==="TEMPLATE"){var e=t.getAttribute("type"),l=t.getAttribute("name"),u=t.getAttribute("call");if(u!==null||e!==null||l!==null){t.parentNode.insertBefore(document.createComment(""),t),s.push(t);var c=void 0;if(u!==null){var d=u.trim(),h=d.startsWith("{{")&&d.endsWith("}}");c=function(e,n,r){var o;var a=t.getAttribute("data"),s=a===null?void 0:so(a,e);return(o=h?so(d,e):r[u])===null||o===void 0?void 0:o(s,n,r)}}else e!==null?c=function(n,r,o){var a=r[e];return a===null||a===void 0?void 0:a(t,n,r,o)}:(l==="super"?n.renderers.super=function(e,n,r){var o=r.super,a=sv(t);return r=k({},r,a.renderers),o(e,n,r)}:n.renderers[l]=function(e,n,r){return sp(t,e,n,r)},c=function(t,e,n){var r=n[l];return r===null||r===void 0?void 0:r(t,e,n)});n.parts.push({type:2,index:a,update:c});return"continue"}}var p=t.getAttributeNames();var f=true,v=false,m=undefined;try{var g=function(){var e=b.value;var r=t.getAttribute(e),o=r.split(ss);if(o.length===1){sl(r)&&t.setAttribute(e,su(r));return"continue"}t.removeAttribute(e);var s=e,l=a7,u=e[0];u==="."?(s=si(e.substring(1)),l=a9):u==="?"?(s=e.substring(1),l=st):u==="@"&&(s=si(e.substring(1)),l=se);var c=[su(o[0])],d=[];for(var h=1;h<o.length;h+=2){var p=o[h];d.push(aR(p,sn)),c.push(su(o[h+1]))}n.parts.push({type:1,index:a,name:s,strings:c,ctor:l,update:function(t,e,n){return d.map(function(e){return e.evaluate(t)})}})};for(var y=p[Symbol.iterator](),b;!(f=(b=y.next()).done);f=true)g()}catch(t){v=true;m=t}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(v){throw m}}}}else if(o.nodeType===Node.TEXT_NODE){var _=function(t){var e=x[t],o=aR(e,sn);n.parts.push({type:2,index:++a,update:function(t,e){return o.evaluate(t)}});var s=new Text(x[t+1].replace("\\{{","{{"));q.parentNode.insertBefore(s,q.nextSibling),q.parentNode.insertBefore(document.createComment(""),q.nextSibling),q=s,r.currentNode=s};var q=o,w=q.textContent,x=w.split(ss);x.length>1?q.textContent=su(x[0]):sl(w)&&(q.textContent=su(w));for(var C=1;C<x.length;C+=2)_(C)}};var n={h:void 0,el:t.cloneNode(!0),parts:[],renderers:{}},r=document.createTreeWalker(n.el.content,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_COMMENT),o=r.currentNode,a=-1,s=[];for(;(o=r.nextNode())!==null;)e();var l=true,u=false,c=undefined;try{for(var d=s[Symbol.iterator](),h;!(l=(h=d.next()).done);l=true){var p=h.value;p.remove()}}catch(t){u=true;c=t}finally{try{if(!l&&d.return!=null){d.return()}}finally{if(u){throw c}}}return n};var sg=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._internals=t.attachInternals(),t._internals.ariaLabel="pagination";return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");this.myTemplate=sh(t)}},{key:"render",value:function t(){var t=this;if(!this.computedContext)return im(tL());var e=this.computedContext.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})});return im(tN(),e.map(function(e){return t.myTemplate({item:e,view:t.computedContext.view})}))}}]);return e}(iD);nJ([M({context:i5,subscribe:!0})],sg.prototype,"computedContext",2),sg=nJ([iz("test-paging-buttons-stamp")],sg);var sy=iM.I,sb=function(t){return t===null||(typeof t==="undefined"?"undefined":N(t))!="object"&&typeof t!="function"};var s_=function(t){return t.strings===void 0},sq=function(){return document.createComment("")},sk=function(t,e,n){var r=t._$AA.parentNode,o=e===void 0?t._$AB:e._$AA;if(n===void 0){var a=r.insertBefore(sq(),o),s=r.insertBefore(sq(),o);n=new sy(a,s,t,t.options)}else{var l=n._$AB.nextSibling,u=n._$AM,c=u!==t;if(c){var d;var h;(d=n._$AQ)===null||d===void 0?void 0:d.call(n,t),n._$AM=t,n._$AP!==void 0&&(h=t._$AU)!==u._$AU&&n._$AP(h)}if(l!==o||c){var p=n._$AA;for(;p!==l;){var f=p.nextSibling;r.insertBefore(p,o),p=f}}}return n},sw=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t;return t._$AI(e,n),t},sx={},sC=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sx;return t._$AH=e},sE=function(t){return t._$AH},sS=function(t){t._$AR(),t._$AA.remove()};var sA={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},sR=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}return{_$litDirective$:t,values:n}}},sI=/*#__PURE__*/function(){"use strict";function t(e){l(this,t)}d(t,[{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AT",value:function t(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}},{key:"_$AS",value:function t(t,e){return this.update(t,e)}},{key:"update",value:function t(t,e){return this.render.apply(this,L(e))}}]);return t}();var sT=function(t,e){var n;var r=t._$AN;if(r===void 0)return!1;var o=true,a=false,s=undefined;try{for(var l=r[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;(n=c._$AO)===null||n===void 0?void 0:n.call(c,e,!1),sT(c,e)}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return!0},sP=function(t){var e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while((n===null||n===void 0?void 0:n.size)===0)},sM=function(t){for(var e;e=t._$AM;t=e){var n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),sO(e)}};var sO=function(t){var e,n;t.type==sA.CHILD&&((e=t._$AP)!==null&&e!==void 0?e:t._$AP=nN,(n=t._$AQ)!==null&&n!==void 0?n:t._$AQ=nL)},sL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t._$AN=void 0;return t}d(e,[{key:"_$AT",value:function t(t,n,r){p(f(e.prototype),"_$AT",this).call(this,t,n,r),sM(this),this.isConnected=t._$AU}},{key:"_$AO",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n,r,o,a;t!==this.isConnected&&(this.isConnected=t,t?(n=(r=this).reconnected)===null||n===void 0?void 0:n.call(r):(o=(a=this).disconnected)===null||o===void 0?void 0:o.call(a)),e&&(sT(this,t),sP(this))}},{key:"setValue",value:function t(t){if(s_(this._$Ct))this._$Ct._$AI(t,this);else{var e=L(this._$Ct._$AH);e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}},{key:"disconnected",value:function t(){}},{key:"reconnected",value:function t(){}}]);return e}(sI);var sN=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.G=e}d(t,[{key:"disconnect",value:function t(){this.G=void 0}},{key:"reconnect",value:function t(t){this.G=t}},{key:"deref",value:function t(){return this.G}}]);return t}(),sU=/*#__PURE__*/function(){"use strict";function t(){l(this,t);this.Y=void 0,this.Z=void 0}d(t,[{key:"get",value:function t(){return this.Y}},{key:"pause",value:function t(){var t=this;var e;(e=this.Y)!==null&&e!==void 0?e:this.Y=new Promise(function(e){return t.Z=e})}},{key:"resume",value:function t(){var t,e;(t=(e=this).Z)===null||t===void 0?void 0:t.call(e),this.Y=this.Z=void 0}}]);return t}();var sD=function(t){return!sb(t)&&typeof t.then=="function"},sV=0x3fffffff,s$=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t._$Cwt=sV,t._$Cbt=[],t._$CK=new sN(t),t._$CX=new sU;return t}d(e,[{key:"render",value:function t(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}var r;return(r=e.find(function(t){return!sD(t)}))!==null&&r!==void 0?r:ib}},{key:"update",value:function t(t,e){var n,r=function(t){var r=e[t];if(!sD(r))return{v:(n._$Cwt=t,r)};t<s&&r===o[t]||(n._$Cwt=sV,s=0,Promise.resolve(r).then(function(t){return a(function(){var e,n;return $(this,function(o){switch(o.label){case 0:if(!u.get())return[3,3];return[4,u.get()];case 1:o.sent();o.label=2;case 2:return[3,0];case 3:e=l.deref();if(e!==void 0){n=e._$Cbt.indexOf(r);n>-1&&n<e._$Cwt&&(e._$Cwt=n,e.setValue(t))}return[2]}})})()}))};var o=this._$Cbt,s=o.length;this._$Cbt=e;var l=this._$CK,u=this._$CX;this.isConnected||this.disconnected();for(var c=0;c<e.length&&!(c>this._$Cwt);c++){var d=(n=this,r(c));if(N(d)==="object")return d.v}return ib}},{key:"disconnected",value:function t(){this._$CK.disconnect(),this._$CX.pause()}},{key:"reconnected",value:function t(){this._$CK.reconnect(this),this._$CX.resume()}}]);return e}(sL),sz=sR(s$);var sj="@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;\n\n:root,\n:host {\n /* Active colors */\n --qti-bg-active: #ffecec;\n --qti-border-active: #f86d70;\n\n /* Correct colors */\n --qti-correct-light: #c8e6c9;\n --qti-correct: #66bb6a;\n\n /** Partially correct colors */\n --qti-partially-correct-light: #fff3e0;\n --qti-partially-correct: #ffeb3b;\n\n /* Incorrect colors */\n --qti-incorrect-light: #ef9a9a;\n --qti-incorrect: #ef5350;\n\n /* Validation colors */\n --qti-validation-error-bg: #fffbeb;\n --qti-validation-text: #92400e;\n\n /* Gap size */\n --qti-gap-size: 1rem;\n\n /* Background colors */\n --qti-bg: white;\n --qti-hover-bg: #f9fafb;\n\n /* Light theme colors */\n --qti-light-bg-active: #f0f0f0; /* Light gray */\n --qti-light-border-active: #d0d0d0; /* Medium gray */\n\n /* Dark theme colors */\n --qti-dark-bg-active: #1f2937; /* Dark gray */\n --qti-dark-border-active: #64748b; /* Medium gray */\n\n /* Disabled colors */\n --qti-disabled-bg: #f3f4f6;\n --qti-disabled-color: #45484f;\n\n /* Border properties */\n --qti-border-thickness: 2px;\n --qti-border-style: solid;\n --qti-border-color: #c6cad0;\n --qti-border-radius: 0.3rem;\n --qti-drop-border-radius: calc(var(--qti-border-radius) + var(--qti-border-thickness));\n\n /* Focus & active states */\n --qti-focus-border-width: 5px;\n --qti-focus-color: #bddcff7e;\n\n /* Class-specific variables */\n\n /* Form elements */\n --qti-form-size: 1rem;\n\n /* Order buttons */\n --qti-order-size: 2rem;\n\n /* Generic padding for all elements */\n --qti-padding-vertical: 0.5rem; /* py-2 */\n --qti-padding-horizontal: 0.5rem; /* px-2 */\n\n /* Dropzones */\n --qti-dropzone-padding: 0rem;\n}\n\n/* SVG masks and backgrounds */\n\n.chevron {\n background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px;\n}\n\n.handle {\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n background-repeat: repeat-y;\n background-position: left center;\n background-size: 14px 8px;\n}\n\n.check-mask {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n}\n\n/*\n Following are classes that can be applied to elements and element states, so they are not used directly\n The @apply directive is used to apply these classes to elements\n*/\n\n/* Apply .bordered to an element */\n\n.bordered {\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .form rules for checkbox and radiobutton */\n\n.form {\n\n /* background-color: var(--qti-bg); */\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .button rules for button-like elements, such as drags and buttons */\n\n.button {\n\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .select for the select dropdown element */\n\n.select {\n\n border-radius: var(--qti-border-radius);\n position: relative;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n padding-right: calc(var(--qti-padding-horizontal) + 1.5rem); /* 1.5rem for the chevron */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px;\n}\n\n/* Apply .text for the input text and textarea */\n\n.text {\n\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .spot for hotspot shapes */\n\n.spot {\n\n width: 100%;\n height: 100%;\n background-color: transparent;\n margin: 0 !important;\n padding: 0 !important;\n border: 0 !important;\n box-sizing: border-box !important;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .point for circular small hotspots */\n\n.point {\n\n box-sizing: border-box;\n border-radius: 100%;\n border: 1px solid white;\n background-color: black;\n opacity: 0.5;\n padding: 0;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .drag for draggable elements */\n\n.drag {\n\n box-sizing: border-box;\n transition:\n transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n cursor: grab;\n background-color: var(--qti-bg);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border-radius: var(--qti-border-radius);\n\n /* padding-left: calc(var(--qti-padding-horizontal) + 0.5rem) !important; */\n\n /* 1.5rem for the drag */\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n}\n\n/* Apply .dragging for the dragging state of a draggable element */\n\n.dragging {\n pointer-events: none;\n rotate: -2deg;\n box-shadow:\n 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n}\n\n/* Apply .drop for an element where you can drop the draggable */\n\n.drop {\n /* @apply bordered; */\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n}\n\n/* Apply .dropping for an indicator where you can drop the draggable */\n\n.dropping {\n background-color: var(--qti-bg-active);\n}\n\n/* Apply .order for a small circular button */\n\n.order {\n\n display: grid;\n place-content: center;\n\n /* background-color: var(--qti-bg-active); */\n box-sizing: border-box;\n border-radius: 100%;\n width: var(--qti-order-size);\n height: var(--qti-order-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .check-size for radio and checkbox size */\n\n.check-size {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n}\n\n/* Apply .check for checkbox */\n\n.check {\n gap: 0.5rem;\n background-color: var(--qti-bg);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n outline: none;\n cursor: pointer;\n}\n\n/* Apply .check-radio for outer circle of the radio buttons */\n\n.check-radio {\n\n border-radius: 100%;\n\n display: grid;\n\n place-content: center;\n\n width: var(--qti-form-size);\n\n height: var(--qti-form-size);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n}\n\n/* Apply .check-radio-checked for the inner checked radio */\n\n.check-radio-checked {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n}\n\n/* Apply .check-checkbox for outer square of the checkbox */\n\n.check-checkbox {\n\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .check-checkbox-checked for the inner checkmark */\n\n.check-checkbox-checked {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n}\n\n/* Apply .hov for hover state */\n\n.hov {\n /* background-color: var(--qti-hover-bg); */\n}\n\n/* Apply .foc for focus state */\n\n.foc {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n}\n\n/* Apply .act for active state */\n\n.act {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n}\n\n.act-bg {\n background-color: var(--qti-bg-active);\n}\n\n.act-bor {\n border-color: var(--qti-border-active);\n}\n\n/* Apply .rdo for readonly state */\n\n.rdo {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n}\n\n/* Apply .dis for disabled state */\n\n.dis {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n}\n\n/* base */\n\n/* ============================\n QTI 3 shared css\n 1. Display\n 2. Special Flex styles\n 3. Margin\n 4. Padding\n 5. Horizontal Alignment styles\n 6. Vertical Alignment styles\n 7. Height\n 8. Width\n 9. Text-Indent\n 10. List Style\n 11. Layout\n 12. Other QTI 3 presentation utilities\n ============================ */\n\n/* ==========\n Display css\n =========== */\n\n.qti-display-inline {\n display: inline;\n}\n\n.qti-display-inline-block {\n display: inline-block;\n}\n\n.qti-display-block {\n display: block;\n}\n\n.qti-display-flex {\n display: flex;\n}\n\n.qti-display-inline-flex {\n display: inline-flex;\n}\n\n.qti-display-grid {\n display: grid;\n}\n\n.qti-display-inline-grid {\n display: inline-grid;\n}\n\n.qti-display-table {\n display: table;\n}\n\n.qti-display-table-cell {\n display: table-cell;\n}\n\n.qti-display-table-row {\n display: table-row;\n}\n\n.qti-display-list-item {\n display: list-item;\n}\n\n.qti-display-inherit {\n display: inherit;\n}\n\n/* \n * hidden to screen readers and sighted\n */\n\n.qti-hidden {\n display: none;\n}\n\n/*\n * visible to screen readers, hidden to sighted\n */\n\n.qti-visually-hidden {\n position: fixed !important;\n overflow: hidden;\n clip: rect(1px 1px 1px 1px);\n height: 1px;\n width: 1px;\n border: 0;\n margin: -1px;\n}\n\n/* =============================\n Special flex styles\n ============================= */\n\n.qti-flex-direction-column {\n flex-direction: column;\n}\n\n.qti-flex-direction-row {\n flex-direction: row;\n}\n\n.qti-flex-grow-1 {\n flex-grow: 1;\n}\n\n.qti-flex-grow-0 {\n flex-grow: 0;\n}\n\n/* =========\n Margin css\n ========== */\n\n/**\n * For margin Top and Bottom and Left and Right\n */\n\n.qti-margin-0 {\n margin: 0 !important;\n}\n\n.qti-margin-1 {\n margin: 0.25rem !important;\n}\n\n.qti-margin-2 {\n margin: 0.5rem !important;\n}\n\n.qti-margin-3 {\n margin: 1rem !important;\n}\n\n.qti-margin-4 {\n margin: 1.5rem !important;\n}\n\n.qti-margin-5 {\n margin: 3rem !important;\n}\n\n.qti-margin-auto {\n margin: auto !important;\n}\n\n/*\n For margin Left and Right\n */\n\n.qti-margin-x-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.qti-margin-x-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.qti-margin-x-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.qti-margin-x-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.qti-margin-x-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.qti-margin-x-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.qti-margin-x-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n/*\n For margin Top and Bottom\n */\n\n.qti-margin-y-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.qti-margin-y-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.qti-margin-y-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.qti-margin-y-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.qti-margin-y-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.qti-margin-y-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.qti-margin-y-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n/*\n For margin Top\n */\n\n.qti-margin-t-0 {\n margin-top: 0 !important;\n}\n\n.qti-margin-t-1 {\n margin-top: 0.25rem !important;\n}\n\n.qti-margin-t-2 {\n margin-top: 0.5rem !important;\n}\n\n.qti-margin-t-3 {\n margin-top: 1rem !important;\n}\n\n.qti-margin-t-4 {\n margin-top: 1.5rem !important;\n}\n\n.qti-margin-t-5 {\n margin-top: 3rem !important;\n}\n\n.qti-margin-t-auto {\n margin-top: auto !important;\n}\n\n/* \n For margin Bottom\n */\n\n.qti-margin-b-0 {\n margin-bottom: 0 !important;\n}\n\n.qti-margin-b-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.qti-margin-b-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.qti-margin-b-3 {\n margin-bottom: 1rem !important;\n}\n\n.qti-margin-b-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.qti-margin-b-5 {\n margin-bottom: 3rem !important;\n}\n\n.qti-margin-b-auto {\n margin-bottom: auto !important;\n}\n\n/*\n For margin Start LTR\n */\n\n.qti-margin-s-0 {\n margin-left: 0 !important;\n}\n\n.qti-margin-s-1 {\n margin-left: 0.25rem !important;\n}\n\n.qti-margin-s-2 {\n margin-left: 0.5rem !important;\n}\n\n.qti-margin-s-3 {\n margin-left: 1rem !important;\n}\n\n.qti-margin-s-4 {\n margin-left: 1.5rem !important;\n}\n\n.qti-margin-s-5 {\n margin-left: 3rem !important;\n}\n\n.qti-margin-s-auto {\n margin-left: auto !important;\n}\n\n/* \n For margin End LTR\n */\n\n.qti-margin-e-0 {\n margin-right: 0 !important;\n}\n\n.qti-margin-e-1 {\n margin-right: 0.25rem !important;\n}\n\n.qti-margin-e-2 {\n margin-right: 0.5rem !important;\n}\n\n.qti-margin-e-3 {\n margin-right: 1rem !important;\n}\n\n.qti-margin-e-4 {\n margin-right: 1.5rem !important;\n}\n\n.qti-margin-e-5 {\n margin-right: 3rem !important;\n}\n\n.qti-margin-e-auto {\n margin-right: auto !important;\n}\n\n/* =========\n Padding css\n ========== */\n\n/*\n For padding Top and Bottom and Left and Right\n */\n\n.qti-padding-0 {\n padding: 0 !important;\n}\n\n.qti-padding-1 {\n padding: 0.25rem !important;\n}\n\n.qti-padding-2 {\n padding: 0.5rem !important;\n}\n\n.qti-padding-3 {\n padding: 1rem !important;\n}\n\n.qti-padding-4 {\n padding: 1.5rem !important;\n}\n\n.qti-padding-5 {\n padding: 3rem !important;\n}\n\n/*\n For padding Left and Right\n */\n\n.qti-padding-x-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.qti-padding-x-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.qti-padding-x-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.qti-padding-x-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.qti-padding-x-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.qti-padding-x-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n/*\n For padding Top and Bottom\n */\n\n.qti-padding-y-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.qti-padding-y-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.qti-padding-y-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.qti-padding-y-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.qti-padding-y-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.qti-padding-y-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n/*\n For padding Top\n */\n\n.qti-padding-t-0 {\n padding-top: 0 !important;\n}\n\n.qti-padding-t-1 {\n padding-top: 0.25rem !important;\n}\n\n.qti-padding-t-2 {\n padding-top: 0.5rem !important;\n}\n\n.qti-padding-t-3 {\n padding-top: 1rem !important;\n}\n\n.qti-padding-t-4 {\n padding-top: 1.5rem !important;\n}\n\n.qti-padding-t-5 {\n padding-top: 3rem !important;\n}\n\n/*\n For padding Bottom\n */\n\n.qti-padding-b-0 {\n padding-bottom: 0 !important;\n}\n\n.qti-padding-b-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.qti-padding-b-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.qti-padding-b-3 {\n padding-bottom: 1rem !important;\n}\n\n.qti-padding-b-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.qti-padding-b-5 {\n padding-bottom: 3rem !important;\n}\n\n/*\n For padding Start LTR\n */\n\n.qti-padding-s-0 {\n padding-left: 0 !important;\n}\n\n.qti-padding-s-1 {\n padding-left: 0.25rem !important;\n}\n\n.qti-padding-s-2 {\n padding-left: 0.5rem !important;\n}\n\n.qti-padding-s-3 {\n padding-left: 1rem !important;\n}\n\n.qti-padding-s-4 {\n padding-left: 1.5rem !important;\n}\n\n.qti-padding-s-5 {\n padding-left: 3rem !important;\n}\n\n/*\n For padding End LTR\n */\n\n.qti-padding-e-0 {\n padding-right: 0 !important;\n}\n\n.qti-padding-e-1 {\n padding-right: 0.25rem !important;\n}\n\n.qti-padding-e-2 {\n padding-right: 0.5rem !important;\n}\n\n.qti-padding-e-3 {\n padding-right: 1rem !important;\n}\n\n.qti-padding-e-4 {\n padding-right: 1.5rem !important;\n}\n\n.qti-padding-e-5 {\n padding-right: 3rem !important;\n}\n\n/* ====================\n Horizontal alignment\n ==================== */\n\n.qti-align-left {\n text-align: left;\n}\n\n.qti-align-center {\n text-align: center;\n}\n\n.qti-align-right {\n text-align: right;\n}\n\n/* ==================\n Vertical alignment\n ================== */\n\n.qti-valign-top {\n vertical-align: top;\n}\n\n.qti-valign-middle {\n vertical-align: middle;\n}\n\n.qti-valign-baseline {\n vertical-align: baseline;\n}\n\n.qti-valign-bottom {\n vertical-align: bottom;\n}\n\n/* =============\n Height styles\n ============= */\n\n.qti-height-0 {\n height: 0;\n}\n\n.qti-height-px {\n height: 1px;\n}\n\n.qti-height-0p5 {\n height: 0.125rem;\n}\n\n.qti-height-1 {\n height: 0.25rem;\n}\n\n.qti-height-1p5 {\n height: 0.375rem;\n}\n\n.qti-height-2 {\n height: 0.5rem;\n}\n\n.qti-height-2p5 {\n height: 0.625rem;\n}\n\n.qti-height-3 {\n height: 0.75rem;\n}\n\n.qti-height-3p5 {\n height: 0.875rem;\n}\n\n.qti-height-4 {\n height: 1rem;\n}\n\n.qti-height-5 {\n height: 1.25rem;\n}\n\n.qti-height-6 {\n height: 1.5rem;\n}\n\n.qti-height-7 {\n height: 1.75rem;\n}\n\n.qti-height-8 {\n height: 2rem;\n}\n\n.qti-height-9 {\n height: 2.25rem;\n}\n\n.qti-height-10 {\n height: 2.5rem;\n}\n\n.qti-height-11 {\n height: 2.75rem;\n}\n\n.qti-height-12 {\n height: 3rem;\n}\n\n.qti-height-14 {\n height: 3.5rem;\n}\n\n.qti-height-16 {\n height: 4rem;\n}\n\n.qti-height-20 {\n height: 5rem;\n}\n\n.qti-height-24 {\n height: 6rem;\n}\n\n.qti-height-28 {\n height: 7rem;\n}\n\n.qti-height-32 {\n height: 8rem;\n}\n\n.qti-height-36 {\n height: 9rem;\n}\n\n.qti-height-40 {\n height: 10rem;\n}\n\n.qti-height-44 {\n height: 11rem;\n}\n\n.qti-height-48 {\n height: 12rem;\n}\n\n.qti-height-52 {\n height: 13rem;\n}\n\n.qti-height-56 {\n height: 14rem;\n}\n\n.qti-height-60 {\n height: 15rem;\n}\n\n.qti-height-64 {\n height: 16rem;\n}\n\n.qti-height-72 {\n height: 18rem;\n}\n\n.qti-height-80 {\n height: 20rem;\n}\n\n.qti-height-96 {\n height: 24rem;\n}\n\n.qti-height-1-2 {\n height: 50%;\n}\n\n.qti-height-1-3 {\n height: 33.3333%;\n}\n\n.qti-height-2-3 {\n height: 66.6667%;\n}\n\n.qti-height-1-4 {\n height: 25%;\n}\n\n.qti-height-2-4 {\n height: 50%;\n}\n\n.qti-height-3-4 {\n height: 75%;\n}\n\n.qti-height-1-5 {\n height: 20%;\n}\n\n.qti-height-2-5 {\n height: 40%;\n}\n\n.qti-height-3-5 {\n height: 60%;\n}\n\n.qti-height-4-5 {\n height: 80%;\n}\n\n.qti-height-1-6 {\n height: 16.6667%;\n}\n\n.qti-height-2-6 {\n height: 33.3333%;\n}\n\n.qti-height-3-6 {\n height: 50%;\n}\n\n.qti-height-4-6 {\n height: 66.6667%;\n}\n\n.qti-height-5-6 {\n height: 83.3333%;\n}\n\n.qti-height-auto {\n height: auto;\n}\n\n.qti-height-full {\n height: 100%;\n}\n\n/* ============\n Width styles\n ============ */\n\n.qti-width-0 {\n width: 0;\n}\n\n.qti-width-px {\n width: 1px;\n}\n\n.qti-width-0p5 {\n width: 0.125rem;\n}\n\n.qti-width-1 {\n width: 0.25rem;\n}\n\n.qti-width-1p5 {\n width: 0.375rem;\n}\n\n.qti-width-2 {\n width: 0.5rem;\n}\n\n.qti-width-2p5 {\n width: 0.625rem;\n}\n\n.qti-width-3 {\n width: 0.75rem;\n}\n\n.qti-width-3p5 {\n width: 0.875rem;\n}\n\n.qti-width-4 {\n width: 1rem;\n}\n\n.qti-width-5 {\n width: 1.25rem;\n}\n\n.qti-width-6 {\n width: 1.5rem;\n}\n\n.qti-width-7 {\n width: 1.75rem;\n}\n\n.qti-width-8 {\n width: 2rem;\n}\n\n.qti-width-9 {\n width: 2.25rem;\n}\n\n.qti-width-10 {\n width: 2.5rem;\n}\n\n.qti-width-11 {\n width: 2.75rem;\n}\n\n.qti-width-12 {\n width: 3rem;\n}\n\n.qti-width-14 {\n width: 3.5rem;\n}\n\n.qti-width-16 {\n width: 4rem;\n}\n\n.qti-width-20 {\n width: 5rem;\n}\n\n.qti-width-24 {\n width: 6rem;\n}\n\n.qti-width-28 {\n width: 7rem;\n}\n\n.qti-width-32 {\n width: 8rem;\n}\n\n.qti-width-36 {\n width: 9rem;\n}\n\n.qti-width-40 {\n width: 10rem;\n}\n\n.qti-width-44 {\n width: 11rem;\n}\n\n.qti-width-48 {\n width: 12rem;\n}\n\n.qti-width-52 {\n width: 13rem;\n}\n\n.qti-width-56 {\n width: 14rem;\n}\n\n.qti-width-60 {\n width: 15rem;\n}\n\n.qti-width-64 {\n width: 16rem;\n}\n\n.qti-width-72 {\n width: 18rem;\n}\n\n.qti-width-80 {\n width: 20rem;\n}\n\n.qti-width-96 {\n width: 24rem;\n}\n\n.qti-width-auto {\n width: auto;\n}\n\n.qti-width-1-2 {\n width: 50%;\n}\n\n.qti-width-1-3 {\n width: 33.3333%;\n}\n\n.qti-width-2-3 {\n width: 66.6667%;\n}\n\n.qti-width-1-4 {\n width: 25%;\n}\n\n.qti-width-2-4 {\n width: 50%;\n}\n\n.qti-width-3-4 {\n width: 75%;\n}\n\n.qti-width-1-5 {\n width: 20%;\n}\n\n.qti-width-2-5 {\n width: 40%;\n}\n\n.qti-width-3-5 {\n width: 60%;\n}\n\n.qti-width-4-5 {\n width: 80%;\n}\n\n.qti-width-1-6 {\n width: 16.6667%;\n}\n\n.qti-width-2-6 {\n width: 33.3333%;\n}\n\n.qti-width-3-6 {\n width: 50%;\n}\n\n.qti-width-4-6 {\n width: 66.6667%;\n}\n\n.qti-width-5-6 {\n width: 83.3333%;\n}\n\n.qti-width-1-12 {\n width: 8.3333%;\n}\n\n.qti-width-2-12 {\n width: 16.6667%;\n}\n\n.qti-width-3-12 {\n width: 25%;\n}\n\n.qti-width-4-12 {\n width: 33.3333%;\n}\n\n.qti-width-5-12 {\n width: 41.6667%;\n}\n\n.qti-width-6-12 {\n width: 50%;\n}\n\n.qti-width-7-12 {\n width: 58.3333%;\n}\n\n.qti-width-8-12 {\n width: 66.6667%;\n}\n\n.qti-width-9-12 {\n width: 75%;\n}\n\n.qti-width-10-12 {\n width: 83.3333%;\n}\n\n.qti-width-11-12 {\n width: 91.6667%;\n}\n\n.qti-width-full,\n.qti-fullwidth {\n width: 100%;\n}\n\n/* ==================\n Text Indent styles\n ================== */\n\n.qti-text-indent-0 {\n text-indent: 0;\n}\n\n.qti-text-indent-px {\n text-indent: 1px;\n}\n\n.qti-text-indent-0p5 {\n text-indent: 0.125rem;\n}\n\n.qti-text-indent-1 {\n text-indent: 0.25rem;\n}\n\n.qti-text-indent-1p5 {\n text-indent: 0.375rem;\n}\n\n.qti-text-indent-2 {\n text-indent: 0.5rem;\n}\n\n.qti-text-indent-2p5 {\n text-indent: 0.625rem;\n}\n\n.qti-text-indent-3 {\n text-indent: 0.75rem;\n}\n\n.qti-text-indent-3p5 {\n text-indent: 0.875rem;\n}\n\n.qti-text-indent-4 {\n text-indent: 1rem;\n}\n\n.qti-text-indent-5 {\n text-indent: 1.25rem;\n}\n\n.qti-text-indent-6 {\n text-indent: 1.5rem;\n}\n\n.qti-text-indent-7 {\n text-indent: 1.75rem;\n}\n\n.qti-text-indent-8 {\n text-indent: 2rem;\n}\n\n.qti-text-indent-12 {\n text-indent: 3rem;\n}\n\n.qti-text-indent-16 {\n text-indent: 4rem;\n}\n\n.qti-text-indent-20 {\n text-indent: 5rem;\n}\n\n.qti-text-indent-24 {\n text-indent: 6rem;\n}\n\n.qti-text-indent-28 {\n text-indent: 7rem;\n}\n\n.qti-text-indent-32 {\n text-indent: 8rem;\n}\n\n/* =================\n List Style styles\n ================= */\n\n.qti-list-style-type-none {\n list-style-type: none;\n}\n\n.qti-list-style-type-disc {\n list-style-type: disc;\n}\n\n.qti-list-style-type-circle {\n list-style-type: circle;\n}\n\n.qti-list-style-type-square {\n list-style-type: square;\n}\n\n.qti-list-style-type-decimal {\n list-style-type: decimal;\n}\n\n.qti-list-style-type-decimal-leading-zero {\n list-style-type: decimal-leading-zero;\n}\n\n.qti-list-style-type-lower-alpha {\n list-style-type: lower-alpha;\n}\n\n.qti-list-style-type-upper-alpha {\n list-style-type: upper-alpha;\n}\n\n.qti-list-style-type-lower-roman {\n list-style-type: lower-roman;\n}\n\n.qti-list-style-type-upper-roman {\n list-style-type: upper-roman;\n}\n\n.qti-list-style-type-lower-latin {\n list-style-type: lower-latin;\n}\n\n.qti-list-style-type-upper-latin {\n list-style-type: upper-latin;\n}\n\n.qti-list-style-type-lower-greek {\n list-style-type: lower-greek;\n}\n\n.qti-list-style-type-arabic-indic {\n list-style-type: arabic-indic;\n}\n\n.qti-list-style-type-armenian {\n list-style-type: armenian;\n}\n\n.qti-list-style-type-lower-armenian {\n list-style-type: lower-armenian;\n}\n\n.qti-list-style-type-upper-armenian {\n list-style-type: upper-armenian;\n}\n\n.qti-list-style-type-bengali {\n list-style-type: bengali;\n}\n\n.qti-list-style-type-cambodian {\n list-style-type: cambodian;\n}\n\n.qti-list-style-type-simp-chinese-formal {\n list-style-type: simp-chinese-formal;\n}\n\n.qti-list-style-type-simp-chinese-informal {\n list-style-type: simp-chinese-informal;\n}\n\n.qti-list-style-type-trad-chinese-formal {\n list-style-type: trad-chinese-formal;\n}\n\n.qti-list-style-type-trad-chinese-informal {\n list-style-type: trad-chinese-informal;\n}\n\n.qti-list-style-type-cjk-ideographic {\n list-style-type: cjk-ideographic;\n}\n\n.qti-list-style-type-cjk-heavenly-stem {\n list-style-type: cjk-heavenly-stem;\n}\n\n.qti-list-style-type-cjk-earthly-branch {\n list-style-type: cjk-earthly-branch;\n}\n\n.qti-list-style-type-devanagari {\n list-style-type: devanagari;\n}\n\n.qti-list-style-type-ethiopic-halehame-ti-er {\n list-style-type: ethiopic-halehame-ti-er;\n}\n\n.qti-list-style-type-ethiopic-halehame-ti-et {\n list-style-type: ethiopic-halehame-ti-et;\n}\n\n.qti-list-style-type-ethiopic-halehame-am {\n list-style-type: ethiopic-halehame-am;\n}\n\n.qti-list-style-type-ethiopic-halehame {\n list-style-type: ethiopic-halehame;\n}\n\n.qti-list-style-type-georgian {\n list-style-type: georgian;\n}\n\n.qti-list-style-type-gujarati {\n list-style-type: gujarati;\n}\n\n.qti-list-style-type-gurmukhi {\n list-style-type: gurmukhi;\n}\n\n.qti-list-style-type-hangul {\n list-style-type: hangul;\n}\n\n.qti-list-style-type-hangul-consonant {\n list-style-type: hangul-consonant;\n}\n\n.qti-list-style-type-hebrew {\n list-style-type: hebrew;\n}\n\n.qti-list-style-type-hiragana {\n list-style-type: hiragana;\n}\n\n.qti-list-style-type-hiragana-iroha {\n list-style-type: hiragana-iroha;\n}\n\n.qti-list-style-type-khmer {\n list-style-type: khmer;\n}\n\n.qti-list-style-type-korean-hangul-formal {\n list-style-type: korean-hangul-formal;\n}\n\n.qti-list-style-type-korean-hanja-formal {\n list-style-type: korean-hanja-formal;\n}\n\n.qti-list-style-type-korean-hanja-informal {\n list-style-type: korean-hanja-informal;\n}\n\n.qti-list-style-type-lao {\n list-style-type: lao;\n}\n\n.qti-list-style-type-malayalam {\n list-style-type: malayalam;\n}\n\n.qti-list-style-type-mongolian {\n list-style-type: mongolian;\n}\n\n.qti-list-style-type-myanmar {\n list-style-type: myanmar;\n}\n\n.qti-list-style-type-oriya {\n list-style-type: oriya;\n}\n\n.qti-list-style-type-persian {\n list-style-type: persian;\n}\n\n.qti-list-style-type-thai {\n list-style-type: thai;\n}\n\n.qti-list-style-type-tibetan {\n list-style-type: tibetan;\n}\n\n.qti-list-style-type-telugu {\n list-style-type: telugu;\n}\n\n.qti-list-style-type-urdu {\n list-style-type: urdu;\n}\n\n/* =========================\n Other QTI 3 Presentation Utilities\n ========================= */\n\n.qti-bordered {\n border: 1px solid var(--table-border-color);\n}\n\n.qti-underline {\n text-decoration: underline;\n text-decoration-color: var(--foreground);\n}\n\n.qti-italic {\n font-style: italic;\n}\n\n.qti-well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: var(--well-bg);\n border: var(--well-border);\n border-radius: 4px;\n box-shadow: var(--well-box-shadow);\n}\n\n/* Set writing-mode to vertical-rl \n Typical for CJK vertical text */\n\n.qti-writing-mode-vertical-rl {\n writing-mode: vertical-rl;\n}\n\n/* Set writing-mode to vertical-lr\n Typical for Mongolian vertical text */\n\n.qti-writing-mode-vertical-lr {\n writing-mode: vertical-lr;\n}\n\n/* Set writing-mode to horizontal-tb \n Browser default */\n\n.qti-writing-mode-horizontal-tb {\n writing-mode: horizontal-tb;\n}\n\n/* Float an element left */\n\n.qti-float-left {\n float: left;\n}\n\n/* Float an element right */\n\n.qti-float-right {\n float: right;\n}\n\n/* Remove a float */\n\n.qti-float-none {\n float: none;\n}\n\n/* Clearfix Hack to apply to a container of \n floated content that overflows the container. */\n\n.qti-float-clearfix::after {\n content: '';\n clear: both;\n display: table;\n}\n\n.qti-float-clear-left\n .qti-float-clear-right\n .qti-float-clear-both\n \n /* Set text-orientation to upright */\n .qti-text-orientation-upright {\n text-orientation: upright;\n}\n\n/* stylelint-disable number-max-precision */\n\n@layer qti-base {\n .qti-layout-row {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n gap: 2.1276595745%;\n }\n\n .qti-layout-row [class*='qti-layout-col']:not(:empty) {\n box-sizing: border-box;\n }\n\n .qti-layout-row [class*='qti-layout-col']:empty {\n width: 0;\n overflow: hidden; /* to fully collapse if there’s padding or borders */\n }\n\n .qti-layout-col1 {\n width: 6.3829787234%;\n }\n\n .qti-layout-col2 {\n width: 14.8936170213%;\n }\n\n .qti-layout-col3 {\n width: 23.4042553191%;\n }\n\n .qti-layout-col4 {\n width: 31.914893617%;\n }\n\n .qti-layout-col5 {\n width: 40.4255319149%;\n }\n\n .qti-layout-col6 {\n width: 48.9361702128%;\n }\n\n .qti-layout-col7 {\n width: 57.4468085106%;\n }\n\n .qti-layout-col8 {\n width: 65.9574468085%;\n }\n\n .qti-layout-col9 {\n width: 74.4680851064%;\n }\n\n .qti-layout-col10 {\n width: 82.9787234043%;\n }\n\n .qti-layout-col11 {\n width: 91.4893617021%;\n }\n\n .qti-layout-col12 {\n width: 100%;\n }\n\n .qti-layout-offset1 {\n margin-left: 8.5106382979%;\n }\n\n .qti-layout-offset2 {\n margin-left: 17.0212765957%;\n }\n\n .qti-layout-offset3 {\n margin-left: 25.5319148936%;\n }\n\n .qti-layout-offset4 {\n margin-left: 34.0425531915%;\n }\n\n .qti-layout-offset5 {\n margin-left: 42.5531914894%;\n }\n\n .qti-layout-offset6 {\n margin-left: 51.0638297872%;\n }\n\n .qti-layout-offset7 {\n margin-left: 59.5744680851%;\n }\n\n .qti-layout-offset8 {\n margin-left: 68.085106383%;\n }\n\n .qti-layout-offset9 {\n margin-left: 76.5957446809%;\n }\n\n .qti-layout-offset10 {\n margin-left: 85.1063829787%;\n }\n\n .qti-layout-offset11 {\n margin-left: 93.6170212766%;\n }\n\n .qti-layout-offset12 {\n margin-left: 102.1276595745%;\n }\n\n @media (width <= 767px) {\n [class*='qti-layout-col'] {\n width: 100%;\n }\n }\n}\n\n[view],\nqti-outcome-declaration,\nqti-response-declaration {\n display: none;\n}\n\n[view].show {\n display: block;\n}\n\n:host {\n box-sizing: border-box;\n}\n\n/* components */\n\n@layer qti-components {\n qti-choice-interaction {\n &.qti-input-control-hidden {\n & qti-simple-choice {\n position: relative; /* Add position relative here instead of a separate rule */\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n /* Add styling for correct responses with border instead of checkmark */\n &:state(correct-response),\n &[data-correct-response='true'] {\n border: 3px solid var(--qti-correct) !important;\n padding-right: 30px;\n\n &::after {\n content: '\\02714';\n color: var(--qti-correct);\n position: absolute;\n top: 5px;\n right: 5px;\n font-size: 1.2em;\n font-weight: bold;\n }\n }\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none\n }\n }\n\n &:not(.qti-input-control-hidden) {\n & qti-simple-choice {\n\n &:not([aria-disabled='true'], [aria-readonly='true'], :state(--checked)):hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n &:state(readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n &::part(cha) {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n }\n\n &:state(radio)::part(ch) {\n border-radius: 100%;\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(radio):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n }\n\n &:state(checkbox)::part(ch) {\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(checkbox):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n }\n\n gap: 0.5rem;\n\n background-color: var(--qti-bg);\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n outline: none;\n\n cursor: pointer\n }\n }\n\n /* stylelint-disable-next-line no-descending-specificity */\n & qti-simple-choice {\n width: -moz-fit-content;\n width: fit-content;\n cursor: pointer;\n\n /* Keep the checkmark for non-hidden input controls */\n &:state(correct-response),\n &[data-correct-response='true'] {\n /* stylelint-disable-next-line no-descending-specificity */\n &::after {\n content: '\\02714';\n color: var(--qti-correct);\n }\n }\n }\n\n & qti-simple-choice > p {\n margin: 0 !important;\n padding: 0 !important;\n }\n }\n\n .hover-border {\n border: 2px solid #000; /* Adjust the border style and color as needed */\n }\n\n qti-graphic-gap-match-interaction {\n position: relative;\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n & qti-gap-img,\n qti-gap-text {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: grab;\n }\n\n & qti-associable-hotspot {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid transparent;\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &[active] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active)\n }\n\n &[disabled] {\n\n &:not(:empty) {\n cursor: default !important;\n }\n\n cursor: not-allowed;\n\n background-color: var(--qti-disabled-bg);\n\n color: var(--qti-disabled-color);\n\n border-color: var(--qti-border-color);\n\n outline: 4px solid var(--qti-disabled-bg)\n }\n\n &:empty::after {\n padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */\n content: '\\0000a0'; /* when empty, put a space in it */\n }\n\n &:not(:empty) {\n padding: 0;\n width: auto;\n }\n\n &:not(:empty) > * {\n flex: 1;\n transform: rotate(0); /* rotate-0 */\n box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */\n }\n }\n\n & img {\n margin: 0;\n padding: 0;\n }\n }\n\n qti-text-entry-interaction {\n &:state(candidate-correct) {\n &::part(input) {\n background-color: var(--qti-correct);\n }\n }\n\n &:state(candidate-partially-correct) {\n &::part(input) {\n background-color: var(--qti-partially-correct);\n }\n }\n\n &:state(candidate-incorrect) {\n &::part(input) {\n background-color: var(--qti-incorrect);\n }\n }\n\n &::part(input) {\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:hover {\n }\n\n &:focus-within {\n &::part(input) {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n border-color: var(--qti-border-active);\n }\n }\n }\n\n qti-extended-text-interaction {\n &::part(textarea) {\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:hover {\n }\n\n &:focus-within {\n &::part(textarea) {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n border-color: var(--qti-border-active);\n }\n }\n }\n\n qti-gap-match-interaction {\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n & qti-gap-text {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n \n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n & qti-gap {\n\n &[disabled] {\n\n &:not(:empty) {\n cursor: default !important;\n }\n\n cursor: not-allowed;\n\n background-color: var(--qti-disabled-bg);\n\n color: var(--qti-disabled-color);\n\n border-color: var(--qti-border-color);\n\n outline: 4px solid var(--qti-disabled-bg)\n }\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n border-color: var(--qti-dark-border-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &[active] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active)\n }\n\n display: inline-flex;\n align-items: center;\n\n &:empty::after {\n padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */\n content: '\\0000a0'; /* when empty, put a space in it */\n }\n\n &:not(:empty) {\n display: inline-flex;\n padding: 0;\n width: auto;\n }\n\n &:not(:empty) > * {\n flex: 1;\n transform: rotate(0); /* rotate-0 */\n box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */\n }\n\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n\n border-radius: var(--qti-border-radius);\n\n position: relative;\n\n background-color: var(--qti-bg)\n }\n }\n\n qti-hotspot-interaction {\n & qti-hotspot-choice {\n &[shape='circle'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n }\n\n &:state(--readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(--disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='rect'] {\n\n /* &:hover {\n @apply hov;\n } */\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='poly'] {\n &:hover::after {\n content: '';\n width: 100%;\n height: 100%;\n background: repeating-linear-gradient(\n 45deg,\n var(--qti-border-active),\n var(--qti-border-active) 5px,\n transparent 5px,\n transparent 10px\n );\n display: block;\n }\n\n &:state(--checked)::after,\n &[aria-checked='true']::after {\n content: '';\n width: 100%;\n height: 100%;\n background: repeating-linear-gradient(\n 45deg,\n transparent,\n transparent 5px,\n var(--qti-border-active) 5px,\n var(--qti-border-active) 10px\n );\n display: block;\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n }\n }\n\n qti-hottext-interaction {\n /* &:not(.qti-input-control-hidden),\n &:not(.qti-unselected-hidden) { */\n qti-hottext {\n display: inline-flex;\n align-items: center;\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(cha) {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n }\n\n &:state(radio)::part(ch) {\n border-radius: 100%;\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(radio):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n }\n\n &:state(checkbox)::part(ch) {\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(checkbox):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n }\n\n &:state(correct-response),\n &[data-correct-response='true'] {\n &::after {\n content: '\\02714';\n color: #16a34a; /* text-green-600 */\n }\n }\n\n gap: 0.5rem;\n\n background-color: var(--qti-bg);\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n outline: none;\n\n cursor: pointer\n }\n\n &.qti-input-control-hidden {\n qti-hottext {\n /* --qti-padding-md: 0.1rem;\n --qti-padding-lg: 0.2rem;\n --qti-border-radius-md: 0.3rem;\n --qti-border-thickness: 1px;\n --qti-font-weight-semibold: 400; */\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n /* @layer qti-variants { */\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n /* } */\n }\n\n &.qti-unselected-hidden {\n qti-hottext {\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n cursor: pointer;\n\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked) {\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n }\n }\n\n qti-inline-choice-interaction {\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n &::part(select) {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n border-radius: var(--qti-border-radius);\n\n position: relative;\n\n -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n padding-right: calc(var(--qti-padding-horizontal) + 1.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px\n }\n }\n\n qti-match-interaction.qti-match-tabular {\n /* Table element */\n &::part(table) {\n border-collapse: collapse;\n width: 100%;\n }\n\n /* Row headers - take up remaining space */\n &::part(r-header) {\n background-color: var(--qti-bg-active, #f8f8f8);\n font-weight: 500;\n text-align: center;\n padding: 8px 15px;\n border: 1px solid #ddd;\n width: auto; /* Let it expand naturally */\n word-wrap: break-word; /* Allow long words to break */\n white-space: wrap; /* Allow text to wrap to multiple lines */\n min-width: 4rem; /* Allow column to shrink below content width */\n }\n\n /* Column headers - minimal width */\n &::part(c-header) {\n background-color: var(--qti-bg-active, #f8f8f8);\n font-weight: 500;\n text-align: left;\n padding: 8px;\n border: 1px solid #ddd;\n width: 8rem; /* Force minimal width */\n white-space: normal; /* Prevent wrapping */\n }\n\n /* Table rows */\n &::part(row) {\n border-bottom: 1px solid #ddd;\n }\n\n /* Input cells - minimal width */\n &::part(input-cell) {\n text-align: center;\n vertical-align: middle;\n height: 48px;\n border: 1px solid #ddd;\n padding: 8px;\n width: 1%; /* Force minimal width */\n }\n\n /* Radio button styling */\n &::part(rb) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 2px solid var(--qti-border-active, #2196f3);\n background-color: transparent !important;\n margin: 0 auto;\n cursor: pointer;\n display: block;\n }\n\n /* Radio button checked state */\n &::part(rb-checked) {\n box-shadow: inset 0 0 0 6px var(--qti-border-active, #2196f3);\n }\n\n /* Checkbox styling */\n &::part(cb) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 24px;\n height: 24px;\n border-radius: 3px;\n border: 2px solid var(--qti-border-active, #2196f3);\n background-color: transparent !important;\n margin: 0 auto;\n cursor: pointer;\n display: block;\n }\n\n /* Checkbox checked state - only change border if we're adding an SVG checkmark */\n &::part(cb-checked) {\n background-color: var(--qti-border-active, #2196f3) !important;\n }\n\n &::part(checkmark) {\n position: absolute;\n width: 18px;\n height: 18px;\n top: 3px;\n left: 3px;\n pointer-events: none;\n }\n\n /* Correct answers for both types */\n &::part(rb-correct) {\n border-color: var(--qti-correct, #4caf50);\n }\n\n &::part(rb-checked rb-correct) {\n box-shadow: inset 0 0 0 6px var(--qti-correct, #4caf50);\n }\n\n &::part(cb-correct) {\n border-color: var(--qti-correct, #4caf50);\n }\n\n &::part(cb-checked cb-correct) {\n background-color: var(--qti-correct, #4caf50) !important;\n }\n\n /* Incorrect answers for both types */\n &::part(rb-incorrect) {\n border-color: var(--qti-incorrect, #f44336);\n }\n\n &::part(rb-checked rb-incorrect) {\n box-shadow: inset 0 0 0 6px var(--qti-incorrect, #f44336);\n }\n\n &::part(cb-incorrect) {\n border-color: var(--qti-incorrect, #f44336);\n }\n\n &::part(cb-checked cb-incorrect) {\n background-color: var(--qti-incorrect, #f44336) !important;\n }\n }\n\n qti-match-interaction:not(.qti-match-tabular) {\n &:state(--dragzone-enabled) qti-simple-match-set:first-of-type {\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-active) qti-simple-match-set:first-of-type {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n /* The draggables */\n & qti-simple-match-set:first-of-type {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start; /* Prevents children from stretching */\n gap: var(--qti-gap-size);\n border: 2px solid transparent;\n\n & qti-simple-associable-choice {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n /* The droppables */\n & qti-simple-match-set:last-of-type {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n grid-auto-flow: unset;\n grid-auto-columns: unset;\n gap: var(--qti-gap-size);\n\n & > qti-simple-associable-choice {\n /* a droppable qti-simple-associable-choice */\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n grid-row: unset;\n box-sizing: border-box;\n\n & img {\n max-width: 100%;\n height: auto;\n }\n\n &[enabled] {\n &::part(dropslot) {\n background-color: var(--qti-bg-active);\n }\n }\n\n &[disabled] {\n &::part(dropslot) {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n\n &[active] {\n &::part(dropslot) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n }\n\n &::part(dropslot) {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n padding: var(--qti-dropzone-padding);\n margin-top: 0.5rem;\n gap: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n }\n\n & > *:not(qti-simple-associable-choice) {\n pointer-events: none;\n }\n\n & > qti-simple-associable-choice {\n\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n &::part(dropslot) {\n display: none;\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n flex-basis: fit-content;\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n }\n }\n }\n }\n\n qti-order-interaction {\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n &::part(qti-simple-choice),\n & qti-simple-choice {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &::part(qti-simple-choice) {\n display: flex;\n overflow: hidden;\n align-items: center;\n width: 100%;\n text-overflow: ellipsis;\n }\n\n &::part(drops) {\n gap: 0.5rem; /* gap-2 */\n }\n\n &::part(drags) {\n gap: 0.5rem; /* gap-2 */\n }\n\n &::part(drop-list) {\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n border-color: var(--qti-dark-border-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n display: flex;\n min-height: 4rem;\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n }\n\n &::part(active) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n & drop-list {\n &[shape='circle'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='square'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n }\n\n qti-associate-interaction {\n /* General styles for active and enabled states */\n &:state(--dragzone-active) slot[name='qti-simple-associable-choice'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled) slot[name='qti-simple-associable-choice'] {\n background-color: var(--qti-bg-active);\n }\n\n & qti-simple-associable-choice, /* drags when in lightdom */\n &::part(qti-simple-associable-choice) /* drags when in shadowdom */ {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n /* display: flex;\n overflow: hidden;\n align-items: center; */\n\n /* &::part(drop-container) {\n display: flex;\n flex-direction: column;\n gap: var(--qti-gap-size);\n } */\n\n &::part(drop-list) {\n\n display: grid;\n height: 3rem;\n min-width: 10rem;\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n }\n\n &::part(drop-list):focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(drop-list)[dragging] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n /* &::part(drop-list) {\n @apply act;\n } */\n }\n\n qti-graphic-order-interaction {\n & qti-hotspot-choice {\n width: 100%;\n height: 100%;\n background-color: rgb(128 128 128 / 30%);\n padding: 0;\n\n &:hover {\n background-color: rgb(128 128 128 / 70%);\n }\n\n &:focus {\n background-color: rgb(128 128 128 / 70%);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n background-color: rgb(128 128 128 / 70%);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n &[aria-ordervalue] {\n display: grid;\n place-content: center;\n }\n\n &[aria-ordervalue]::after {\n content: attr(aria-ordervalue) !important;\n }\n\n &[aria-ordercorrectvalue] {\n display: grid;\n place-content: center;\n }\n\n /* When both attributes are present */\n &[aria-ordercorrectvalue][aria-ordervalue]::after {\n content: 'C=' attr(aria-ordercorrectvalue) ' R=' attr(aria-ordervalue) !important;\n color: var(--qti-correct);\n }\n\n /* When only aria-ordercorrectvalue is present */\n &[aria-ordercorrectvalue]:not([aria-ordervalue])::after {\n content: 'C=' attr(aria-ordercorrectvalue) !important;\n color: var(--qti-correct);\n }\n }\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n }\n\n qti-graphic-associate-interaction {\n position: relative;\n display: block;\n\n & qti-associable-hotspot {\n &[shape='circle'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='square'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n }\n\n qti-slider-interaction {\n --qti-tick-color: rgb(229 231 235 / 100%);\n --qti-tick-width: 1px;\n }\n\n qti-select-point-interaction {\n &::part(point) {\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n box-sizing: border-box;\n\n border-radius: 100%;\n\n border: 1px solid white;\n\n background-color: black;\n\n opacity: 0.5;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n }\n\n &::part(correct) {\n background-color: var(--qti-correct);\n }\n\n &::part(incorrect) {\n background-color: var(--qti-incorrect);\n }\n }\n\n qti-position-object-stage {\n & qti-position-object-interaction {\n /* no styles necessary, only layout styles, defined in the component */\n }\n }\n\n qti-prompt {\n margin: 0.5rem 0; /* my-2 */\n display: block;\n width: 100%;\n }\n}\n\nqti-test-part:not(:has(qti-assessment-item)),\nqti-assessment-section:not(:has(qti-assessment-item)),\nqti-assessment-item-ref:not(:has(qti-assessment-item)) {\n display: none;\n}\n\nqti-hottext-interaction::part(message),\nqti-choice-interaction::part(message),\nqti-association-interaction::part(message),\nqti-graphic-association-interaction::part(message),\nqti-graphic-gap-match-interaction::part(message),\nqti-graphic-order-interaction::part(message),\nqti-math-interaction::part(message) {\n display: none;\n color: var(--qti-validation-text, #000);\n background-color: var(--qti-validation-error-bg, #fff);\n padding: 10px;\n border: 3px solid var(--qti-validation-text, #000);\n border-radius: 4px;\n margin-top: 8px;\n}\n\ndiv.full-correct-response {\n border: 1px solid #39a7c0;\n background-color: #d9e8ee;\n}\n\ndiv.full-correct-response-block {\n display: block;\n margin-top: var(--qti-padding-vertical);\n padding: 0.5rem;\n}\n\ndiv.full-correct-response-inline {\n display: inline-block;\n margin-left: var(--qti-padding-horizontal);\n margin-right: var(--qti-padding-horizontal);\n padding: 0.2rem;\n}\n";var sF=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.testURL=null;t.testDoc=null;t.testXML=null;t.templateContent=null;return t}d(e,[{key:"handleTestURLChange",value:function t(){return a(function(){var t,e,n,r,o;return $(this,function(a){switch(a.label){case 0:if(!this.testURL)return[3,7];a.label=1;case 1:a.trys.push([1,6,,7]);return[4,iX().load(this.testURL)];case 2:t=a.sent(),e=this.closest("qti-test");if(!(e===null||e===void 0?void 0:e.postLoadTestTransformCallback))return[3,5];n=t.htmlDoc().querySelector("qti-assessment-test");r=n;if(!r)return[3,4];return[4,e.postLoadTestTransformCallback(t,n)];case 3:r=t=a.sent();a.label=4;case 4:r;a.label=5;case 5:this.testDoc=t.htmlDoc();return[3,7];case 6:o=a.sent();console.error("Error loading or parsing XML:",o);return[3,7];case 7:return[2]}})}).call(this)}},{key:"handleTestXMLChange",value:function t(){if(this.testXML)try{this.testDoc=iX().parse(this.testXML).htmlDoc()}catch(t){console.error("Error parsing XML:",t)}}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){r().call(n),this.initializeTemplateContent(),this.applyStyles(),this.testURL&&this.handleTestURLChange(),this.testXML&&this.handleTestXMLChange();return[2]})}).call(this)}},{key:"initializeTemplateContent",value:function t(){var t=this.querySelector("template");this.templateContent=t?t.content:im(tU())}},{key:"applyStyles",value:function t(){var t=new CSSStyleSheet;t.replaceSync(sj),this.shadowRoot.adoptedStyleSheets=[t]}},{key:"render",value:function t(){return im(tV(),this.templateContent,sz(this.testDoc,im(tD())))}}]);return e}(iD);nJ([n({type:String,attribute:"test-url"})],sF.prototype,"testURL",2),nJ([r()],sF.prototype,"testDoc",2),nJ([r()],sF.prototype,"testXML",2),nJ([nO("testURL",{waitUntilFirstUpdate:!0})],sF.prototype,"handleTestURLChange",1),nJ([nO("testXML",{waitUntilFirstUpdate:!0})],sF.prototype,"handleTestXMLChange",1),sF=nJ([iz("test-container")],sF);var sH=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t;var e=(t=this.computedContext)===null||t===void 0?void 0:t.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(!e||!e.variables)return im(t$());var n=e.variables.filter(function(t){return t.type==="response"}),r=e.variables.filter(function(t){return t.type==="outcome"}),o=function(t,e){return im(tj(),e,t.map(function(t){var e,n,r,o;var a=t.correctResponse?Array.isArray(t.correctResponse)?t.correctResponse.join(", "):t.correctResponse:"",s=((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.map(function(t){return"".concat(t.mapKey,"=").concat(t.mappedValue,"pt")}).join(", "))||"",l=((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.map(function(t){return"".concat(t.shape,"(").concat(t.coords,")=").concat(t.mappedValue,"pt")}).join(", "))||"";return im(tz(),t.identifier,Array.isArray(t.value)?t.value.join(", "):t.value,t.cardinality,t.baseType,a||s||l)}))};return im(tF(),o(n,"Response Variables"),o(r,"Outcome Variables"))}}]);return e}(iD);sH.styles=rO(tH()),nJ([M({context:i5,subscribe:!0})],sH.prototype,"computedContext",2),sH=nJ([iz("test-print-item-variables")],sH);var sB=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._internals=t.attachInternals(),t._internals.ariaLabel="pagination";return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");this.myTemplate=sh(t)}},{key:"render",value:function t(){var t=this;if(!this.computedContext)return im(tB());var e=this.computedContext.testParts.flatMap(function(t){return t.sections});return im(tQ(),e.map(function(e){return t.myTemplate({item:e})}))}}]);return e}(iD);nJ([M({context:i5,subscribe:!0})],sB.prototype,"computedContext",2),sB=nJ([iz("test-section-buttons-stamp")],sB);var sQ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.sectionId=null;t.addEventListener("click",function(){return t._requestItem(t.sectionId)});return t}d(e,[{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"section",id:t}}))}},{key:"render",value:function t(){return im(tW())}}]);return e}(iD);sQ.styles=rO(tG(),oG,oX),nJ([n({type:String,attribute:"section-id"})],sQ.prototype,"sectionId",2),sQ=nJ([iz("test-section-link")],sQ);var sW=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tX(),JSON.stringify(this.computedContext,null,2))}}]);return e}(iD);nJ([r(),M({context:i5,subscribe:!0})],sW.prototype,"computedContext",2),sW=nJ([iz("test-print-context")],sW);var sG=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.debug=!1;t.stampContext={view:"candidate",activeItem:{},activeSection:{items:[]},activeTestpart:{items:[],sections:[]},test:{}};return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");if(!t){this.myTemplate=null;return}this.myTemplate=sh(t)}},{key:"willUpdate",value:function t(t){if(!this.computedContext)return;var e=this.computedContext.testParts.find(function(t){return t.active}),n=e===null||e===void 0?void 0:e.sections.find(function(t){return t.active}),r=n===null||n===void 0?void 0:n.items.find(function(t){return t.active}),o=r||{},a=o.variables,s=C(o,["variables"]);if(!e||!n||!r)return;var l=x(k({},e),{items:e.sections.flatMap(function(t){return t.items.map(function(t){var e=t.variables,n=C(t,["variables"]);return n})}),sections:e.sections.map(function(t){return x(k({},t),{items:t.items.map(function(t){var e=t.variables,n=C(t,["variables"]);return n})})})}),u=x(k({},n),{items:n.items.map(function(t){var e=t.variables,n=C(t,["variables"]);return n})}),c=this.computedContext,d=c.testParts,h=C(c,["testParts"]);this.stampContext={view:this.computedContext.view,activeItem:s,activeSection:u,activeTestpart:l,test:h},this.dispatchEvent(new CustomEvent("qti-stamp-context-updated",{detail:this.stampContext,bubbles:!0}))}},{key:"render",value:function t(){return im(tY(),this.debug?im(tJ(),JSON.stringify(this.stampContext,null,2)):i_,this.myTemplate?this.myTemplate(this.stampContext):i_)}}]);return e}(iD);nJ([n({type:Boolean,reflect:!0})],sG.prototype,"debug",2),nJ([r(),M({context:i5,subscribe:!0})],sG.prototype,"computedContext",2),nJ([r()],sG.prototype,"stampContext",2),sG=nJ([iz("test-stamp")],sG);var sX=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.view="";t.disabled=!1;t.myTemplate=null;t.addEventListener("click",function(e){var n=e.target,r=parseFloat(n.value);n.tagName==="INPUT"&&t._changeOutcomeScore(r)});return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");if(!t){this.myTemplate=null;return}this.myTemplate=sh(t)}},{key:"_changeOutcomeScore",value:function t(t){var e,n;var r=(e=((n=this.computedContext)===null||n===void 0?void 0:n.testParts.find(function(t){return t.active})).sections.flatMap(function(t){return t.items}).find(function(t){return t.active}))===null||e===void 0?void 0:e.identifier;this.dispatchEvent(new CustomEvent("test-update-outcome-variable",{detail:{assessmentItemRefId:r,outcomeVariableId:"SCORE",value:t},bubbles:!0}))}},{key:"render",value:function t(){var t,e;var n=(t=this.computedContext)===null||t===void 0?void 0:t.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(!n||!n.variables)return im(tK());var r=(e=n.variables.find(function(t){return t.identifier=="MAXSCORE"}))===null||e===void 0?void 0:e.value,o=n.variables.find(function(t){return t.identifier=="SCORE"}),a=o===null||o===void 0?void 0:o.value,s=(o===null||o===void 0?void 0:o.externalScored)!=="human";if(!r||!o)return i_;var l=L(Array(Number(r)+1).keys());return im(tZ(),this.myTemplate?this.myTemplate({scores:l,score:a,disabled:s}):i_)}}]);return e}(iD);nJ([n({type:String,attribute:"view"})],sX.prototype,"view",2),nJ([n({type:Boolean})],sX.prototype,"disabled",2),nJ([M({context:i5,subscribe:!0})],sX.prototype,"computedContext",2),sX=nJ([iz("test-scoring-buttons")],sX);var sJ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");if(!t){this.myTemplate=null;return}this.myTemplate=sh(t)}},{key:"_switchView",value:function t(t){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:t}))}},{key:"firstUpdated",value:function t(t){var e=this;this.addEventListener("click",function(){var t;((t=e.sessionContext)===null||t===void 0?void 0:t.view)==="scorer"?e._switchView("candidate"):e._switchView("scorer")})}},{key:"render",value:function t(){var t;return im(t0(),this.myTemplate?this.myTemplate({view:(t=this.sessionContext)===null||t===void 0?void 0:t.view}):i_)}}]);return e}(iD);nJ([M({context:ot,subscribe:!0})],sJ.prototype,"sessionContext",2),sJ=nJ([iz("test-view-toggle")],sJ);var sY=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.view=null;return t}d(e,[{key:"render",value:function t(){var t,e;var n=(t=this.computedContext)===null||t===void 0?void 0:t.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(!n||!n.variables)return im(t1());if(n.category==="dep-informational")return im(t2(),this.dataset.informational);var r=n===null||n===void 0?void 0:(e=n.variables.find(function(t){return t.identifier==="completionStatus"}))===null||e===void 0?void 0:e.value,o=n===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier=="SCORE"}),a=parseFloat(o===null||o===void 0?void 0:o.value),s=n.externalScored;return im(t3(),r!=="completed"?this.dataset.textNoResponse:!s&&a!==void 0&&!Number.isNaN(a)?a>0?this.dataset.textCorrect:this.dataset.textIncorrect:s==="externalMachine"?Number.isNaN(a)||a===void 0?this.dataset.scoreUnknown:"We hebben je antwoord ".concat(a===0?"geen punten":a==1?"\xe9\xe9n punt":"".concat(a," punten")," gegeven. Je kunt je score zelf aanpassen als je denkt dat dat niet klopt."):s==="human"?Number.isNaN(a)?"":"Deze score heb je zelf toegekend.":this.dataset.inProgress)}}]);return e}(iD);nJ([M({context:i5,subscribe:!0})],sY.prototype,"computedContext",2),nJ([n({type:String,attribute:"view"})],sY.prototype,"view",2),sY=nJ([iz("test-scoring-feedback")],sY);var sK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t.addEventListener("click",function(){t.dispatchEvent(new CustomEvent("test-end-attempt",{bubbles:!0})),t.dispatchEvent(new CustomEvent("test-show-correct-response",{detail:!0,bubbles:!0}));var e=t.closest("qti-test").querySelector("test-container");Array.from(e.shadowRoot.querySelectorAll("[view]")).forEach(function(t){t.classList.toggle("show",!0)})});return t}d(e,[{key:"render",value:function t(){return im(t5())}}]);return e}(iD);sK.styles=rO(t4(),oG,oX),sK=nJ([iz("test-check-item")],sK);var sZ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.itemURL=null;t.itemDoc=null;t.itemXML=null;t.templateContent=null;return t}d(e,[{key:"handleItemURLChange",value:function t(){return a(function(){var t,e;return $(this,function(n){switch(n.label){case 0:if(!this.itemURL)return[3,4];n.label=1;case 1:n.trys.push([1,3,,4]);return[4,iW().load(this.itemURL)];case 2:t=n.sent();this.itemDoc=t.htmlDoc();return[3,4];case 3:e=n.sent();console.error("Error loading or parsing XML:",e);return[3,4];case 4:return[2]}})}).call(this)}},{key:"handleItemXMLChange",value:function t(){if(this.itemXML)try{this.itemDoc=iW().parse(this.itemXML).htmlDoc()}catch(t){console.error("Error parsing XML:",t)}}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){r().call(n),this.initializeTemplateContent(),this.applyStyles(),this.itemURL&&this.handleItemURLChange(),this.itemXML&&this.handleItemXMLChange();return[2]})}).call(this)}},{key:"initializeTemplateContent",value:function t(){var t=this.querySelector("template");this.templateContent=t?t.content:im(t6())}},{key:"applyStyles",value:function t(){var t=new CSSStyleSheet;t.replaceSync(sj),this.shadowRoot.adoptedStyleSheets=[t]}},{key:"render",value:function t(){return im(t7(),this.templateContent,sz(this.itemDoc,im(t8())))}}]);return e}(iD);nJ([n({type:String,attribute:"item-url"})],sZ.prototype,"itemURL",2),nJ([r()],sZ.prototype,"itemDoc",2),nJ([r()],sZ.prototype,"itemXML",2),nJ([nO("itemURL",{waitUntilFirstUpdate:!0})],sZ.prototype,"handleItemURLChange",1),nJ([nO("itemXML",{waitUntilFirstUpdate:!0})],sZ.prototype,"handleItemXMLChange",1),sZ=nJ([iz("item-container")],sZ);var s0=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.label="Correct response mode";t._options={internal:"Internal",full:"Full (copy)"};return t}d(e,[{key:"_switchMode",value:function t(t){this.dispatchEvent(new CustomEvent("item-switch-correct-response-mode",{detail:t,bubbles:!0}))}},{key:"render",value:function t(){var t=this;return im(et(),this.label,function(e){var n=e.target;t._switchMode(n.value)},Object.keys(this._options).map(function(e){var n;return im(t9(),e,e===((n=t.itemContext)===null||n===void 0?void 0:n.correctResponseMode),t._options[e])}))}}]);return e}(iD);nJ([M({context:i4,subscribe:!0})],s0.prototype,"itemContext",2),nJ([n({type:String})],s0.prototype,"label",2),nJ([r()],s0.prototype,"_options",2),s0=nJ([iz("item-correct-response-mode")],s0);var s1=rO(ee()),s2=rO(en(),s1),s3=rO(er()),s5=rO(ei(),s1);var s4=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.shown=!1;t.disabled=!1;t.showCandidateCorrectionText="Show candidate correction";t.hideCandidateCorrectionText="Hide candidate correction";t.noCorrectResponseText="No correct response specified";t._hasCorrectResponse=!1;t._previousActiveItem="";return t}d(e,[{key:"updated",value:function t(){var t;if(!this._hasCorrectResponse||this._previousActiveItem!==((t=this.computedContext)===null||t===void 0?void 0:t.identifier)){var e,n,r;this._previousActiveItem=(e=this.computedContext)===null||e===void 0?void 0:e.identifier;var o=!!((n=this.computedContext)===null||n===void 0?void 0:n.variables.some(function(t){return t.correctResponse})),a=!!((r=this.computedContext)===null||r===void 0?void 0:r.variables.some(function(t){var e,n,r,o;return((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.length)>0||((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.length)>0}));this._hasCorrectResponse=o||a}this.disabled=!this._hasCorrectResponse}},{key:"_toggleState",value:function t(){this.disabled||this.dispatchEvent(new CustomEvent("item-show-candidate-correction",{detail:!this.shown,bubbles:!0}))}},{key:"_getDisplayedText",value:function t(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCandidateCorrectionText:this.showCandidateCorrectionText}},{key:"render",value:function t(){return im(eo(),this._toggleState,this._getDisplayedText())}}]);return e}(iD);s4.styles=rO(ea(),s2,s3),nJ([M({context:i3,subscribe:!0})],s4.prototype,"computedContext",2),nJ([n({type:Boolean,reflect:!0})],s4.prototype,"shown",2),nJ([n({type:Boolean,reflect:!0})],s4.prototype,"disabled",2),nJ([n({type:String})],s4.prototype,"showCandidateCorrectionText",2),nJ([n({type:String})],s4.prototype,"hideCandidateCorrectionText",2),nJ([n({type:String})],s4.prototype,"noCorrectResponseText",2),s4=nJ([iz("item-show-candidate-correction")],s4);var s6=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.shown=!1;t.disabled=!1;t.showCorrectText="Show correct response";t.hideCorrectText="Hide correct response";t.noCorrectResponseText="No correct response specified";t._hasCorrectResponse=!1;t._previousActiveItem="";return t}d(e,[{key:"updated",value:function t(){var t;if(!this._hasCorrectResponse||this._previousActiveItem!==((t=this.computedContext)===null||t===void 0?void 0:t.identifier)){var e,n,r;this._previousActiveItem=(e=this.computedContext)===null||e===void 0?void 0:e.identifier;var o=!!((n=this.computedContext)===null||n===void 0?void 0:n.variables.some(function(t){return t.correctResponse})),a=!!((r=this.computedContext)===null||r===void 0?void 0:r.variables.some(function(t){var e,n,r,o;return((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.length)>0||((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.length)>0}));this._hasCorrectResponse=o||a}this.disabled=!this._hasCorrectResponse}},{key:"_toggleState",value:function t(){this.disabled||this.dispatchEvent(new CustomEvent("item-show-correct-response",{detail:!this.shown,bubbles:!0}))}},{key:"_getDisplayedText",value:function t(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCorrectText:this.showCorrectText}},{key:"render",value:function t(){return im(es(),this._toggleState,this._getDisplayedText())}}]);return e}(iD);s6.styles=rO(el(),s2,s3),nJ([M({context:i3,subscribe:!0})],s6.prototype,"computedContext",2),nJ([n({type:Boolean,reflect:!0})],s6.prototype,"shown",2),nJ([n({type:Boolean,reflect:!0})],s6.prototype,"disabled",2),nJ([n({type:String})],s6.prototype,"showCorrectText",2),nJ([n({type:String})],s6.prototype,"hideCorrectText",2),nJ([n({type:String})],s6.prototype,"noCorrectResponseText",2),s6=nJ([iz("item-show-correct-response")],s6);var s8=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t=this.computedContext;if(!t||!t.variables)return im(eu());var e=t.variables.filter(function(t){return t.type==="response"}),n=t.variables.filter(function(t){return t.type==="outcome"}),r=function(t,e){return im(ed(),e,t.map(function(t){var e,n,r,o;var a=t.correctResponse?Array.isArray(t.correctResponse)?t.correctResponse.join(", "):t.correctResponse:"",s=((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.map(function(t){return"".concat(t.mapKey,"=").concat(t.mappedValue,"pt")}).join(", "))||"",l=((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.map(function(t){return"".concat(t.shape,"(").concat(t.coords,")=").concat(t.mappedValue,"pt")}).join(", "))||"";return im(ec(),t.identifier,Array.isArray(t.value)?t.value.join(", "):t.value,t.cardinality,t.baseType,a||s||l)}))};return im(eh(),r(e,"Response Variables"),r(n,"Outcome Variables"))}}]);return e}(iD);s8.styles=rO(ep()),nJ([M({context:i3,subscribe:!0})],s8.prototype,"computedContext",2),s8=nJ([iz("item-print-variables")],s8);var s7=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.configContext={};t._onItemContextChanged=t._handleItemContextChanged.bind(t);t._onAssessmentItemConnected=t._handleAssessmentItemConnected.bind(t);t._onHandleShowCorrectResponse=t._handleShowCorrectResponse.bind(t);t._onHandleShowCandidateCorrection=t._handleShowCandidateCorrection.bind(t);t._onHandleSwitchCorrectResponseMode=t._handleSwitchCorrectResponseMode.bind(t);t.addEventListener("qti-item-context-updated",t._onItemContextChanged),t.addEventListener("qti-assessment-item-connected",t._onAssessmentItemConnected),t.addEventListener("item-show-correct-response",t._onHandleShowCorrectResponse),t.addEventListener("item-show-candidate-correction",t._onHandleShowCandidateCorrection),t.addEventListener("item-switch-correct-response-mode",t._onHandleSwitchCorrectResponseMode);return t}d(e,[{key:"_handleItemContextChanged",value:function t(t){var e,n;this._updateItemVariablesInTestContext(t.detail.itemContext.identifier,((n=t.detail)===null||n===void 0?void 0:(e=n.itemContext)===null||e===void 0?void 0:e.variables)||[])}},{key:"_handleAssessmentItemConnected",value:function t(t){var e,n;var r=t.detail._context.variables;this._qtiAssessmentItem=t.detail,this.computedContext=((e=this.computedContext)===null||e===void 0?void 0:e.identifier)===this._qtiAssessmentItem.identifier?x(k({},this.computedContext),{title:this._qtiAssessmentItem.title}):{identifier:this._qtiAssessmentItem.identifier,title:this._qtiAssessmentItem.title,adaptive:((n=this._qtiAssessmentItem.getAttribute("adaptive"))===null||n===void 0?void 0:n.toLowerCase())==="true"||!1,variables:r,correctResponseMode:"internal"},this._updateItemVariablesInTestContext(this._qtiAssessmentItem.identifier,r||[])}},{key:"_handleShowCorrectResponse",value:function t(t){this._qtiAssessmentItem&&this._qtiAssessmentItem.showCorrectResponse(t.detail)}},{key:"_handleShowCandidateCorrection",value:function t(t){this._qtiAssessmentItem&&this._qtiAssessmentItem.showCandidateCorrection(t.detail)}},{key:"_handleSwitchCorrectResponseMode",value:function t(t){this._handleShowCorrectResponse(new CustomEvent("item-show-correct-response",{detail:!1,bubbles:!0})),this.configContext=x(k({},this.configContext),{correctResponseMode:t.detail})}},{key:"_updateItemVariablesInTestContext",value:function t(t,e){var n,r;var o=e===null||e===void 0?void 0:(n=e.find(function(t){return t.identifier=="SCORE"}))===null||n===void 0?void 0:n.value,a=parseFloat(o===null||o===void 0?void 0:o.toString()),s=e===null||e===void 0?void 0:(r=e.find(function(t){return t.identifier==="completionStatus"}))===null||r===void 0?void 0:r.value,l=a!==void 0&&!isNaN(a)&&a>0,u=a!==void 0&&!isNaN(a)&&a<=0,c=s==="completed";this.computedContext=x(k({},this.computedContext),{identifier:t,correct:l,incorrect:u,completed:c,variables:e})}},{key:"render",value:function t(){return im(ef())}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-item-context-changed",this._onItemContextChanged),this.removeEventListener("qti-assessment-item-connected",this._onAssessmentItemConnected)}}]);return e}(iD);nJ([r(),P({context:i3})],s7.prototype,"computedContext",2),nJ([r(),P({context:i4})],s7.prototype,"configContext",2),s7=nJ([iz("qti-item")],s7);var s9=function(t,e,n){var r=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(t);return r};var lt=function(t,e,r,o){var u=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){l(this,n);var t;t=s(this,n,arguments);t.observer=null;t.droppableObsever=null;t.resizeObserver=null;t.draggables=[];t.droppables=[];t.dragContainers=[];t.dragClone=null;t.dragSource=null;t.touchStartPoint=null;t.isDraggable=!1;t.cloneOffset={x:0,y:0};t.isDragging=!1;t.allDropzones=[];t.lastTarget=null;t.currentDropTarget=null;t.onMove=t.handleTouchMove.bind(t);t.onEnd=t.handleTouchEnd.bind(t);t.onCancel=t.handleTouchCancel.bind(t);t.MIN_DRAG_DISTANCE=5;t.DRAG_CLONE_OPACITY=1;t.MAX_DRAGGABLE_WIDTH=600;t.dataTransfer={data:{},setData:function t(t,e){this.data[t]=e},getData:function t(t){return this.data[t]},effectAllowed:"move"};t.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};t.minAssociations=1;t.maxAssociations=0;t.draggablesModified=function(e,n){if(t.isMatchTabular())return;var r=true,o=false,a=undefined;try{var s=function(){var e=u.value;t.draggables.includes(e)&&(t.draggables=t.draggables.filter(function(t){return t!==e}),e.removeAttribute("tabindex"),e.removeEventListener("touchstart",t.handleTouchStart.bind(t)),e.removeEventListener("mousedown",t.handleTouchStart.bind(t)))};for(var l=n[Symbol.iterator](),u;!(r=(u=l.next()).done);r=true)s()}catch(t){o=true;a=t}finally{try{if(!r&&l.return!=null){l.return()}}finally{if(o){throw a}}}var c=true,d=false,h=undefined;try{for(var p=e[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;t.draggables.includes(v)||(t.draggables.push(v),v.setAttribute("tabindex","0"),v.hasTouchStartListener||(v.addEventListener("touchstart",t.handleTouchStart.bind(t),{passive:!1}),v.addEventListener("mousedown",t.handleTouchStart.bind(t),{passive:!1}),v.hasTouchStartListener=!0))}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}var m=0;t.draggables.forEach(function(e){e.style.viewTransitionName="drag-".concat(m,"-").concat(t.getAttribute("identifier")||crypto.randomUUID()),e.setAttribute("qti-draggable","true"),m++})};t.droppablesModified=function(e,n){if(!t.isMatchTabular()){var r=true,o=false,a=undefined;try{var s=function(){var e=u.value;t.droppables.includes(e)&&(t.droppables=t.droppables.filter(function(t){return t!==e}),t.allDropzones=t.allDropzones.filter(function(t){return t!==e}))};for(var l=n[Symbol.iterator](),u;!(r=(u=l.next()).done);r=true)s()}catch(t){o=true;a=t}finally{try{if(!r&&l.return!=null){l.return()}}finally{if(o){throw a}}}var c=true,d=false,h=undefined;try{for(var p=e[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;t.droppables.includes(v)||(t.droppables.push(v),t.allDropzones.push(v))}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}var m=true,g=false,y=undefined;try{for(var b=t.droppables[Symbol.iterator](),_;!(m=(_=b.next()).done);m=true){var q=_.value;t.dataset.choicesContainerWidth&&(q.style.width="".concat(t.dataset.choicesContainerWidth,"px"),q.style.boxSizing="border-box")}}catch(t){g=true;y=t}finally{try{if(!m&&b.return!=null){b.return()}}finally{if(g){throw y}}}}};return t}d(n,[{key:"handleDraggableContainerChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.dragContainersModified(t||[],e||[])}},{key:"dragContainersModified",value:function t(t,e){var n=true,r=false,o=undefined;try{var a,s=function(){var t=u.value;a.dragContainers.includes(t)&&(a.dragContainers=a.dragContainers.filter(function(e){return e!==t}),a.allDropzones=a.allDropzones.filter(function(e){return e!==t}))};for(var l=e[Symbol.iterator](),u;!(n=(u=l.next()).done);n=true)a=this,s()}catch(t){r=true;o=t}finally{try{if(!n&&l.return!=null){l.return()}}finally{if(r){throw o}}}var c=true,d=false,h=undefined;try{for(var p=t[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;this.dragContainers.includes(v)||(this.dragContainers.push(v),this.allDropzones.push(v))}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}}},{key:"handleDraggablesChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.draggablesModified(t||[],e||[])}},{key:"handleDroppablesChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.droppablesModified(t||[],e||[])}},{key:"firstUpdated",value:function t(t){var a=this;var s,l,u;if(p(f(n.prototype),"firstUpdated",this).call(this,t),this.isMatchTabular())return;this.hasAttribute("disabled")||(document.addEventListener("mousemove",this.onMove,{passive:!1}),document.addEventListener("mouseup",this.onEnd,{passive:!1}),document.addEventListener("touchmove",this.onMove,{passive:!1}),document.addEventListener("touchend",this.onEnd,{passive:!1}),document.addEventListener("touchcancel",this.onCancel,{passive:!1}));var c=Array.from(this.querySelectorAll(e)||[]).concat(Array.from(((s=this.shadowRoot)===null||s===void 0?void 0:s.querySelectorAll(e))||[])),d=Array.from(this.querySelectorAll(r)||[]).concat(Array.from(((l=this.shadowRoot)===null||l===void 0?void 0:l.querySelectorAll(r))||[])),h=Array.from(this.querySelectorAll(o)||[]).concat(Array.from(((u=this.shadowRoot)===null||u===void 0?void 0:u.querySelectorAll(o))||[]));this.dragContainersModified(h,[]),this.droppablesModified(d,[]),this.draggablesModified(c,[]),this.updateMinDimensionsForDropZones(),this.observer=new MutationObserver(function(){return a.updateMinDimensionsForDropZones()}),this.observer.observe(this,{childList:!0,subtree:!0}),this.resizeObserver=new ResizeObserver(function(){return a.updateMinDimensionsForDropZones()}),this.querySelectorAll("qti-gap-text").forEach(function(t){var e;return(e=a.resizeObserver)===null||e===void 0?void 0:e.observe(t)})}},{key:"moveDraggableToDroppable",value:function t(t,e){return a(function(){var n;return $(this,function(r){n=this;if(this.isMatchTabular())return[2];(function(){t.style.transform="translate(0, 0)",e.tagName==="SLOT"?t.setAttribute("slot",e.getAttribute("name")):e.appendChild(t),n.checkAllMaxAssociations(),n.saveResponse()})();return[2]})}).call(this)}},{key:"activateDroppable",value:function t(t){this.dragContainers.includes(t)?(this._internals.states.add("--dragzone-active"),t.setAttribute("active","")):(this._internals.states.delete("--dragzone-active"),t.setAttribute("active",""))}},{key:"deactivateDroppable",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;e&&this._internals.states.add("--dragzone-active"),t.removeAttribute("active")}},{key:"connectedCallback",value:function t(){p(f(n.prototype),"connectedCallback",this).call(this)}},{key:"isMatchTabular",value:function t(){return this.classList.contains("qti-match-tabular")}},{key:"updateMinDimensionsForDropZones",value:function t(){return a(function(){var t,n,a,s,l,u,c,d,h,p,f,v,m,g,y,b,_,q,k,w,x,C,E,S,A,R,I;return $(this,function(T){switch(T.label){case 0:return[4,this.updateComplete];case 1:if(T.sent(),this.isMatchTabular())return[2];a=this.querySelectorAll(e),s=this.querySelector(o)||((t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(o)),l=this.querySelectorAll(r),u=(n=l[0])===null||n===void 0?void 0:n.parentElement,c=this.determineMaxWidth(s,u),d=0,h=0;p=true,f=false,v=undefined;T.label=2;case 2:T.trys.push([2,7,8,9]);m=a[Symbol.iterator]();T.label=3;case 3:if(!!(p=(g=m.next()).done))return[3,6];y=g.value;y.style.maxWidth=c+"px";return[4,this.measureIntrinsicSize(y)];case 4:b=T.sent(),_=b.width,q=b.height;d=Math.max(d,q),h=Math.max(h,_);T.label=5;case 5:p=true;return[3,3];case 6:return[3,9];case 7:k=T.sent();f=true;v=k;return[3,9];case 8:try{if(!p&&m.return!=null){m.return()}}finally{if(f){throw v}}return[7];case 9:u&&(u.style.gridTemplateColumns="repeat(auto-fit, minmax(calc(min(".concat(c,"px,").concat(h,"px + 2 * var(--qti-dropzone-padding))), 1fr))")),s&&(s.style.minHeight="".concat(d,"px"));w=true,x=false,C=undefined;try{for(E=l[Symbol.iterator]();!(w=(S=E.next()).done);w=true){A=S.value;A.style.minHeight="".concat(d,"px"),A.style.minWidth="".concat(h,"px");I=(R=A.shadowRoot)===null||R===void 0?void 0:R.querySelector('slot[part="dropslot"]');I&&(I.style.minHeight="".concat(d,"px"))}}catch(t){x=true;C=t}finally{try{if(!w&&E.return!=null){E.return()}}finally{if(x){throw C}}}return[2]}})}).call(this)}},{key:"determineMaxWidth",value:function t(t,e){var n=e!==null&&e!==void 0?e:t;if(!n||n.clientWidth==0)return this.MAX_DRAGGABLE_WIDTH;var r=window.getComputedStyle(n),o=parseFloat(r.paddingLeft),a=parseFloat(r.paddingRight);return Math.min(this.MAX_DRAGGABLE_WIDTH,n.clientWidth-o-a)}},{key:"measureIntrinsicSize",value:function t(t){return a(function(){var e,n;return $(this,function(r){e=t.style.position;t.style.position="fixed";n=t.getBoundingClientRect();return[2,(t.style.position=e,{width:n.width,height:n.height})]})})()}},{key:"activateDroppables",value:function t(t){if(this.isMatchTabular())return;this.dragContainers.forEach(function(e){e.setAttribute("enabled",""),e.hasAttribute("disabled")&&(e.contains(t)||e.shadowRoot&&e.shadowRoot.contains(t))&&e.removeAttribute("disabled")}),this.droppables.forEach(function(e){e.setAttribute("enabled",""),e.hasAttribute("disabled")&&(e.contains(t)||e.shadowRoot&&e.shadowRoot.contains(t))&&e.removeAttribute("disabled")})}},{key:"activateDragLocation",value:function t(){this._internals.states.add("--dragzone-enabled")}},{key:"deactivateDragLocation",value:function t(){this._internals.states.delete("--dragzone-enabled")}},{key:"deactivateDroppables",value:function t(){this.dragContainers.forEach(function(t){t.removeAttribute("enabled"),t.removeAttribute("active")}),this.droppables.forEach(function(t){t.removeAttribute("enabled"),t.removeAttribute("active")})}},{key:"disconnectedCallback",value:function t(){p(f(n.prototype),"disconnectedCallback",this).call(this),this.observer&&(this.observer.disconnect(),this.observer=null),this.droppableObsever&&(this.droppableObsever.disconnect(),this.droppableObsever=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),document.removeEventListener("mousemove",this.onMove),document.removeEventListener("mouseup",this.onEnd),document.removeEventListener("touchmove",this.onMove),document.removeEventListener("touchend",this.onEnd),document.removeEventListener("touchcancel",this.onCancel)}},{key:"handleTouchMove",value:function t(t){if(!this.isMatchTabular()&&this.isDraggable&&this.dragClone){var e=this.getEventCoordinates(t),n=e.x,r=e.y,o={clientX:n,clientY:r};this.calculateDragDistance(o)>=this.MIN_DRAG_DISTANCE&&(this.isDragging=!0,this.updateDragClonePosition(o));var a=this.findClosestDropzone();this.currentDropTarget=a,a!==this.lastTarget&&(this.lastTarget&&(this.deactivateDroppable(this.lastTarget),this.dispatchCustomEvent(this.lastTarget,"dragleave")),a&&(this.activateDroppable(a),this.dispatchCustomEvent(a,"dragenter")),this.lastTarget=a),this.currentDropTarget&&this.dispatchCustomEvent(this.currentDropTarget,"dragover"),t.preventDefault()}}},{key:"handleTouchEnd",value:function t(t){this.isMatchTabular()||((this.isDragging||this.isDraggable||this.dragClone)&&this.resetDragState(),this._internals.states.delete("--dragzone-active"),this.checkAllMaxAssociations(),this._internals.states.delete("--dragzone-enabled"),this._internals.states.delete("--dragzone-active"),this.deactivateDragLocation(),this.deactivateDroppables(),this.draggables.forEach(function(t){t.removeAttribute("dragging")}),t.preventDefault())}},{key:"handleTouchCancel",value:function t(t){this.resetDragState()}},{key:"validate",value:function t(){if(this.isMatchTabular())return null;if(!this.shadowRoot)return!1;var t=this.getValidAssociations(),e=!0,n="";this.maxAssociations>0&&t>this.maxAssociations?(e=!1,n=this.dataset.maxSelectionsMessage||"You've selected too many associations. Maximum allowed is ".concat(this.maxAssociations,".")):this.minAssociations>0&&t<this.minAssociations&&(e=!1,n=this.dataset.minSelectionsMessage||"You haven't selected enough associations. Minimum required is ".concat(this.minAssociations,"."));var r=this.lastElementChild;return this._internals.setValidity(e?{}:{customError:!0},n,r),e}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("#validation-message");return t&&(this._internals.validity.valid?(t.textContent="",t.style.display="none"):(t.textContent=this._internals.validationMessage,t.style.setProperty("display","block","important"))),this._internals.validity.valid}},{key:"checkMaxAssociations",value:function t(t){var e=this.getMatchMaxValue(t),n=t.querySelectorAll('[qti-draggable="true"]').length;return!(e===0)&&n>=e}},{key:"dropDraggableInDroppable",value:function t(t,e){var n=t.cloneNode(!0);n.removeAttribute("style"),this.moveDraggableToDroppable(n,e),this.draggablesModified([n],[]);var r=this.getMatchMaxValue(t),o=this.draggables.filter(function(e){return e.getAttribute("identifier")===t.getAttribute("identifier")});r!==0&&o.length>=r?(t.style.opacity="0.0",t.style.pointerEvents="none"):t.style.opacity="1.0"}},{key:"resetDragState",value:function t(){if(this.dragClone){var t=this.currentDropTarget!==null,e=!t||this.dragContainers.includes(this.currentDropTarget);t&&this.currentDropTarget&&!e&&this.dropDraggableInDroppable(this.dragSource,this.currentDropTarget),e&&(this.dragSource.style.opacity="1.0",this.dragSource.style.display="block",this.dragSource.style.position="static",this.dragSource.style.pointerEvents="auto",this.saveResponse()),this.dragClone.remove(),this.draggablesModified([],[this.dragClone])}this.isDragging=!1,this.isDraggable=!1,this.dragSource=null,this.dragClone=null,this.touchStartPoint=null,this.currentDropTarget=null,this.lastTarget=null,this.deactivateDroppables()}},{key:"checkAllMaxAssociations",value:function t(){var t=this;var e=this.getValidAssociations(),n=this.maxAssociations!==0&&e>=this.maxAssociations;this.droppables.forEach(function(e){n?t.disableDroppable(e):t.checkMaxAssociations(e)?t.disableDroppable(e):t.enableDroppable(e)})}},{key:"getMatchMaxValue",value:function t(t){var e=t.getAttribute("match-max");return e?parseInt(e,10):1}},{key:"disableDroppable",value:function t(t){t.setAttribute("disabled","")}},{key:"enableDroppable",value:function t(t){t.removeAttribute("disabled")}},{key:"response",get:function t(){var t;return typeof this.getResponse=="function"?t=this.getResponse():t=this.collectResponseData(),t.join(",")},set:function t(t){var e=this;if(!this.isMatchTabular())if(typeof this.getValue=="function"&&(t=this.getValue(t)),Array.isArray(t)){this.reset(!1),t===null||t===void 0?void 0:t.forEach(function(t){return e.placeResponse(t)});var n=new FormData;t.forEach(function(t){n.append(e.responseIdentifier,t)}),this._internals.setFormValue(n)}else this._internals.setFormValue(t||"")}},{key:"placeResponse",value:function t(t){var e=this;var n=O(t.split(" ").reverse()),r=n[0],o=n.slice(1),a=Array.from(this.draggables),s=Array.from(this.droppables);o.forEach(function(t){if(t==="")return;var n=a.find(function(e){return e.getAttribute("identifier")===t}),o=s.find(function(t){return t.getAttribute("identifier")===r});e.dropDraggableInDroppable(n,o)})}},{key:"getValidAssociations",value:function t(){var t=0;var e=true,n=false,r=undefined;try{for(var o=this.droppables[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;t=t+this.getDraggablesFromDroppable(s).length}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}return t}},{key:"saveResponse",value:function t(){var t;typeof this.getResponse=="function"?t=this.getResponse():t=this.collectResponseData(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:t}}))}},{key:"collectResponseData",value:function t(){var t=this;return this.droppables.map(function(e){var n=t.getDraggablesFromDroppable(e).map(function(t){return t.getAttribute("identifier")}),r=e.getAttribute("identifier");return n.map(function(t){return"".concat(t," ").concat(r)})}).flat()}},{key:"getDraggablesFromDroppable",value:function t(t){return this.draggables.map(function(t){return t.getAttribute("identifier")}).filter(function(t,e,n){return n.indexOf(t)===e}).flatMap(function(e){return Array.from(t.querySelectorAll("[identifier='".concat(e,"']")))}).filter(function(t){return!!t}).map(function(t){return t})}},{key:"reset",value:function t(){var t=this;var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.droppables.forEach(function(e){t.getDraggablesFromDroppable(e).forEach(function(e){e.remove(),t.draggablesModified([],[e])})}),this.dragContainers.forEach(function(t){Array.from(t.querySelectorAll('[qti-draggable="true"]')).forEach(function(t){t.style.opacity="1.0"})}),this.dragClone=null,this.dragSource=null,this.isDragging=!1,this.isDraggable=!1,this.currentDropTarget=null,this.lastTarget=null,e&&this.saveResponse()}},{key:"updateDragClonePosition",value:function t(t){if(!this.isDragging||!this.dragClone)return;var e=t.clientX-this.cloneOffset.x,n=t.clientY-this.cloneOffset.y,r=this.applyInteractionBoundaries(e,n,this.dragClone),o=r.newLeft,a=r.newTop;this.dragClone.style.left="".concat(o,"px"),this.dragClone.style.top="".concat(a,"px")}},{key:"applyInteractionBoundaries",value:function t(t,e,n){var r=this.getBoundingClientRect(),o=n.getBoundingClientRect(),a=o.width,s=o.height,l=Math.max(r.left,Math.min(t,r.right-a)),u=Math.max(r.top,Math.min(e,r.bottom-s));return{newLeft:l,newTop:u}}},{key:"getEventCoordinates",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=t.touches?t.touches[0]:t;return{x:e?n.pageX:n.clientX,y:e?n.pageY:n.clientY}}},{key:"calculateDragDistance",value:function t(t){var e=Math.abs(t.clientX-this.touchStartPoint.x),n=Math.abs(t.clientY-this.touchStartPoint.y);return e+n}},{key:"getDropzoneRect",value:function t(t){var e;var n;return((n=(e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector('slot[part="dropslot"]'))!==null&&n!==void 0?n:t).getBoundingClientRect()}},{key:"findClosestDropzone",value:function t(){var t=this;var e=this.allDropzones.filter(function(t){return!t.hasAttribute("disabled")});if(!this.dragClone||e.length===0)return null;var n=this.dragClone.getBoundingClientRect(),r=null,o=0,a=function(e){var a=true,s=false,l=undefined;try{for(var u=e[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=t.getDropzoneRect(d),p=t.calculateOverlapArea(n,h);p>o&&(o=p,r=d)}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}};if(a(this.droppables.filter(function(t){return!t.hasAttribute("disabled")})),r||a(this.dragContainers.filter(function(t){return!t.hasAttribute("disabled")})),!r){var s=Number.POSITIVE_INFINITY;var l=true,u=false,c=undefined;try{for(var d=e[Symbol.iterator](),h;!(l=(h=d.next()).done);l=true){var p=h.value;var f=this.getDropzoneRect(p),v=Math.hypot(n.left-f.left,n.top-f.top);v<s&&(s=v,r=p)}}catch(t){u=true;c=t}finally{try{if(!l&&d.return!=null){d.return()}}finally{if(u){throw c}}}}return r}},{key:"calculateOverlapArea",value:function t(t,e){var n=Math.max(0,Math.min(t.right,e.right)-Math.max(t.left,e.left)),r=Math.max(0,Math.min(t.bottom,e.bottom)-Math.max(t.top,e.top));return n*r}},{key:"dispatchCustomEvent",value:function t(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t)return;var r=new CustomEvent(e,{bubbles:n,cancelable:!0});r.dataTransfer=this.dataTransfer,t.dispatchEvent(r)}},{key:"appendClone",value:function t(){document.body.appendChild(this.dragClone)}},{key:"handleTouchStart",value:function t(t){var e=this;if(this.isMatchTabular()||m(t,MouseEvent)&&t.button!==0||this.isDragging)return;var n=this.getEventCoordinates(t),r=n.x,o=n.y;this.touchStartPoint={x:r,y:o},this.dragSource=t.currentTarget,this.isDraggable=!0,this._internals.states.add("--dragzone-enabled"),this._internals.states.add("--dragzone-active"),this.activateDragLocation(),this.activateDroppables(this.dragSource);var a=this.findDraggableInDraggableContainer(this.dragSource.getAttribute("identifier")),s=this.droppables.some(function(t){return Array.from(t.children).some(function(t){return t===e.dragSource})}),l=this.dragSource.getBoundingClientRect();s&&(this.dragSource.remove(),this.draggablesModified([],[this.dragSource]),this.dragSource=a),this.cloneOffset.x=r-l.left,this.cloneOffset.y=o-l.top,this.dragClone=a.cloneNode(!0);var u=window.getComputedStyle(a);for(var c=0;c<u.length;c++){var d=u[c];this.dragClone.style.setProperty(d,u.getPropertyValue(d))}var h=a.getBoundingClientRect();this.dragClone.style.width="".concat(h.width,"px"),this.dragClone.style.height="".concat(h.height,"px"),l&&this.setDragCloneStyles(l),this.dragClone.style.display="block",this.dragClone.style.opacity="1",this.appendClone();var p=this.getMatchMaxValue(this.dragSource),f=this.draggables.filter(function(t){return t.getAttribute("identifier")===e.dragSource.getAttribute("identifier")});p!==0&&f.length>=p?(a.style.opacity="0.0",a.style.pointerEvents="none"):a.style.opacity="1.0",t.preventDefault(),this.dragClone.setAttribute("dragging","")}},{key:"findDraggableInDraggableContainer",value:function t(t){var n=this.dragContainers.flat();var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;if(u.getAttribute("identifier")===t)return u;var c=void 0;m(u,HTMLSlotElement)?c=Array.from((u===null||u===void 0?void 0:u.assignedElements())||[]):c=Array.from(u.querySelectorAll(e));var d=c.find(function(e){return e.getAttribute("identifier")===t});if(d)return d}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}},{key:"setDragCloneStyles",value:function t(t){this.dragClone.style.position="fixed",this.dragClone.style.top="".concat(t.top,"px"),this.dragClone.style.left="".concat(t.left,"px"),this.dragClone.style.setProperty("box-sizing","border-box","important"),this.dragClone.style.zIndex="9999",this.dragClone.style.pointerEvents="none",this.dragClone.style.opacity=this.DRAG_CLONE_OPACITY.toString(),this.dragClone.style.display="block"}}]);return n}(s9(t,r,e));return nJ([n({attribute:!1,type:Object})],u.prototype,"configuration",2),nJ([n({type:Number,reflect:!0,attribute:"min-associations"})],u.prototype,"minAssociations",2),nJ([n({type:Number,reflect:!0,attribute:"max-associations"})],u.prototype,"maxAssociations",2),nJ([nM(o)],u.prototype,"handleDraggableContainerChange",1),nJ([nM(e)],u.prototype,"handleDraggablesChange",1),nJ([nM(r)],u.prototype,"handleDroppablesChange",1),u};var le=rO(ev());var ln=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._childrenMap=[];t._registerChoiceHandler=t._registerChoice.bind(t),t.addEventListener("register-qti-simple-associable-choice",t._registerChoiceHandler);return t}d(e,[{key:"_registerChoice",value:function t(t){var e=t.target;this._childrenMap.push(e)}},{key:"render",value:function t(){return im(eg(),this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map(function(t,e){return im(em(),e,e,e,e)}))}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-qti-simple-associable-choice",this._registerChoiceHandler)}}]);return e}(lt(oi,"qti-simple-associable-choice",".dl","slot[name='qti-simple-associable-choice']"));ln.styles=le,nJ([r()],ln.prototype,"_childrenMap",2),ln=nJ([iz("qti-associate-interaction")],ln);var lr=function(t,e){var a=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){l(this,n);var t;t=s(this,n,arguments);t._choiceElements=[];t.minChoices=0;t.maxChoices=1;t._handleDisabledChange=function(e,n){t._choiceElements.forEach(function(t){return t.disabled=n})};t._handleReadonlyChange=function(e,n){t._choiceElements.forEach(function(t){return t.readonly=n})};t.response="";t._handleValueChange=function(){t._internals.setFormValue(t.value),t._updateChoiceSelection()};return t}d(n,[{key:"_handleMaxChoicesChange",value:function t(t,e){this._determineInputType()}},{key:"value",get:function t(){return Array.isArray(this.response)&&this.response.length===0||this.response===""?null:Array.isArray(this.response)?this.response.join(","):this.response},set:function t(t){this.maxChoices>1&&(typeof t=="string"||t===null)?this.response=t?t.toString().split(","):[]:this.response=t||""}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;if(e===null||e===void 0?void 0:e.correctResponse){var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];this._choiceElements.forEach(function(e){e.internals.states.delete("correct-response"),e.internals.states.delete("incorrect-response"),t&&n.length>0&&(n.includes(e.identifier)?e.internals.states.add("correct-response"):e.internals.states.add("incorrect-response"))})}}},{key:"toggleCandidateCorrection",value:function t(t){var e=this.responseVariable;if(!(e===null||e===void 0?void 0:e.correctResponse))return;var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse],r=Array.isArray(e.value)?e.value:[e.value];this._choiceElements.forEach(function(e){e.internals.states.delete("candidate-correct"),e.internals.states.delete("candidate-incorrect"),t&&r.includes(e.identifier)&&(n.includes(e.identifier)?e.internals.states.add("candidate-correct"):e.internals.states.add("candidate-incorrect"))})}},{key:"connectedCallback",value:function t(){p(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("register-".concat(e),this._registerChoiceElement),this.addEventListener("unregister-".concat(e),this._unregisterChoiceElement),this.addEventListener("activate-".concat(e),this._choiceElementSelectedHandler)}},{key:"disconnectedCallback",value:function t(){p(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-".concat(e),this._registerChoiceElement),this.removeEventListener("unregister-".concat(e),this._unregisterChoiceElement),this.removeEventListener("activate-".concat(e),this._choiceElementSelectedHandler)}},{key:"validate",value:function t(){var t=this;var e=this._choiceElements.filter(function(e){return t._getChoiceChecked(e)}),n=e.length,r=!0,o="";return this.maxChoices!==0&&n>this.maxChoices?(r=!1,o=this.dataset.maxSelectionsMessage||"Please select no more than ".concat(this.maxChoices," ").concat(this.maxChoices===1?"option":"options",".")):n<this.minChoices&&(r=!1,o=this.dataset.minSelectionsMessage||"Please select at least ".concat(this.minChoices," ").concat(this.minChoices===1?"option":"options",".")),e.length>0&&this._internals.setValidity(r?{}:{customError:!0},o,e[n-1]||this._choiceElements[0]||this),r}},{key:"reportValidity",value:function t(){return this._validationMessageElement&&(this._internals.validity.valid?(this._validationMessageElement.textContent="",this._validationMessageElement.style.display="none"):(this._validationMessageElement.textContent=this._internals.validationMessage,this._validationMessageElement.style.setProperty("display","block","important"))),this._internals.validity.valid}},{key:"_registerChoiceElement",value:function t(t){t.stopPropagation();var e=t.target;e.disabled=this.disabled,this._choiceElements.push(e),this._setInputType(e)}},{key:"_unregisterChoiceElement",value:function t(t){t.stopPropagation();var e=t.target;this._choiceElements=this._choiceElements.filter(function(t){return t!==e})}},{key:"_determineInputType",value:function t(){var t=this;this._choiceElements.forEach(function(e){t._setInputType(e)})}},{key:"_setInputType",value:function t(t){this._internals.role=this.maxChoices===1?"radiogroup":null;var e=this.maxChoices===1?"radio":"checkbox";t.internals.role=e,t.internals.states.delete(e==="radio"?"checkbox":"radio"),t.internals.states.add(e)}},{key:"_choiceElementSelectedHandler",value:function t(t){var e=this;var n;this._toggleChoiceChecked(t.target),this.maxChoices===1?this._choiceElements.forEach(function(n){n.identifier!==t.detail.identifier&&e._setChoiceChecked(n,!1)}):this.maxChoices!==0&&((n=this._configContext)===null||n===void 0?void 0:n.disableAfterIfMaxChoicesReached)&&(this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}).length>=this.maxChoices?this._choiceElements.forEach(function(t){e._getChoiceChecked(t)||(t.disabled=!0)}):this._choiceElements.forEach(function(t){return t.disabled=!1})),this._handleChoiceSelection()}},{key:"_setChoiceChecked",value:function t(t,e){var n;((n=t.internals)===null||n===void 0?void 0:n.states)&&(e?(t.internals.states.add("--checked"),t.internals.ariaChecked="true"):(t.internals.states.delete("--checked"),t.internals.ariaChecked="false"))}},{key:"_getChoiceChecked",value:function t(t){return t.internals.states.has("--checked")}},{key:"_toggleChoiceChecked",value:function t(t){var e=this._getChoiceChecked(t);this._setChoiceChecked(t,!e)}},{key:"_handleChoiceSelection",value:function t(){var t=this;var e=this._choiceElements.filter(function(e){return t._getChoiceChecked(e)}).map(function(t){return t.identifier});this.response=this.maxChoices===1?e[0]||"":e,this.validate(),this.saveResponse(this.response)}},{key:"_updateChoiceSelection",value:function t(){var t=this;var e=Array.isArray(this.response)?this.response:[this.response];this._choiceElements.forEach(function(n){var r=e.includes(n.identifier);t._setChoiceChecked(n,r)})}}]);return n}(t);return nJ([o("#validation-message")],a.prototype,"_validationMessageElement",2),nJ([n({type:Number,attribute:"min-choices"})],a.prototype,"minChoices",2),nJ([n({type:Number,attribute:"max-choices"})],a.prototype,"maxChoices",2),nJ([nO("maxChoices",{waitUntilFirstUpdate:!0})],a.prototype,"_handleMaxChoicesChange",1),nJ([nO("disabled",{waitUntilFirstUpdate:!0})],a.prototype,"_handleDisabledChange",2),nJ([nO("readonly",{waitUntilFirstUpdate:!0})],a.prototype,"_handleReadonlyChange",2),nJ([r()],a.prototype,"response",2),nJ([nO("response",{waitUntilFirstUpdate:!0})],a.prototype,"_handleValueChange",2),nJ([r(),M({context:i4,subscribe:!0})],a.prototype,"_configContext",2),a};var li=function(t,e){var r=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._classes=[];t._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];t._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"];return t}d(e,[{key:"class",get:function t(){var t;return((t=this._classes)===null||t===void 0?void 0:t.join(" "))||""},set:function t(t){t&&(this._classes=t.split(" "),this._addLabels())}},{key:"updated",value:function t(t){p(f(e.prototype),"updated",this).call(this,t),this._addLabels()}},{key:"_addLabels",value:function t(){var t=this;var e=this._classes.some(function(e){return t._allLabels.includes(e)||t._allLabelSuffixes.includes(e)}),n=function(t){return!isNaN(+t)};if(e){var r=Array.from(this.querySelectorAll("qti-simple-choice")).map(function(t){return t}).map(function(t,e){return{el:t,order:n(t.style.order)?+t.style.order:e+1}}).sort(function(t,e){return t.order-e.order}).map(function(t){return t.el});for(var o=0;o<r.length;o++)r[o].marker=this._getLabel(o+1)}}},{key:"_getLabel",value:function t(t){var e=this;var n=this._classes.filter(function(t){return e._allLabels.includes(t)}).pop(),r=this._classes.filter(function(t){return e._allLabelSuffixes.includes(t)}).pop();!n&&r&&(n="qti-labels-upper-alpha");var o="";switch(n){case"qti-labels-decimal":o="".concat(t);break;case"qti-labels-lower-alpha":o="".concat(String.fromCharCode(97+t-1));break;case"qti-labels-upper-alpha":o="".concat(String.fromCharCode(65+t-1));break}return r==="qti-labels-suffix-period"?o+=".":r==="qti-labels-suffix-parenthesis"&&(o+=")"),o}}]);return e}(t);return nJ([n({type:String,reflect:!0})],r.prototype,"class",1),r};var lo=rO(ey());var la=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.orientation="vertical";return t}d(e,[{key:"_handleSlotChange",value:function t(){var t=this.querySelectorAll("qti-simple-choice");this.style.setProperty("--item-count",t.length.toString())}},{key:"render",value:function t(){return im(eb(),this._handleSlotChange)}}]);return e}(li(lr(oi,"qti-simple-choice"),"qti-simple-choice"));la.styles=lo,nJ([n({type:String})],la.prototype,"orientation",2),la=nJ([iz("qti-choice-interaction")],la);var ls=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.rawResponse="";t._errorMessage=null;t.handlePostMessage=t.handlePostMessage.bind(t);return t}d(e,[{key:"connectedCallback",value:function t(){var t=this;p(f(e.prototype),"connectedCallback",this).call(this);var n=this.data.startsWith("http")||this.data.startsWith("blob")?this.data:V(this.baseItemUrl+"/"+this.data);fetch(n).then(function(t){return t.json()}).then(function(e){t.manifest=e,t.setupCES()}).catch(function(e){t._errorMessage=e})}},{key:"setupCES",value:function t(){var t=this.shadowRoot.querySelector("#pciContainer").contentDocument;if(!this.manifest.script||this.manifest.script.length===0){this._errorMessage="No script found in manifest";return}if(!this.manifest.style||this.manifest.style.length===0){this._errorMessage="No style found in manifest";return}var e=this.manifest.style[0],n=e.startsWith("http")||e.startsWith("blob")?e:V("".concat(this.baseRefUrl,"/").concat(e)),r=this.manifest.script[0],o=r.startsWith("http")||r.startsWith("blob")?r:V("".concat(this.baseRefUrl,"/").concat(r));window.addEventListener("message",this.handlePostMessage),t.open(),t.write("\n <html>\n <head>\n <link href='".concat(n,"' rel=\"stylesheet\" />\n <script src='").concat(o,"'><\/script>\n </head>\n <body></body>\n </html>\n ")),t.close()}},{key:"getIFrames",value:function t(){var t=this.shadowRoot.querySelectorAll("iframe"),e=this.querySelectorAll("iframe"),n=L(t).concat(L(e));var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;var c=u.src;if(new URL(c,window.location.href).origin===window.location.origin)try{var d=u.contentDocument||u.contentWindow.document;d&&this.getInnerIFrames(d,n)}catch(t){console.error("Error accessing nested iframe:",t)}}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}return n.forEach(function(t,e){n.indexOf(t)!==e&&n.splice(e,1)}),n}},{key:"getInnerIFrames",value:function t(t){var e=this;var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.querySelectorAll("iframe").forEach(function(t){n.push(t);var r=t.src;if(new URL(r,window.location.href).origin===window.location.origin)try{var o=t.contentDocument||t.contentWindow.document;e.getInnerIFrames(o,n)}catch(t){console.error("Error accessing nested iframe:",t)}else console.warn("Skipped cross-origin iframe:",r)}),n}},{key:"postToWindowAndIframes",value:function t(t,e){window.postMessage({type:t,data:e},"*");var n=this.getIFrames();var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;u.contentWindow&&u.contentWindow.postMessage({type:t,data:e},"*")}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}},{key:"handlePostMessage",value:function t(t){var e=this;var n=t.data,r=n.type,o=n.data;switch(r){case"setResponse":(o===null||!(Array.isArray(o)&&o.length===1&&o[0]===""))&&(this.rawResponse=o,this.saveResponse(o));break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{var a=this.manifest.media.map(function(t){return t.startsWith("http")||t.startsWith("blob")?t:V(e.baseRefUrl+"/"+t)});this.postToWindowAndIframes("mediaData",a);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}},{key:"validate",value:function t(){if(!this.rawResponse)return!1;if(Array.isArray(this.rawResponse)){if(this.rawResponse.length===0)return!1;var t=true,e=false,n=undefined;try{for(var r=this.rawResponse[Symbol.iterator](),o;!(t=(o=r.next()).done);t=true){var a=o.value;if(a!==""&&a!==null)return!0}}catch(t){e=true;n=t}finally{try{if(!t&&r.return!=null){r.return()}}finally{if(e){throw n}}}}return!0}},{key:"response",get:function t(){return this.rawResponse||null},set:function t(t){if(typeof t=="string")this.rawResponse=t,this.saveResponse(t);else if(Array.isArray(t))this.rawResponse=t;else if(t)throw new Error("Value must be a string or an array of strings")}},{key:"disconnectedCallback",value:function t(){window.removeEventListener("message",this.handlePostMessage),p(f(e.prototype),"disconnectedCallback",this).call(this)}},{key:"render",value:function t(){return im(eq(),this.getAttribute("width"),this.getAttribute("height"),this._errorMessage&&im(e_(),this._errorMessage))}}]);return e}(oi);nJ([n({type:String,attribute:"data"})],ls.prototype,"data",2),nJ([n({type:String,attribute:"data-base-item"})],ls.prototype,"baseItemUrl",2),nJ([n({type:String,attribute:"data-base-ref"})],ls.prototype,"baseRefUrl",2),nJ([n({type:String,attribute:"id"})],ls.prototype,"id",2),nJ([r()],ls.prototype,"_errorMessage",2),ls=nJ([iz("qti-custom-interaction")],ls);var ll=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.disabled=!1;t.countAttempt=null;t.title="end attempt";return t}d(e,[{key:"render",value:function t(){return im(ek(),this.disabled,this.endAttempt,this.title)}},{key:"endAttempt",value:function t(t){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}}]);return e}(iD);nJ([n({type:String,attribute:"response-identifier"})],ll.prototype,"responseIdentifier",2),nJ([n({reflect:!0,type:Boolean})],ll.prototype,"disabled",2),nJ([n({type:String,attribute:"count-attempt"})],ll.prototype,"countAttempt",2),nJ([n({type:String})],ll.prototype,"title",2),ll=nJ([iz("qti-end-attempt-interaction")],ll);var lu=rO(ew());var lc=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._rows=5;t.response=null;t._handleResponseChange=function(){t._internals.setFormValue(t.value),t.validate()};return t}d(e,[{key:"handleclassNamesChange",value:function t(t,e){var n=this;var r=e.split(" "),o=!1;if(r.forEach(function(t){if(t.startsWith("qti-height-lines-")){var e=t.replace("qti-height-lines-","");n._rows=parseInt(e),o=!0}}),!o&&this.expectedLength){var a=Math.ceil(this.expectedLength/50);this._rows=a}}},{key:"value",get:function t(){return this.response||null},set:function t(t){this.response=t||null}},{key:"validate",value:function t(){var t=this.shadowRoot.querySelector("textarea");if(!t)return!1;if(this.patternMask&&this.dataPatternmaskMessage){this._internals.setValidity({}),t.setCustomValidity("");var e=this.patternMask.startsWith("^")&&this.patternMask.endsWith("$")?this.patternMask:"^".concat(this.patternMask,"$"),n=new RegExp(e);t.checkValidity()&&n.test(t.value)||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),t.setCustomValidity(this.dataPatternmaskMessage))}else{var r=t.checkValidity();this._internals.setValidity(r?{}:{customError:!1})}return!!this.response&&t.checkValidity()}},{key:"toggleCorrectResponse",value:function t(){}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("textarea");if(!t)return!1;var e=this.validate();return e||t.reportValidity(),e}},{key:"render",value:function t(){var t=this;return im(ex(),this.responseIdentifier,5e3,function(t){return t.stopImmediatePropagation()},this.textChanged,this.textChanged,function(e){t.reportValidity()},oI(this.placeholderText?this.placeholderText:void 0),this._rows,this.disabled,this.readonly,this.response)}},{key:"textChanged",value:function t(t){if(this.disabled||this.readonly)return;var e=t.target;this.setEmptyAttribute(e.value),this.response!==e.value&&(this.value=e.value,this.saveResponse(e.value))}},{key:"setEmptyAttribute",value:function t(t){this.setAttribute("empty",t===""?"true":"false")}}]);return e}(oi);lc.styles=lu,nJ([r()],lc.prototype,"_rows",2),nJ([n({type:Number,attribute:"expected-length"})],lc.prototype,"expectedLength",2),nJ([n({type:String,attribute:"pattern-mask"})],lc.prototype,"patternMask",2),nJ([n({type:String,attribute:"placeholder-text"})],lc.prototype,"placeholderText",2),nJ([n({type:String,attribute:"data-patternmask-message"})],lc.prototype,"dataPatternmaskMessage",2),nJ([n({type:String,attribute:"class"})],lc.prototype,"classNames",2),nJ([nO("classNames")],lc.prototype,"handleclassNamesChange",1),nJ([r()],lc.prototype,"response",2),nJ([nO("response",{waitUntilFirstUpdate:!0})],lc.prototype,"_handleResponseChange",2),lc=nJ([iz("qti-extended-text-interaction")],lc);var ld=rO(eC());var lh=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(eE())}},{key:"toggleCorrectResponse",value:function t(t){var e=this;var n=this.responseVariable;if(t&&(n===null||n===void 0?void 0:n.correctResponse)){var r=[],o=Array.isArray(n.correctResponse)?n.correctResponse:[n.correctResponse];o&&(r=o.map(function(t){var e=t.split(" ");return{text:e[0],gap:e[1]}})),this.querySelectorAll("qti-gap").forEach(function(t){var n,o,a;var s=t.getAttribute("identifier"),l=(n=r.find(function(t){return t.gap===s}))===null||n===void 0?void 0:n.text,u=(o=e.querySelector('qti-gap-text[identifier="'.concat(l,'"]')))===null||o===void 0?void 0:o.textContent.trim();if(l&&u){var c;if(!((c=t.nextElementSibling)===null||c===void 0?void 0:c.classList.contains("correct-option"))){var d=document.createElement("span");d.classList.add("correct-option"),d.textContent=u,d.style.border="1px solid var(--qti-correct)",d.style.borderRadius="4px",d.style.padding="2px 4px",d.style.display="inline-block",t.insertAdjacentElement("afterend",d)}}else((a=t.nextElementSibling)===null||a===void 0?void 0:a.classList.contains("correct-option"))&&t.nextElementSibling.remove()})}else this.querySelectorAll(".correct-option").forEach(function(t){t.remove()})}},{key:"getMatches",value:function t(t){if(!t.correctResponse)return[];var e=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse],n=[];return e&&e.forEach(function(t){var e=t.split(" ");n.push({source:e[0],target:e[1]})}),n}},{key:"toggleCandidateCorrection",value:function t(t){var e=this.responseVariable;if(!(e===null||e===void 0?void 0:e.correctResponse))return;var n=this.getMatches(e);Array.from(this.querySelectorAll("qti-gap")).forEach(function(e){var r=e.getAttribute("identifier"),o=n.filter(function(t){return t.target===r});e.querySelectorAll("qti-gap-text").forEach(function(e){var n;if(e.internals.states.delete("candidate-correct"),e.internals.states.delete("candidate-incorrect"),!t)return;((n=o.find(function(t){return t.source===e.identifier}))===null||n===void 0?void 0:n.source)!==void 0?e.internals.states.add("candidate-correct"):e.internals.states.add("candidate-incorrect")})})}}]);return e}(lt(oi,"qti-gap-text","qti-gap","slot[part='drags']"));lh.styles=ld,lh=nJ([iz("qti-gap-match-interaction")],lh);var lp=function(t,e,n){var r=new Map;for(var o=e;o<=n;o++)r.set(t[o],o);return r},lf=sR(/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){l(this,e);var n;if(n=s(this,e,[t]),t.type!==sA.CHILD)throw Error("repeat() can only be used in text expressions");return n}d(e,[{key:"dt",value:function t(t,e,n){var r;n===void 0?n=e:e!==void 0&&(r=e);var o=[],a=[],s=0;var l=true,u=false,c=undefined;try{for(var d=t[Symbol.iterator](),h;!(l=(h=d.next()).done);l=true){var p=h.value;o[s]=r?r(p,s):s,a[s]=n(p,s),s++}}catch(t){u=true;c=t}finally{try{if(!l&&d.return!=null){d.return()}}finally{if(u){throw c}}}return{values:a,keys:o}}},{key:"render",value:function t(t,e,n){return this.dt(t,e,n).values}},{key:"update",value:function t(t,e){var n=T(e,3),r=n[0],o=n[1],a=n[2];var s=sE(t),l=this.dt(r,o,a),u=l.values,c=l.keys;if(!Array.isArray(s))return this.ut=c,u;var d;var h=(d=this.ut)!==null&&d!==void 0?d:this.ut=[],p=[],f,v,m=0,g=s.length-1,y=0,b=u.length-1;for(;m<=g&&y<=b;)if(s[m]===null)m++;else if(s[g]===null)g--;else if(h[m]===c[y])p[y]=sw(s[m],u[y]),m++,y++;else if(h[g]===c[b])p[b]=sw(s[g],u[b]),g--,b--;else if(h[m]===c[b])p[b]=sw(s[m],u[b]),sk(t,p[b+1],s[m]),m++,b--;else if(h[g]===c[y])p[y]=sw(s[g],u[y]),sk(t,s[m],s[g]),g--,y++;else if(f===void 0&&(f=lp(c,y,b),v=lp(h,m,g)),f.has(h[m]))if(f.has(h[g])){var _=v.get(c[y]),q=_!==void 0?s[_]:null;if(q===null){var k=sk(t,s[m]);sw(k,u[y]),p[y]=k}else p[y]=sw(q,u[y]),sk(t,s[m],q),s[_]=null;y++}else sS(s[g]),g--;else sS(s[m]),m++;for(;y<=b;){var w=sk(t,p[b+1]);sw(w,u[y]),p[y++]=w}for(;m<=g;){var x=s[m++];x!==null&&sS(x)}return this.ut=c,sC(t,p),ib}}]);return e}(sI));var lv=rO(eS());var lm=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.startPoint=null;t.endPoint=null;t._correctLines=[];t._response=[];t.addEventListener("qti-register-hotspot",t.positionHotspotOnRegister);return t}d(e,[{key:"reset",value:function t(){this._response=[],this._correctLines=[]}},{key:"validate",value:function t(){return this.response.length>0}},{key:"response",get:function t(){return this._response},set:function t(t){this._response=t}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;if(!t||!e){this._correctLines=[];return}if(!e.correctResponse){console.error("No correct response found for this interaction.");return}var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];this._correctLines=n}},{key:"render",value:function t(){var t=this;var e,n,r,o;return im(eT(),oI((e=this.grImage[0])===null||e===void 0?void 0:e.width),oI((n=this.grImage[0])===null||n===void 0?void 0:n.height),(r=this.grImage[0])===null||r===void 0?void 0:r.width,(o=this.grImage[0])===null||o===void 0?void 0:o.height,lf(this.response||[],function(t){return t},function(e,n){return ig(eA(),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.top),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.top),function(e){e.stopPropagation(),t._response=t._response.filter(function(t,e){return e!==n}),t.saveResponse(t.response)})}),lf(this._correctLines||[],function(t){return t},function(e,n){return ig(eR(),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.top),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.top))}),this.startPoint&&ig(eI(),this.startCoord.x,this.startCoord.y,this.mouseCoord.x,this.mouseCoord.y))}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),o=n.getAttribute("shape"),a=r.split(",").map(function(t){return parseInt(t)});nU(o,a,e,n)}},{key:"firstUpdated",value:function t(){var t=this;this.hotspots=this.querySelectorAll("qti-associable-hotspot"),this.addEventListener("mousemove",function(e){var n=t.grImage[0];if(!n)return;var r=n.getBoundingClientRect();t.mouseCoord={x:e.clientX-r.left,y:e.clientY-r.top}}),this.hotspots.forEach(function(e){e.style.left=e.getAttribute("coords").split(",")[0]+"px",e.style.top=e.getAttribute("coords").split(",")[1]+"px",e.addEventListener("click",function(e){t.startPoint?t.endPoint||(t.endPoint=e.target,t._response=L(t.response).concat(["".concat(t.startPoint.getAttribute("identifier")," ").concat(t.endPoint.getAttribute("identifier"))]),t.saveResponse(t.response),t.startPoint=null,t.endPoint=null):(t.startPoint=e.target,t.startCoord={x:parseInt(t.startPoint.getAttribute("coords").split(",")[0]),y:parseInt(t.startPoint.getAttribute("coords").split(",")[1])})})})}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return e}(oi);lm.styles=lv,nJ([r()],lm.prototype,"_correctLines",2),nJ([r()],lm.prototype,"startCoord",2),nJ([r()],lm.prototype,"mouseCoord",2),nJ([u({selector:"img"})],lm.prototype,"grImage",2),nJ([r()],lm.prototype,"_response",2),lm=nJ([iz("qti-graphic-associate-interaction")],lm);var lg=rO(eP());var ly=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(eM())}},{key:"positionHotspotOnRegister",value:function t(t){var e=t.target,n=e.getAttribute("coords"),r=e.getAttribute("shape"),o=n.split(",").map(function(t){return parseInt(t)});switch(r){case"circle":{var a=T(o,3),s=a[0],l=a[1],u=a[2];e.style.left=s-u+"px",e.style.top=l-u+"px",e.style.width=e.style.height=2*u+"px"}break;case"rect":{var c=T(o,4),d=c[0],h=c[1],p=c[2],f=c[3];e.style.left=d+"px",e.style.top=h+"px",e.style.width=p-d+"px",e.style.height=f-h+"px"}break;default:break}}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return e}(lt(oi,"qti-gap-img, qti-gap-text","qti-associable-hotspot","slot[part='drags']"));ly.styles=lg,ly=nJ([iz("qti-graphic-gap-match-interaction")],ly);var lb=rO(eO());var l_=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._choiceElements=[];return t}d(e,[{key:"render",value:function t(){return im(eL())}},{key:"setHotspotOrder",value:function t(t){var e=t.detail,n=e.identifier,r=this._choiceElements.find(function(t){return t.getAttribute("identifier")===n});if(!r)return;var o=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){var a=this._choiceElements.filter(function(t){return t.order!=null}).length;if(a>=o){this.choiceOrdering=!1;return}r.order=a+1}else{var s=r.order;r.order=null,this._choiceElements.forEach(function(t){t.order!=null&&t.order>s&&t.order--})}this.choiceOrdering=!1}}},{key:"toggleCorrectResponse",value:function t(t){var e;var n=this.responseVariable,r=this._choiceElements;var o=true,a=false,s=undefined;try{var l=function(){var r=c.value;if(t&&(n===null||n===void 0?void 0:(e=n.correctResponse)===null||e===void 0?void 0:e.length)>0&&Array.isArray(n.correctResponse)){var o=n.correctResponse.findIndex(function(t){return t===r.identifier});o>=0?r.orderCorrect=o+1:r.orderCorrect=null}else r.orderCorrect=null};for(var u=r[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(t){a=true;s=t}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),o=n.getAttribute("shape"),a=r.split(",").map(function(t){return parseInt(t)});nU(o,a,e,n)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return e}(lr(oi,"qti-hotspot-choice"));l_.styles=lb,l_=nJ([iz("qti-graphic-order-interaction")],l_);var lq=rO(eN());var lk=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.imageLoadPromise=null;return t}d(e,[{key:"render",value:function t(){return im(eU())}},{key:"getImageLoadPromise",value:function t(t){return this.imageLoadPromise||(t.naturalWidth>0&&t.naturalHeight>0?this.imageLoadPromise=Promise.resolve(t):this.imageLoadPromise=new Promise(function(e){var n=function(){t.removeEventListener("load",n),e(t)};t.addEventListener("load",n)})),this.imageLoadPromise}},{key:"positionHotspotOnRegister",value:function t(t){return a(function(){var e,n,r,o,a,s;return $(this,function(l){switch(l.label){case 0:e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),o=n.getAttribute("shape"),a=r.split(",").map(function(t){return parseInt(t)});return[4,this.getImageLoadPromise(e)];case 1:s=l.sent();nU(o,a,s,n);return[2]}})}).call(this)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("unregister-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return e}(lr(oi,"qti-hotspot-choice"));lk.styles=lq,lk=nJ([iz("qti-hotspot-interaction")],lk);var lw=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.class="";t.render=function(){return im(eD())};return t}d(e,[{key:"classObject",get:function t(){var t={"qti-input-control-hidden":!0};return this.class&&this.class.split(" ").forEach(function(e){e.trim()&&(t[e.trim()]=!0)}),t}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.updateHostClasses()}},{key:"updated",value:function t(t){p(f(e.prototype),"updated",this).call(this,t),this.updateHostClasses()}},{key:"updateHostClasses",value:function t(){var t=Object.keys(this.classObject).join(" ");this.className=t}}]);return e}(lr(oi,"qti-hottext"));nJ([n({type:String,reflect:!0})],lw.prototype,"class",2),lw=nJ([iz("qti-hottext-interaction")],lw);var lx=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){l(this,e);var n;if(n=s(this,e,[t]),n.it=i_,t.type!==sA.CHILD)throw Error(n.constructor.directiveName+"() can only be used in child bindings");return n}d(e,[{key:"render",value:function t(t){if(t===i_||t==null)return this._t=void 0,this.it=t;if(t===ib)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;var e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}]);return e}(sI);lx.directiveName="unsafeHTML",lx.resultType=1;var lC=sR(lx);var lE=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.options=[];t.correctOption="";t.dataPrompt="";return t}d(e,[{key:"isInline",get:function t(){return!0}},{key:"render",value:function t(){return im(ez(),this.choiceSelected,this.disabled,this.readonly,this.options.map(function(t){return im(e$(),t.value,t.selected,lC(t.textContent))}),lC(this.correctOption))}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"willUpdate",value:function t(t){(t.has("configContext")||t.has("dataPrompt"))&&this._updateOptions()}},{key:"_updateOptions",value:function t(){var t;var e=Array.from(this.querySelectorAll("qti-inline-choice")),n=this.dataPrompt||((t=this.configContext)===null||t===void 0?void 0:t.inlineChoicePrompt)||"select";!this.options||this.options.length===0?this.options=[{textContent:n,value:"",selected:!1}].concat(L(e.map(function(t){return{textContent:t.innerHTML,value:t.getAttribute("identifier"),selected:!1}}))):this.options=this.options.map(function(t){return t.value===""?x(k({},t),{textContent:n}):t})}},{key:"validate",value:function t(){var t=this.options.find(function(t){return t.selected});return t?t.value!=="":!1}},{key:"reset",value:function t(){this.options=this.options.map(function(t,e){return x(k({},t),{selected:e===0})})}},{key:"response",get:function t(){var t;return((t=this.options.find(function(t){return t.selected}))===null||t===void 0?void 0:t.value)||null},set:function t(t){this.options=this.options.map(function(e){return t&&t===e.value&&(e.selected=!0),e})}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this;var n,r;if(this.correctResponse=t&&((r=this.responseVariable)===null||r===void 0?void 0:(n=r.correctResponse)===null||n===void 0?void 0:n.toString()),!this.correctResponse){this.correctOption="";return}this.correctOption='<span part="correct-option" style="border:1px solid var(--qti-correct); border-radius:4px; padding: 2px 4px; margin: 4px; display:inline-block">'.concat(this.options.find(function(t){return e.correctResponse===t.value}).textContent,"</span>")}},{key:"choiceSelected",value:function t(t){var e=t.target.value;this.options=this.options.map(function(t){return x(k({},t),{selected:t.value===e})}),this.saveResponse(e)}}],[{key:"styles",get:function t(){return[rO(eV())]}}]);return e}(oi);lE.inputWidthClass=["","qti-input-width-2","qti-input-width-1","qti-input-width-3","qti-input-width-4","qti-input-width-6","qti-input-width-10","qti-input-width-15","qti-input-width-20","qti-input-width-72"],nJ([r()],lE.prototype,"options",2),nJ([r()],lE.prototype,"correctOption",2),nJ([n({attribute:"data-prompt",type:String})],lE.prototype,"dataPrompt",2),nJ([M({context:i4,subscribe:!0}),n({attribute:!1})],lE.prototype,"configContext",2),lE=nJ([iz("qti-inline-choice-interaction")],lE);var lS=rO(ej());var lA=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.lastCheckedRadio=null;t.class="";t._response=[];t.responseIdentifier="";t.correctOptions=null;t.handleRadioClick=function(e){var n=e.target;t.lastCheckedRadio===n?(n.checked=!1,t.lastCheckedRadio=null,t.handleRadioChange(e)):t.lastCheckedRadio=n};t.handleRadioChange=function(e){var n=e.target,r=n.value,o=n.name,a=n.type;n.checked?(t.response?t.response.indexOf(r)===-1&&(a==="radio"&&(t.response=(t.response||[]).filter(function(t){return t.indexOf(o)===-1})),t.response=L(t.response).concat([r])):t.response=[r],t.lastCheckedRadio=n):(t.response=(t.response||[]).filter(function(t){return t!==r}),t.lastCheckedRadio=null),t.requestUpdate(),t.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:t.responseIdentifier,response:Array.isArray(t.response)?L(t.response):t.response}}))};return t}d(e,[{key:"response",get:function t(){return this.classList.contains("qti-match-tabular")?this._response:p(f(e.prototype),"response",this)},set:function t(t){this.classList.contains("qti-match-tabular")?this._response=t:R(f(e.prototype),"response",t,this,true)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){r().call(n),this.sourceChoices=Array.from(this.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),this.targetChoices=Array.from(this.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),this.response=[];return[2]})}).call(this)}},{key:"validate",value:function t(){var t;return this.class.split(" ").includes("qti-match-tabular")?((t=this.response)===null||t===void 0?void 0:t.length)===this.sourceChoices.length:p(f(e.prototype),"validate",this).call(this)}},{key:"getMatches",value:function t(t){if(!t.correctResponse)return[];var e=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse],n=[];return e&&e.forEach(function(t){var e=t.split(" ");n.push({source:e[0],target:e[1]})}),n}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this;var n=this.responseVariable;if(!(n===null||n===void 0?void 0:n.correctResponse)){this.querySelectorAll(".correct-option").forEach(function(t){return t.remove()});return}var r=this.getMatches(n);this.class.split(" ").includes("qti-match-tabular")?t?this.correctOptions=r||[]:this.correctOptions=null:t?(this.querySelectorAll(".correct-option").forEach(function(t){return t.remove()}),this.targetChoices.forEach(function(t){var n=t.getAttribute("identifier"),o=r.find(function(t){return t.target===n});if(o===null||o===void 0?void 0:o.source){var a,s,l;var u=(s=e.querySelector('qti-simple-associable-choice[identifier="'.concat(o.source,'"]')))===null||s===void 0?void 0:(a=s.textContent)===null||a===void 0?void 0:a.trim();if(u&&!((l=t.previousElementSibling)===null||l===void 0?void 0:l.classList.contains("correct-option"))){var c=document.createElement("span");c.classList.add("correct-option"),c.textContent=u,c.style.border="1px solid var(--qti-correct)",c.style.borderRadius="4px",c.style.padding="2px 4px",c.style.display="inline-block",t.insertAdjacentElement("beforebegin",c)}}})):this.correctOptions=null}},{key:"toggleCandidateCorrection",value:function t(t){var e=this.responseVariable;if(!(e===null||e===void 0?void 0:e.correctResponse))return;var n=this.getMatches(e);this.targetChoices.forEach(function(e){var r=e.getAttribute("identifier"),o=n.filter(function(t){return t.target===r});e.querySelectorAll("qti-simple-associable-choice").forEach(function(e){var n;if(e.internals.states.delete("candidate-correct"),e.internals.states.delete("candidate-incorrect"),!t)return;((n=o.find(function(t){return t.source===e.identifier}))===null||n===void 0?void 0:n.source)!==void 0?e.internals.states.add("candidate-correct"):e.internals.states.add("candidate-incorrect")})})}},{key:"render",value:function t(){var t=this;var e=this.class.split(" ").includes("qti-match-tabular"),n=this.correctOptions!==null;return im(eG(),e,e?im(eW(),this.targetChoices.map(function(t){return im(eF(),lC(t.innerHTML))}),this.sourceChoices.map(function(e){return im(eQ(),lC(e.innerHTML),t.targetChoices.map(function(r){var o,a,s;var l=e.getAttribute("identifier"),u=r.getAttribute("identifier"),c="".concat(l," ").concat(u),d=(t.response||[]).filter(function(t){return t.split(" ")[0]===l}).length||0,h=((o=t.response)===null||o===void 0?void 0:o.includes(c))||!1,p=e.matchMax===1?"radio":"checkbox",f=!!((a=t.correctOptions)===null||a===void 0?void 0:a.find(function(t){return t.source===l&&t.target===u})),v=p==="radio"?"rb ".concat(h?"rb-checked":""," ").concat(n?f?"rb-correct":"rb-incorrect":""):"cb ".concat(h?"cb-checked":""," ").concat(n?f?"cb-correct":"cb-incorrect":""),m=((s=t.correctOptions)===null||s===void 0?void 0:s.length)>0?!0:e.matchMax===1?!1:e.matchMax!==0&&d>=e.matchMax&&!h;return im(eB(),p,v,l,c,m,function(e){return t.handleRadioChange(e)},function(n){return e.matchMax===1?t.handleRadioClick(n):null},p==="checkbox"&&h?im(eH()):"")}))})):i_)}}]);return e}(lt(oi,"qti-simple-match-set:first-of-type qti-simple-associable-choice, qti-simple-match-set:last-of-type > qti-simple-associable-choice > qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice","qti-simple-match-set:first-of-type"));lA.styles=lS,nJ([n({type:String})],lA.prototype,"class",2),nJ([r()],lA.prototype,"_response",2),nJ([n({type:String,attribute:"response-identifier"})],lA.prototype,"responseIdentifier",2),nJ([r()],lA.prototype,"correctOptions",2),lA=nJ([iz("qti-match-interaction")],lA);var lR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._value=null;return t}d(e,[{key:"reset",value:function t(){this._value=null}},{key:"validate",value:function t(){return!0}},{key:"response",get:function t(){return this._value?this._value.toString():null},set:function t(t){if(t)if(!isNaN(parseInt(t===null||t===void 0?void 0:t.toString())))this._value=parseInt(t.toString());else throw new Error("Value must be a number ".concat(t))}},{key:"render",value:function t(){return im(eX())}},{key:"connectedCallback",value:function t(){var t=this;p(f(e.prototype),"connectedCallback",this).call(this);var n=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");n&&n.addEventListener("ended",function(){t._value++,t.saveResponse(t.value)})}}],[{key:"properties",get:function t(){return x(k({},oi.properties),{step:{type:Number,attribute:"step",default:10}})}}]);return e}(oi);lR.styles=[rO(eJ())],lR=nJ([iz("qti-media-interaction")],lR);var lI=rO(eY());var lT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.nrChoices=0;t.correctResponses=[];t.showCorrectResponses=!1;return t}d(e,[{key:"render",value:function t(){var t=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<t.length&&(this.nrChoices=t.length),im(eZ(),L(Array(this.nrChoices)).map(function(t,e){return im(eK(),e)}))}},{key:"toggleCorrectResponse",value:function t(t){var e=this;var n=this.responseVariable;if(this.shadowRoot.querySelectorAll(".correct-option").forEach(function(t){return t.remove()}),t&&(n===null||n===void 0?void 0:n.correctResponse)){var r=(Array.isArray(n.correctResponse)?n.correctResponse:[n.correctResponse]).map(function(t){return t.split(" ")[0]}),o=new Set;this.querySelectorAll("qti-simple-choice").forEach(function(t,n){var a;var s=t.getAttribute("identifier");if(!s||!r.includes(s)||o.has(s))return;o.add(s);var l=(a=t.textContent)===null||a===void 0?void 0:a.trim();if(!l)return;var u=e.shadowRoot.querySelector('drop-list[identifier="droplist'.concat(n,'"]'));if(!u)return;var c=document.createElement("span");c.classList.add("correct-option"),c.textContent=l,c.style.border="1px solid var(--qti-correct)",c.style.borderRadius="4px",c.style.padding="2px 4px",c.style.display="inline-block",c.style.marginTop="4px",u.insertAdjacentElement("afterend",c)})}}},{key:"getValue",value:function t(t){return(t===null||t===void 0?void 0:t.map(function(t,e){return"".concat(t," droplist").concat(e)}))||[]}},{key:"getResponse",value:function t(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(function(t){var e=t.querySelectorAll('[qti-draggable="true"]');return L(Array.from(e).map(function(t){return t.getAttribute("identifier")})).join(" ")})}},{key:"firstUpdated",value:function t(t){var n=this;var r=this,o=function(){return p(f(e.prototype),"firstUpdated",n)};return a(function(){return $(this,function(e){o().call(r,t),this.childrenMap=Array.from(this.querySelectorAll("qti-simple-choice")),this.childrenMap.forEach(function(t){return t.setAttribute("part","qti-simple-choice")});return[2]})}).call(this)}}]);return e}(lt(oi,"qti-simple-choice","drop-list","slot[part='drags']"));lT.styles=lI,nJ([r()],lT.prototype,"nrChoices",2),nJ([r()],lT.prototype,"correctResponses",2),nJ([r()],lT.prototype,"showCorrectResponses",2),nJ([n({type:String})],lT.prototype,"orientation",2),lT=nJ([iz("qti-order-interaction")],lT);var lP=rO(e0());var lM=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;var n,r=arguments;t=s(this,e,L(r)),n=t;n._iframeLoaded=!1;n._pendingMessages=[];n._responseCheckInterval=null;n.requirePathsJson="";n.requireShimJson="";n.requireJsUrl="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js";n.baseUrl="";n.useIframe=!1;n.useDefaultShims=!1;n.useDefaultPaths=!1;n._errorMessage=null;n.response=[];n._parsedRequirePaths=null;n._parsedRequireShim=null;n.handleIframeMessage=function(t){var e=t.data;if(!(!e||e.source!=="qti-pci-iframe"))switch(e.method){case"iframeReady":n.initializeInteraction(),n.processPendingMessages(),n.dispatchEvent(new CustomEvent("qti-portable-custom-interaction-loaded",{bubbles:!0}));break;case"resize":typeof e.height=="number"&&n.iframe&&(n.iframe.style.height="".concat(e.height,"px"),n.iframe.style.width="".concat(e.width,"px"));break;case"interactionChanged":{var r=n.convertQtiVariableJSON(e.params.value);n.response=r,n.validate(),n.saveResponse(n.response);break}case"error":n._errorMessage=e.params.message,console.error("Error from PCI iframe:",e.params.message);break}};n._onInteractionChanged=function(t){t.stopPropagation();var e=n.convertQtiVariableJSON(t.detail.value);n.response=e,n.saveResponse(e)};n.loadConfig=function(t,e){return a(function(){var r,o,a,s;return $(this,function(a){switch(a.label){case 0:t=n.removeDoubleSlashes(t);a.label=1;case 1:a.trys.push([1,5,,6]);return[4,fetch(t)];case 2:r=a.sent();if(!r.ok)return[3,4];return[4,r.json()];case 3:o=a.sent();for(var l in o.paths)e&&(o.paths[l]=n.getResolvablePath(o.paths[l],e));return[2,o];case 4:return[3,6];case 5:s=a.sent();return[3,6];case 6:return[2,null]}})})()};n.getResolvablePathString=function(t,e){return t=t.replace(/\.js$/,""),(t===null||t===void 0?void 0:t.toLocaleLowerCase().startsWith("http"))||!e?t:n.removeDoubleSlashes("".concat(e,"/").concat(t))};n.getResolvablePath=function(t,e){return Array.isArray(t)?t.map(function(t){return n.getResolvablePathString(t,e)}):n.getResolvablePathString(t,e)};n._previousState=null;return t}d(e,[{key:"getRequirePaths",value:function t(){var t=this;if(this._parsedRequirePaths===null&&this.requirePathsJson)try{var e=JSON.parse(this.requirePathsJson);Array.isArray(e)?(this._parsedRequirePaths={},e.forEach(function(e){e.name&&e.value&&(t._parsedRequirePaths[e.name]=e.value)})):this._parsedRequirePaths=e}catch(t){console.error("Error parsing require paths JSON:",t),this._errorMessage="Error parsing require paths JSON: ".concat(t.message),this._parsedRequirePaths={}}return this._parsedRequirePaths||{}}},{key:"getRequireShim",value:function t(){if(this._parsedRequireShim===null&&this.requireShimJson)try{this._parsedRequireShim=JSON.parse(this.requireShimJson)}catch(t){console.error("Error parsing require shim JSON:",t),this._errorMessage="Error parsing require shim JSON: ".concat(t.message),this._parsedRequireShim={}}return this._parsedRequireShim||{}}},{key:"getDefaultRequirePaths",value:function t(){return{"taoQtiItem/portableLib/OAT/util/event":"/assets/pci-scripts/portableLib/OAT/util/event","taoQtiItem/portableLib/OAT/util/html":"/assets/pci-scripts/portableLib/OAT/util/html","taoQtiItem/portableLib/OAT/util/EventMgr":"/assets/pci-scripts/portableLib/OAT/util/EventMgr","taoQtiItem/portableLib/OAT/util/math":"/assets/pci-scripts/portableLib/OAT/util/math","taoQtiItem/portableLib/OAT/util/xml":"/assets/pci-scripts/portableLib/OAT/util/xml","taoQtiItem/portableLib/OAT/util/tooltip":"/assets/pci-scripts/portableLib/OAT/util/tooltip","taoQtiItem/portableLib/jquery_2_1_1":"/assets/pci-scripts/portableLib/jquery_2_1_1","taoQtiItem/pci-scripts/portableLib/jquery.qtip":"/assets/portableLib/jquery.qtip","taoQtiItem/pci-scripts/portableLib/lodash":"/assets/pci-scripts/portableLib/lodash","taoQtiItem/pci-scripts/portableLib/raphael":"/assets/pci-scripts/portableLib/raphael","IMSGlobal/jquery_2_1_1":"/assets/pci-scripts/IMSGlobal/jquery_2_1_1","OAT/util/event":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/event","OAT/util/html":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/html","OAT/util/EventMgr":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/EventMgr","OAT/util/math":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/math","OAT/util/xml":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/xml","OAT/util/tooltip":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/tooltip","OAT/lodash":"/assets/pci-scripts/legacyPortableSharedLib/lodash",mathJax:"/assets/pci-scripts/mathjax/mathJax",css:"/assets/pci-scripts/css/css"}}},{key:"getDefaultRequireShim",value:function t(){return{mathJax:{exports:"MathJax",init:function t(){var t=window;if(t.MathJax)return t.MathJax.Hub.Config({showMathMenu:!1,showMathMenuMSIE:!1,menuSettings:{inTabOrder:!1}}),t.MathJax.Hub.Startup.MenuZoom=function(){},t.MathJax.Hub.Startup.onload(),t.MathJax}}}}},{key:"getFinalRequirePaths",value:function t(){var t=this.getDefaultRequirePaths(),e=this.getRequirePaths();return this.useDefaultPaths?k({},t,e):e}},{key:"getFinalRequireShim",value:function t(){var t=this.getRequireShim(),e=this.getDefaultRequireShim();return this.useDefaultShims?k({},e,t):t}},{key:"convertQtiVariableJSON",value:function t(t){for(var e in t)if(t.hasOwnProperty(e)){var n=t[e];if(n){for(var r in n)if(n.hasOwnProperty(r)){var o=n[r];if(Array.isArray(o))return o.map(String);if(o!=null)return String(o)}}}return null}},{key:"addHyphenatedKeys",value:function t(t){var e=k({},t);for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=n.replace(/[A-Z]/g,function(t){return"-".concat(t.toLowerCase())});e[r]=t[n]}return e}},{key:"responseVariablesToQtiVariableJSON",value:function t(t,e,n){if(e!=="single"){var r={list:{}};return r.list[n]=t,r}else{var o={base:{}};return o.base[n]=t,o}}},{key:"validate",value:function t(){return!0}},{key:"value",get:function t(){var t,e;if(this.useIframe)return((t=this._value)===null||t===void 0?void 0:t.toString())||null;{var n;var r=(n=this.pci)===null||n===void 0?void 0:n.getResponse();if(r){var o=this.convertQtiVariableJSON(r);return Array.isArray(o)?o.join(","):o}}return Array.isArray(this._value)?this._value.join(","):((e=this._value)===null||e===void 0?void 0:e.toString())||null},set:function t(t){t===null?this._value=[]:this._value=Array.isArray(t)?t:t.split(",")}},{key:"boundTo",get:function t(){var t=this;var e,n;var r={};if((n=this.context)===null||n===void 0?void 0:(e=n.variables)===null||e===void 0?void 0:e.find(function(e){return e.identifier===t.responseIdentifier})){var o,a,s,l,u,c,d,h,p;var f=((s=this.context)===null||s===void 0?void 0:(a=s.variables)===null||a===void 0?void 0:(o=a.find(function(e){return e.identifier===t.responseIdentifier}))===null||o===void 0?void 0:o.cardinality)||"single",v=((c=this.context)===null||c===void 0?void 0:(u=c.variables)===null||u===void 0?void 0:(l=u.find(function(e){return e.identifier===t.responseIdentifier}))===null||l===void 0?void 0:l.baseType)||"string",m=((p=this.context)===null||p===void 0?void 0:(h=p.variables)===null||h===void 0?void 0:(d=h.find(function(e){return e.identifier===t.responseIdentifier}))===null||d===void 0?void 0:d.value)||null,g=this.responseVariablesToQtiVariableJSON(m,f,v);r[this.responseIdentifier]=g}return r},set:function t(t){if(!t||!t[this.responseIdentifier])return;var e=this.convertQtiVariableJSON(t[this.responseIdentifier]);this._value=e,this.saveResponse(e)}},{key:"unescapeHtml",value:function t(t){return t&&t.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&#x2F;/g,"/").replace(/&#x60;/g,"`").replace(/&#x3D;/g,"=")}},{key:"unescapeDataAttributes",value:function t(t){var e={};var n=true,r=false,o=undefined;try{for(var a=Object.entries(t)[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=T(s.value,2),u=l[0],c=l[1];typeof c=="string"?e[u]=this.unescapeHtml(c):e[u]=c}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return e}},{key:"register",value:function t(t){var e=this;this.pci=t,this.dom=this.querySelector("qti-interaction-markup"),this.dom||(this.dom=document.createElement("div"),this.appendChild(this.dom)),this.dom.classList.add("qti-customInteraction"),this.dom.style.width="100%",this.dom.style.minHeight="50px",this.dom.style.display="block",this.dom.addEventListener("qti-interaction-changed",this._onInteractionChanged),this.querySelector("properties")&&(this.querySelector("properties").style.display="none");var n={properties:this.addHyphenatedKeys(this.unescapeDataAttributes(k({},this.dataset))),contextVariables:{},templateVariables:{},onready:function(t){e.pci=t;try{var n=new ResizeObserver(function(t){var n=true,r=false,o=undefined;try{for(var a=t[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;l.contentRect&&l.contentRect.height>0&&(e.style.height="".concat(l.contentRect.height+20,"px"))}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}});n.observe(e.dom),e._resizeObserver=n}catch(t){console.warn("ResizeObserver not supported, falling back to static sizing")}},ondone:function(t,n,r,o){e.response=e.convertQtiVariableJSON(n),e.saveResponse(e.response)},responseIdentifier:this.responseIdentifier,boundTo:this.boundTo};if(t.getInstance)t.getInstance(this.dom,n,void 0);else{var r=function(t){var e={},n=function(t){var e={};Object.entries(t.dataset).forEach(function(t){var n=T(t,2),r=n[0],o=n[1];r.includes("__")||(e[r]=o)});var n={};return Object.entries(t.dataset).forEach(function(t){var e=T(t,2),r=e[0],o=e[1];var a=r.split("__");if(a.length>1){var s=T(a,3),l=s[0],u=s[1],c=s[2];n[l]=n[l]||{},n[l][u]=n[l][u]||{},n[l][u][c]=o}}),Object.entries(n).forEach(function(t){var n=T(t,2),r=n[0],o=n[1];e[r]=Object.values(o)}),e}(t);for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var o=n[r];r==="config"?e[r]=JSON.parse(o):e[r]=o}return e}(this);t.initialize(this.customInteractionTypeIdentifier,this.dom.firstElementChild||this.dom,Object.keys(r).length?r:null)}}},{key:"disconnectedCallback",value:function t(){if(p(f(e.prototype),"disconnectedCallback",this).call(this),this.useIframe)window.removeEventListener("message",this.handleIframeMessage);else{this.stopResponseCheck(),this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),requirejs.undef(this.customInteractionTypeIdentifier);var t=requirejs.s.contexts;delete t[this.customInteractionTypeIdentifier],this.removeEventListener("qti-interaction-changed",this._onInteractionChanged)}}},{key:"sendMessageToIframe",value:function t(t,e){if(!this._iframeLoaded){this._pendingMessages.push({method:t,params:e});return}this.iframe.contentWindow.postMessage({source:"qti-portable-custom-interaction",method:t,params:e},"*")}},{key:"processPendingMessages",value:function t(){var t=this;this._pendingMessages.length&&(this._pendingMessages.forEach(function(e){t.sendMessageToIframe(e.method,e.params)}),this._pendingMessages=[])}},{key:"createIframe",value:function t(){var t=this;this.iframe=document.createElement("iframe"),this.iframe.id="pci-iframe-".concat(this.responseIdentifier),this.iframe.setAttribute("title","QTI PCI Iframe"),this.iframe.setAttribute("aria-label","QTI PCI Iframe"),this.iframe.setAttribute("aria-hidden","false"),this.iframe.setAttribute("role","application"),this.iframe.style.width="100%",this.iframe.style.border="none",this.iframe.style.display="block",this.iframe.onload=function(){t._iframeLoaded=!0,t.addMarkupToIframe(),t.sendIframeInitData()};var e="qti-pci-".concat(this.responseIdentifier,"-").concat(Date.now());this.iframe.name=e;var n=this.generateIframeContent(),r=encodeURIComponent(n);this.iframe.src="data:text/html;charset=utf-8,".concat(r),this.appendChild(this.iframe)}},{key:"sendIframeInitData",value:function t(){var t={module:this.module,customInteractionTypeIdentifier:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl?this.baseUrl.startsWith("http")||this.baseUrl.startsWith("blob")||this.baseUrl.startsWith("base64")?this.baseUrl:V("".concat(window.location.origin).concat(this.baseUrl)):window.location.origin,responseIdentifier:this.responseIdentifier,dataAttributes:k({},this.dataset),interactionModules:this.getInteractionModules(),boundTo:this.boundTo};this.sendMessageToIframe("initialize",t)}},{key:"getInteractionModules",value:function t(){var t=[],e=this.querySelector("qti-interaction-modules");if(e){var n=e.querySelectorAll("qti-interaction-module");var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;t.push({id:u.getAttribute("id"),primaryPath:u.getAttribute("primary-path"),fallbackPath:u.getAttribute("fallback-path")})}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}return t}},{key:"addMarkupToIframe",value:function t(){var t=this.querySelector("qti-interaction-markup");t&&this.sendMessageToIframe("setMarkup",t.innerHTML);var e=this.querySelector("properties");e&&this.sendMessageToIframe("setProperties",e.innerHTML)}},{key:"initializeInteraction",value:function t(){}},{key:"connectedCallback",value:function t(){var t=this;if(p(f(e.prototype),"connectedCallback",this).call(this),this.useIframe)window.addEventListener("message",this.handleIframeMessage),this.createIframe();else{define("qtiCustomInteractionContext",function(){return{register:function(e){t.register(e)},notifyReady:function(){}}});var n=this.buildRequireConfig();if(n){var r=requirejs.config(n);requirejs.onError=function(t){throw console.error("RequireJS error:",t),t.requireType==="timeout"&&console.error("Modules that timed out:",t.requireModules),t},r(["require"],function(e){try{e([t.module],function(){},function(t){console.error("Error loading module:",t)})}catch(t){console.error("Error in require call:",t)}})}}}},{key:"stopResponseCheck",value:function t(){this._responseCheckInterval!==null&&(window.clearInterval(this._responseCheckInterval),this._responseCheckInterval=null)}},{key:"buildRequireConfig",value:function t(){var t={context:this.customInteractionTypeIdentifier,catchError:!0,paths:k({},this.getFinalRequirePaths(),window.requirePaths||{}),shim:k({},this.getFinalRequireShim(),window.requireShim||{})};if(!globalThis.require)return this._errorMessage="RequireJS not found. Please load it via CDN: https://cdnjs.com/libraries/require.js",null;var e=this.getAttribute("data-base-url"),n=this.querySelector("qti-interaction-modules");if(n){var r=n.querySelectorAll("qti-interaction-module");var o=true,a=false,s=undefined;try{for(var l=r[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=c.getAttribute("id"),h=c.getAttribute("primary-path"),p=c.getAttribute("fallback-path");if(d&&h){var f=p?this.combineRequireResolvePaths(this.getResolvablePath(h,e),this.getResolvablePath(p,e)):this.getResolvablePath(h,e),v=t.paths[d]||[];t.paths[d]=this.combineRequireResolvePaths(v,f)}}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}}return t}},{key:"combineRequireResolvePaths",value:function t(t,e){var n=Array.isArray(t)?t:[t],r=Array.isArray(e)?e:[e];return n.concat(r).filter(function(t,e,n){return n.indexOf(t)===e})}},{key:"removeDoubleSlashes",value:function t(t){return t.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}},{key:"generateIframeContent",value:function t(){var t=window.getComputedStyle(document.body),e=JSON.stringify(this.getFinalRequirePaths()),n=JSON.stringify(this.getFinalRequireShim()),r="\n font-family: ".concat(t.getPropertyValue("font-family"),";\n font-size: ").concat(t.getPropertyValue("font-size"),";\n line-height: ").concat(t.getPropertyValue("line-height"),";\n font-weight: ").concat(t.getPropertyValue("font-weight"),";\n color: ").concat(t.getPropertyValue("color"),";\n ");return'<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="utf-8" />\n <title>QTI PCI Container</title>\n <base href="'.concat(window.location.origin,'" />\n <style>\n body, html {\n margin: 0;\n padding: 0;\n width: 100%;\n height: auto;\n overflow: hidden;\n /* Add the extracted font styles here */\n ').concat(r,'\n }\n .qti-customInteraction {\n width: 100%;\n height: 100%;\n }\n #pci-container {\n width: 100%;\n </style>\n <script src="').concat(this.requireJsUrl,'"><\/script>\n <script>\n // Define standard paths and shims\n window.requirePaths = ').concat(e,";\n\n window.requireShim = ").concat(n,";\n\n // Single initial RequireJS configuration with error handling\n window.requirejs.config({\n catchError: true,\n waitSeconds: 30,\n paths: window.requirePaths,\n baseUrl: '").concat(this.dataset.baseUrl,"',\n shim: window.requireShim,\n onNodeCreated: function(node, config, moduleName, url) {\n console.log('RequireJS creating node for module:', moduleName, 'URL:', url);\n\n // Add error handler to script node\n node.addEventListener('error', function(evt) {\n console.error('Script load error for module:', moduleName, 'URL:', url, 'Event:', evt);\n });\n },\n onError: function(err) {\n console.error('RequireJS error:', {\n type: err.requireType,\n modules: err.requireModules,\n error: err\n });\n\n if (err.requireType === 'scripterror') {\n console.error('Script error usually indicates a network or CORS issue with:', err.requireModules);\n }\n\n // Notify parent window about the error\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: {\n message: 'RequireJS ' + err.requireType + ' error for modules: ' + err.requireModules,\n details: {\n type: err.requireType,\n modules: err.requireModules,\n error: err.toString()\n }\n }\n }, '*');\n }\n });\n\n // PCI Manager for iframe implementation\n window.PCIManager = {\n pciInstance: null,\n container: null,\n customInteractionTypeIdentifier: null,\n\n initialize: function(config) {\n this.customInteractionTypeIdentifier = config.customInteractionTypeIdentifier;\n this.container = document.getElementById('pci-container');\n this.container.classList.add('qti-customInteraction');\n\n function getResolvablePath(path, basePath) {\n if (Array.isArray(path)) {\n return path.map(p => getResolvablePathString(p, basePath));\n } else {\n return getResolvablePathString(path, basePath);\n }\n }\n\n function removeDoubleSlashes(str) {\n return str\n .replace(/([^:\\/])\\/\\/+/g, '$1/')\n .replace(/\\/\\//g, '/')\n .replace('http:/', 'http://')\n .replace('https:/', 'https://');\n }\n\n function getResolvablePathString(path, basePath) {\n path = path.replace(/\\.js$/, '');\n return path?.toLocaleLowerCase().startsWith('http') || !basePath\n ? path\n : removeDoubleSlashes(`${basePath}/${path}`);\n }\n\n function combineRequireResolvePaths(path1, path2, baseUrl) {\n path1 = getResolvablePath(path1, baseUrl);\n const path1Array = Array.isArray(path1) ? path1 : [path1];\n if (!path2) {\n return path1Array;\n }\n path2 = getResolvablePath(path2, baseUrl);\n const path2Array = Array.isArray(path2) ? path2 : [path2];\n return path1Array.concat(path2Array).filter((value, index, self) => self.indexOf(value) === index);\n }\n\n // Update paths with modules from the config\n if (config.interactionModules && config.interactionModules.length > 0) {\n config.interactionModules.forEach(module => {\n if (module.id && module.primaryPath) {\n const currentPath = window.requirePaths[module.id] || [];\n const currentPaths = Array.isArray(currentPath) ? currentPath : [currentPath];\n const newPath = combineRequireResolvePaths(\n module.primaryPath, module.fallbackPath, config.baseUrl\n );\n window.requirePaths[module.id] = currentPaths.concat(newPath).filter((value, index, self) => self.indexOf(value) === index);\n }\n });\n }\n\n // The ONLY other requirejs.config call - with the context for this specific PCI\n window.requirejs.config({\n context: this.customInteractionTypeIdentifier,\n paths: window.requirePaths,\n shim: window.requireShim\n });\n\n // Define qtiCustomInteractionContext for the PCI\n define('qtiCustomInteractionContext', () => {\n return {\n register: pciInstance => {\n this.pciInstance = pciInstance;\n // Configure PCI instance\n const pciConfig = {\n properties: this.addHyphenatedKeys(this.unescapeDataAttributes({ ...config.dataAttributes })),\n contextVariables: config.contextVariables || {},\n templateVariables: config.templateVariables || {},\n onready: pciInstance => {\n this.pciInstance = pciInstance;\n this.notifyReady();\n },\n ondone: (pciInstance, response, state, status) => {\n this.notifyInteractionChanged(response);\n },\n responseIdentifier: config.responseIdentifier,\n boundTo: config.boundTo,\n };\n\n if (pciInstance.getInstance) {\n pciInstance.getInstance(this.container, pciConfig, undefined);\n } else {\n // TAO custom interaction initialization\n const restoreTAOConfig = (dataset) => {\n const config = {};\n const parseDataAttributes = () => {\n const result = {};\n\n // Separate direct attributes from nested ones\n Object.entries(dataset || []).forEach(([key, value]) => {\n if (!key.includes('__')) {\n // Direct attributes (like version)\n result[key] = value;\n }\n });\n\n // Parse nested attributes\n const nestedData = {};\n\n Object.entries(dataset || []).forEach(([key, value]) => {\n const parts = key.split('__');\n if (parts.length > 1) {\n const [group, index, prop] = parts;\n nestedData[group] = nestedData[group] || {};\n nestedData[group][index] = nestedData[group][index] || {};\n nestedData[group][index][prop] = value;\n }\n });\n\n // Convert nested groups to arrays\n Object.entries(nestedData).forEach(([key, group]) => {\n result[key] = Object.values(group);\n });\n return result;\n };\n const data = parseDataAttributes();\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const value = data[key];\n if (key === 'config') {\n config[key] = JSON.parse(value);\n } else {\n config[key] = value;\n }\n }\n }\n return config;\n };\n const taoConfig = restoreTAOConfig(config.dataAttributes);\n\n this.pciInstance.initialize(\n this.customInteractionTypeIdentifier,\n this.container.firstElementChild || this.container,\n Object.keys(taoConfig).length ? taoConfig : null\n );\n }\n },\n notifyReady: () => {\n // Notify parent that the PCI is ready\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'pciReady'\n }, '*');\n }\n };\n });\n\n // Load the PCI module\n this.loadModule(config.module);\n },\n\n loadModule: function(modulePath) {\n try {\n // Get the context-specific require\n const contextRequire = window.requirejs.config({\n context: this.customInteractionTypeIdentifier\n });\n contextRequire(['require'], require => {\n // Now load the actual module\n require([modulePath], () => {\n }, err => {\n console.error('Error loading module:', modulePath, err);\n this.notifyError('Module load error: ' + err.toString());\n });\n });\n } catch (error) {\n console.error('Exception in loadModule:', modulePath);\n console.error(error);\n this.notifyError('Error in require call: ' + error.toString());\n }\n },\n\n notifyReady: function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeReady'\n }, '*');\n },\n\n notifyInteractionChanged: function(response) {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n },\n\n notifyError: function(message) {\n console.error('PCI Error:', message);\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: { message: message }\n }, '*');\n },\n\n setMarkup: function(markupHtml) {\n this.container = document.getElementById('pci-container');\n this.container.innerHTML = markupHtml;\n },\n\n addHyphenatedKeys: function(properties) {\n const updatedProperties = { ...properties };\n for (const key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n const hyphenatedKey = key.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n updatedProperties[hyphenatedKey] = properties[key];\n }\n }\n return updatedProperties;\n },\n unescapeDataAttributes: function(obj) {\n const unescaped = {};\n for (const [key, value] of Object.entries(obj)) {\n if (typeof value === 'string') {\n unescaped[key] = value\n .replace(/&amp;/g, '&')\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#x27;/g, \"'\")\n .replace(/&#x2F;/g, '/')\n .replace(/&#x60;/g, '`')\n .replace(/&#x3D;/g, '=');\n } else {\n unescaped[key] = value;\n }\n }\n return unescaped;\n },\n };\n\n // Set up message listener for communication with parent\n window.addEventListener('message', function(event) {\n const { data } = event;\n\n // Ensure the message is from our parent\n if (!data || data.source !== 'qti-portable-custom-interaction') {\n return;\n }\n\n switch(data.method) {\n case 'initialize':\n PCIManager.initialize(data.params);\n break;\n\n case 'setMarkup':\n PCIManager.setMarkup(data.params);\n break;\n\n case 'setBoundTo':\n // Handle setting boundTo\n break;\n\n case 'setProperties':\n // Handle setting properties\n break;\n }\n });\n\n // Notify parent that iframe has loaded\n window.addEventListener('load', function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeLoaded'\n }, '*');\n });\n let resizeTimeout;\n let previousHeight = 0;\n const notifyResize = () => {\n const container = document.getElementById('pci-container');\n const newHeight = container.scrollHeight + 100;\n if (newHeight !== previousHeight) {\n previousHeight = newHeight;\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'resize',\n height: newHeight,\n width: container.scrollWidth\n }, '*');\n }, 100); // Adjust debounce time as needed\n }\n };\n\n function setupResizeObserver() {\n const container = document.getElementById('pci-container');\n if (!container || !(container instanceof Element)) {\n console.warn('ResizeObserver: document.container is not an Element');\n return;\n }\n\n const resizeObserver = new ResizeObserver(() => {\n notifyResize();\n });\n\n resizeObserver.observe(container);\n }\n\n // Run setup once DOM is ready\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', () => {\n notifyResize(); // initial resize\n setupResizeObserver();\n });\n } else {\n notifyResize();\n setupResizeObserver();\n }\n\n window.addEventListener('load', () => {\n notifyResize();\n });\n let lastResponseStr = '';\n setInterval(() => {\n if (PCIManager.pciInstance && PCIManager.pciInstance.getResponse) {\n const response = PCIManager.pciInstance.getResponse();\n const responseStr = JSON.stringify(response);\n\n if (responseStr !== lastResponseStr) {\n lastResponseStr = responseStr;\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n }\n }\n }, 500); // Check every 500ms\n <\/script>\n</head>\n<body>\n <div id=\"pci-container\"></div>\n</body>\n</html>")}},{key:"toggleInternalCorrectResponse",value:function t(t){var e;var n=this.responseVariable;this.correctResponse=t?n===null||n===void 0?void 0:n.correctResponse:n.cardinality==="single"?"":[];var r="correct-response-container-".concat(this.responseIdentifier),o=(e=this.parentElement)===null||e===void 0?void 0:e.querySelectorAll("#".concat(r));if(o&&o.forEach(function(t){t.remove()}),t)this.disable();else{this.enable();return}if(!t||!(n===null||n===void 0?void 0:n.correctResponse))return;var a=document.createElement("div");a.id=r,a.className="pci-correct-response-container",a.style.position="relative",a.style.marginTop="20px",a.style.border="2px solid green",a.style.padding="16px",a.style.borderRadius="4px",a.style.backgroundColor="rgba(0, 128, 0, 0.05)";var s=document.createElement("div");s.textContent="Correct Response:",s.style.fontWeight="bold",s.style.marginBottom="10px",s.style.color="green",a.appendChild(s);var l=document.createElement("qti-portable-custom-interaction");Array.from(this.attributes).forEach(function(t){t.name!=="id"&&t.name!=="response-identifier"&&l.setAttribute(t.name,t.value)});var u=this.responseIdentifier;l.responseIdentifier="".concat(u,"-correct"),Array.from(this.children).forEach(function(t){var e=t.cloneNode(!0);l.appendChild(e)});var c=n.correctResponse;if(this.useIframe){var d=l.connectedCallback;l.connectedCallback=function(){var t=this;d.call(this);var e=function(){return t._iframeLoaded?(setTimeout(function(){var e=t.responseVariablesToQtiVariableJSON(c,n.cardinality,n.baseType);t.sendMessageToIframe("setBoundTo",h({},u,e)),t.sendMessageToIframe("setState",{state:"review"})},1e3),!0):!1};if(!e()){var r=setInterval(function(){e()&&clearInterval(r)},100);setTimeout(function(){clearInterval(r)},1e4)}}}else{var p=l.register;l.register=function(t){var e=this;p.call(this,t);var r=function(){if(e.pci&&typeof e.pci.setResponse=="function"){var t=e.responseVariablesToQtiVariableJSON(c,n.cardinality,n.baseType);return e.pci.setResponse(t),typeof e.pci.setState=="function"&&e.pci.setState("review"),!0}return!1};setTimeout(function(){if(!r()){var t=setInterval(function(){r()&&clearInterval(t)},200);setTimeout(function(){clearInterval(t)},5e3)}},500)}}l.style.pointerEvents="none",a.appendChild(l),this.after(a)}},{key:"disable",value:function t(){if(this._previousState={pointerEvents:this.style.pointerEvents,position:this.style.position},this.useIframe&&this.sendMessageToIframe("setState",{state:"disabled"}),!this.querySelector(".pci-interaction-overlay")){var t=document.createElement("div");t.className="pci-interaction-overlay",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.width="100%",t.style.height="100%",t.style.backgroundColor="rgba(200, 200, 200, 0.3)",t.style.zIndex="100",t.style.pointerEvents="all",t.style.cursor="not-allowed",getComputedStyle(this).position==="static"&&(this.style.position="relative"),this.appendChild(t)}}},{key:"enable",value:function t(){var t=this.querySelector(".pci-interaction-overlay");t&&t.remove(),this._previousState&&(this._previousState.pointerEvents&&(this.style.pointerEvents=this._previousState.pointerEvents),this._previousState.position&&(this.style.position=this._previousState.position),this._previousState=null),this.useIframe&&this.sendMessageToIframe("setState",{state:"interacting"})}},{key:"render",value:function t(){return im(e2(),this._errorMessage?im(e1(),this._errorMessage):"")}}]);return e}(oi);lM.styles=[lP,rO(e3())],nJ([n({type:String,attribute:"module"})],lM.prototype,"module",2),nJ([n({type:String,attribute:"custom-interaction-type-identifier"})],lM.prototype,"customInteractionTypeIdentifier",2),nJ([n({type:String,attribute:"data-require-paths"})],lM.prototype,"requirePathsJson",2),nJ([n({type:String,attribute:"data-require-shim"})],lM.prototype,"requireShimJson",2),nJ([n({type:String,attribute:"data-require-js-url"})],lM.prototype,"requireJsUrl",2),nJ([n({type:String,attribute:"data-base-url"})],lM.prototype,"baseUrl",2),nJ([n({type:Boolean,attribute:"data-use-iframe"})],lM.prototype,"useIframe",2),nJ([n({type:Boolean,attribute:"data-use-default-shims"})],lM.prototype,"useDefaultShims",2),nJ([n({type:Boolean,attribute:"data-use-default-paths"})],lM.prototype,"useDefaultPaths",2),nJ([r()],lM.prototype,"_errorMessage",2),nJ([M({context:i8,subscribe:!0}),r()],lM.prototype,"context",2),nJ([r()],lM.prototype,"response",2),lM=nJ([iz("qti-portable-custom-interaction")],lM);var lO=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(e5())}}]);return e}(iD);lO.styles=[rO(e4())];customElements.define("qti-position-object-interaction",lO);var lL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t.removeMoveListener=t.removeMoveListener.bind(t),t.dragElementHandler=t.dragElementHandler.bind(t);return t}d(e,[{key:"render",value:function t(){return im(e6())}},{key:"dragElementHandler",value:function t(t){t.preventDefault();var e=t.clientX-this.startX,n=t.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+e+"px",this.dragElement.style.top=this.dragElement.offsetTop+n+"px",this.startX=t.clientX,this.startY=t.clientY}},{key:"firstUpdated",value:function t(t){var n=this;p(f(e.prototype),"firstUpdated",this).call(this,t),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",function(t){n.startX=t.clientX,n.startY=t.clientY,document.addEventListener("mousemove",n.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}},{key:"removeMoveListener",value:function t(){document.removeEventListener("mousemove",this.dragElementHandler,!0)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}}]);return e}(iD);lL.styles=[rO(e8())],lL=nJ([iz("qti-position-object-stage")],lL);var lN="important",lU=" !"+lN,lD=sR(/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){l(this,e);var n;var r;if(n=s(this,e,[t]),t.type!==sA.ATTRIBUTE||t.name!=="style"||((r=t.strings)===null||r===void 0?void 0:r.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");return n}d(e,[{key:"render",value:function t(t){return Object.keys(t).reduce(function(e,n){var r=t[n];return r==null?e:e+"".concat(n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase(),":").concat(r,";")},"")}},{key:"update",value:function t(t,e){var n=T(e,1),r=n[0];var o=t.element,a=o.style;if(this.ft===void 0)return this.ft=new Set(Object.keys(r)),this.render(r);var s=true,l=false,u=undefined;try{for(var c=this.ft[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;r[h]==null&&(this.ft.delete(h),h.includes("-")?a.removeProperty(h):a[h]=null)}}catch(t){l=true;u=t}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}for(var p in r){var f=r[p];if(f!=null){this.ft.add(p);var v=typeof f=="string"&&f.endsWith(lU);p.includes("-")||v?a.setProperty(p,v?f.slice(0,-11):f,v?lN:""):a[p]=f}}return ib}}]);return e}(sI));var lV=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.maxChoices=1/0;t.minChoices=0;t.response=null;t._correctAreas=[];t._responseCorrection=[];t._imgElement=null;t._scaleX=1;t._scaleY=1;t._imageWidthOriginal=0;t._imageHeightOriginal=0;t._onImageClick=function(e){if(t.disabled)return;if(!t._imgElement){console.warn("No <img> element found in <qti-select-point-interaction>");return}t.calculateScale();var n=t._imgElement.getBoundingClientRect(),r=(e.clientX-n.left)*t._scaleX,o=(e.clientY-n.top)*t._scaleY,a="".concat(r.toFixed()," ").concat(o.toFixed());t.maxChoices===1?t.response=[a]:(t.maxChoices===0||(t.response||[]).length<t.maxChoices)&&(t.response=L(t.response||[]).concat([a])),t.saveResponse(t.response)};t._onResize=function(){t.calculateScale()};return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._onResize)}},{key:"responsePoints",get:function t(){return(this.response||[]).filter(function(t){return t}).map(function(t){var e=T(t.split(" ").map(Number),2),n=e[0],r=e[1];return{x:n,y:r}})}},{key:"toggleCandidateCorrection",value:function t(t){var e=this;this._responseCorrection=[],t&&this.responsePoints.forEach(function(t){var n=e.responseVariable.areaMapping.areaMapEntries.some(function(n){return oh.isPointInArea("".concat(t.x," ").concat(t.y),"".concat(n.shape,",").concat(n.coords),e.responseVariable.baseType)});e._responseCorrection.push(n)})}},{key:"toggleCorrectResponse",value:function t(t){var e=this.responseVariable;if(!t||!e){this._correctAreas=[];return}var n=e.areaMapping,r=[];if(!n||n.areaMapEntries.length===0)if(e.correctResponse){var o=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];if(o.length===0||o.find(function(t){return t.split(" ").length<2}))return console.error("No valid correct responses found for the response variable."),null;console.warn("No area mapping found for the response variable. Using the correct responses to display the correct response but it probably won't score correct."),r=o.map(function(t){return{shape:"circle",coords:t.split(" ").join(",").concat(",10"),defaultValue:1,mappedValue:1}})}else{console.error("No area mapping found for the response variable.");return}else r=n.areaMapEntries;this._correctAreas=r.map(function(t){return{coords:t.coords,shape:t.shape}})}},{key:"updated",value:function t(t){p(f(e.prototype),"updated",this).call(this,t);var n=this._imgElement;n&&t.has("_correctAreas")&&this._correctAreas.length>0&&(this.calculateScale(),this.shadowRoot.querySelectorAll("div").forEach(function(t){var e=t.dataset.coord,r=t.dataset.shape;e&&r&&nU(r,e.split(",").map(function(t){return+t}),n,t)}))}},{key:"render",value:function t(){var t=this;var e;return im(nt(),lf((this.response||[]).filter(function(t){return t}),function(t){return t},function(e,n){var r=T(e.split(" ").map(Number),2),o=r[0],a=r[1],s=o/(t._imageWidthOriginal||1)*100,l=a/(t._imageHeightOriginal||1)*100,u=16,c=u/(t._imageWidthOriginal||1)*100,d=u/(t._imageHeightOriginal||1)*100,h="";return t._responseCorrection[n]===!0?h=" correct":t._responseCorrection[n]===!1&&(h=" incorrect"),im(e7(),h,lD({pointerEvents:t.maxChoices===1?"none":"auto",position:"absolute",transform:"translate(-50%, -50%)",left:"".concat(s,"%"),top:"".concat(l,"%"),width:"min(".concat(c,"%, 1rem)"),height:"min(".concat(d,"%, 1rem)"),minWidth:"min(".concat(c,"%, 1rem)"),minHeight:"min(".concat(d,"%, 1rem)"),borderRadius:"50%",background:"red"}),e,t.disabled,function(e){e.stopPropagation(),t.response=(t.response||[]).filter(function(t,e){return e!==n}),t.saveResponse(t.response)})}),lf(((e=this._correctAreas)===null||e===void 0?void 0:e.filter(function(t){return t}))||[],function(t){return t},function(t,e){return im(e9(),lD({position:"absolute",pointerEvents:"none",backgroundColor:"var(--qti-correct)",opacity:"0.5"}),t.coords,"correct-response-".concat(e+1),t.shape)}))}},{key:"validate",value:function t(){return this.response!==null&&this.response.length>=this.minChoices&&this.response.length<=this.maxChoices}},{key:"calculateScale",value:function t(){this._imageWidthOriginal=this._imgElement.getAttribute("width")?parseFloat(this._imgElement.getAttribute("width")):this._imgElement.naturalWidth,this._imageHeightOriginal=this._imgElement.getAttribute("height")?parseFloat(this._imgElement.getAttribute("height")):this._imgElement.naturalHeight;var t=this._imgElement.getBoundingClientRect();this._scaleX=t.width===0?1:this._imageWidthOriginal/t.width,this._scaleY=t.height===0?1:this._imageHeightOriginal/t.height}},{key:"firstUpdated",value:function t(){this._imgElement=this.querySelector("img"),this._imgElement?(this.calculateScale(),this._imgElement.addEventListener("click",this._onImageClick)):console.warn("No <img> element found in <qti-select-point-interaction>")}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._onResize),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}}]);return e}(oi);lV.styles=[rO(ne())],nJ([n({type:Number,attribute:"max-choices"})],lV.prototype,"maxChoices",2),nJ([n({type:Number,attribute:"min-choices"})],lV.prototype,"minChoices",2),nJ([r()],lV.prototype,"response",2),nJ([r()],lV.prototype,"_correctAreas",2),nJ([r()],lV.prototype,"_responseCorrection",2),lV=nJ([iz("qti-select-point-interaction")],lV);var l$=rO(nn());var lz=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._value=0;t._correctResponseNumber=null;t.min=0;t.max=100;t.step=1;return t}d(e,[{key:"validate",value:function t(){return!0}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this._updateValue(this.min),this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}},{key:"response",get:function t(){return this._value.toString()},set:function t(t){var e=parseInt(t,10);isNaN(e)||this._updateValue(e)}},{key:"toggleCorrectResponse",value:function t(t){var e=this.responseVariable;if(e===null||e===void 0?void 0:e.correctResponse){if(t){this._correctResponse=e.correctResponse.toString();var n=parseFloat(e.correctResponse.toString());if(isNaN(n))this._correctResponseNumber=null;else{this._correctResponseNumber=n;var r=(this._correctResponseNumber-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage-correct","".concat(r,"%"))}}else this._correctResponseNumber=null;this.requestUpdate()}}},{key:"_updateValue",value:function t(t){var e=this._value;if(this._value=Math.min(this.max,Math.max(this.min,t)),this._value===e)return;var n=(this._value-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage","".concat(n,"%")),this._internals.setFormValue(this.value),this.saveResponse(this.response),this.requestUpdate()}},{key:"render",value:function t(){return im(ni(),this.min,this.max,this._onMouseDown,this._onTouchStart,this.response,this._correctResponseNumber!==null?im(nr(),this._correctResponseNumber):null)}},{key:"_onMouseDown",value:function t(t){var e=this;this._startDrag(t.pageX);var n=function(t){return e._onDrag(t.pageX)},r=function(){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r),e._onDragEnd()};document.addEventListener("mousemove",n),document.addEventListener("mouseup",r)}},{key:"_onTouchStart",value:function t(t){var e=this;this._startDrag(t.touches[0].pageX);var n=function(t){return e._onDrag(t.touches[0].pageX)},r=function(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",r),e._onDragEnd()};document.addEventListener("touchmove",n,{passive:!1}),document.addEventListener("touchend",r)}},{key:"_startDrag",value:function t(t){this._onDrag(t)}},{key:"_onDrag",value:function t(t){var e=this._rail.getBoundingClientRect(),n=t-e.left,r=Math.min(1,Math.max(0,n/e.width)),o=this.min+Math.round(r*(this.max-this.min)/this.step)*this.step;this._updateValue(o)}},{key:"_onDragEnd",value:function t(){this.dispatchEvent(new Event("change",{bubbles:!0}))}}]);return e}(oi);lz.styles=l$,nJ([o("#rail")],lz.prototype,"_rail",2),nJ([n({type:Number,attribute:"lower-bound"})],lz.prototype,"min",2),nJ([n({type:Number,attribute:"upper-bound"})],lz.prototype,"max",2),nJ([n({type:Number,attribute:"step"})],lz.prototype,"step",2),lz=nJ([iz("qti-slider-interaction")],lz);var lj=function(){return new lF},lF=function t(){"use strict";l(this,t)},lH=new WeakMap,lB=sR(/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(t){return i_}},{key:"update",value:function t(t,e){var n=T(e,1),r=n[0];var o;var a=r!==this.G;return a&&this.G!==void 0&&this.rt(void 0),(a||this.lt!==this.ct)&&(this.G=r,this.ht=(o=t.options)===null||o===void 0?void 0:o.host,this.rt(this.ct=t.element)),i_}},{key:"rt",value:function t(t){if(this.isConnected||(t=void 0),typeof this.G=="function"){var e;var n=(e=this.ht)!==null&&e!==void 0?e:globalThis,r=lH.get(n);r===void 0&&(r=new WeakMap,lH.set(n,r)),r.get(this.G)!==void 0&&this.G.call(this.ht,void 0),r.set(this.G,t),t!==void 0&&this.G.call(this.ht,t)}else this.G.value=t}},{key:"lt",get:function t(){var t,e;var n;return typeof this.G=="function"?(t=lH.get((n=this.ht)!==null&&n!==void 0?n:globalThis))===null||t===void 0?void 0:t.get(this.G):(e=this.G)===null||e===void 0?void 0:e.value}},{key:"disconnected",value:function t(){this.lt===this.ct&&this.rt(void 0)}},{key:"reconnected",value:function t(){this.rt(this.ct)}}]);return e}(sL));var lQ=rO(no());var lW=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.inputRef=lj();t.response=null;t._handleValueChange=function(){t._internals.setFormValue(t.value),t.validate()};return t}d(e,[{key:"value",get:function t(){return this.response||null},set:function t(t){this.response=t||null}},{key:"correctness",get:function t(){var t=this.responseVariable;if(!t)return null;if(t.value===null)return"incorrect";if(t.mapping){var e=t.mapping.mapEntries.reduce(function(t,e){return Math.max(e.mappedValue,t)},0);var n=true,r=false,o=undefined;try{for(var a=t.mapping.mapEntries[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;var u=l.mapKey,c=t.value;if(l.caseSensitive||(u=u.toLowerCase(),c=c.toLowerCase()),u===c)return l.mappedValue===e?"correct":l.mappedValue<=(t.mapping.defaultValue||0)?"incorrect":"partially-correct"}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}}return t.correctResponse===t.value?"correct":"incorrect"}},{key:"isInline",get:function t(){return!0}},{key:"validate",value:function t(){if(!this._input)return!1;if(this.patternMask&&this.dataPatternmaskMessage)this._internals.setValidity({}),this._input.setCustomValidity(""),this._input.checkValidity()||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),this._input.setCustomValidity(this.dataPatternmaskMessage));else{var t=this._input.checkValidity();this._internals.setValidity(t?{}:{customError:!1})}return this.response!==""&&this._input.checkValidity()}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;if(t&&(e===null||e===void 0?void 0:e.correctResponse)){var n=e.correctResponse.toString();this._correctResponse=n}else this._correctResponse=null}},{key:"render",value:function t(){var t=this;return im(ns(),this.responseIdentifier,function(e){t.reportValidity()},function(t){return t.stopImmediatePropagation()},this.textChanged,this.textChanged,this.patternMask=="[0-9]*"?"number":"text",oI(this.placeholderText?this.placeholderText:void 0),this.response,oI(this.patternMask?this.patternMask:void 0),1e3,this.disabled,this.readonly,this._correctResponse?im(na(),this._correctResponse):i_)}},{key:"textChanged",value:function t(t){if(this.disabled||this.readonly)return;var e=t.target;this.setEmptyAttribute(e.value),this.response!==e.value&&(this.value=e.value,this.saveResponse(e.value))}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("input");if(!t)return!1;var e=this.validate();return e||t.reportValidity(),e}},{key:"reset",value:function t(){this.response=""}},{key:"setEmptyAttribute",value:function t(t){this.setAttribute("empty",t===""?"true":"false")}}]);return e}(oi);lW.styles=lQ,nJ([n({type:Number,attribute:"expected-length"})],lW.prototype,"expectedLength",2),nJ([n({type:String,attribute:"pattern-mask"})],lW.prototype,"patternMask",2),nJ([n({type:String,attribute:"placeholder-text"})],lW.prototype,"placeholderText",2),nJ([n({type:String,attribute:"data-patternmask-message"})],lW.prototype,"dataPatternmaskMessage",2),nJ([r()],lW.prototype,"response",2),nJ([o("input")],lW.prototype,"_input",2),nJ([nO("response",{waitUntilFirstUpdate:!0})],lW.prototype,"_handleValueChange",2),lW=nJ([iz("qti-text-entry-interaction")],lW);var lG=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._file=null;t._base64=null;return t}d(e,[{key:"reset",value:function t(){this._file=null,this._base64=null,this.saveResponse(null)}},{key:"validate",value:function t(){return this._base64!==null}},{key:"response",get:function t(){return this._base64},set:function t(t){if(typeof t=="string")this._base64=t,this.saveResponse(t);else if(t===null)this.reset();else throw new Error("Value must be a Base64-encoded string or null")}},{key:"render",value:function t(){return im(nl(),this._onFileChange,this.disabled,this.readonly)}},{key:"_onFileChange",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:e=t.target;n=e.files&&e.files.length>0;if(!n)return[3,2];this._file=e.files[0];r=this;return[4,this._convertToBase64(this._file)];case 1:n=(r._base64=o.sent(),this.saveResponse(this._base64),this.dispatchEvent(new CustomEvent("qti-interaction-response",{detail:{response:this._base64}})));o.label=2;case 2:n;return[2]}})}).call(this)}},{key:"_convertToBase64",value:function t(t){return new Promise(function(e,n){var r=new FileReader;r.onload=function(){return e(r.result)},r.onerror=function(){return n(r.error)},r.readAsDataURL(t)})}}],[{key:"properties",get:function t(){return k({},oi.properties)}}]);return e}(oi);lG.styles=[rO(nu())],lG=nJ([iz("qti-upload-interaction")],lG);var lX=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.tabindex=0;return t}d(e,[{key:"connectedCallback",value:function t(){this.setAttribute("slot","drags")}}]);return e}(iD);lX.styles=rO(nc()),nJ([n({type:Number,reflect:!0})],lX.prototype,"tabindex",2),lX=nJ([iz("qti-gap-img")],lX);var lJ={toAttribute:function(t){return t?"true":"false"},fromAttribute:function(t){return t==="true"}};var lY=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.tabindex=0;return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","drags")}},{key:"render",value:function t(){return im(nd())}}]);return e}(nD(iD,"qti-gap-text"));lY.styles=rO(nh()),nJ([n({type:Number,reflect:!0})],lY.prototype,"tabindex",2),lY=nJ([iz("qti-gap-text")],lY);var lK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.tabindex=0;return t}d(e,[{key:"render",value:function t(){return im(np())}}]);return e}(iD);lK.styles=rO(nf()),nJ([n({type:Number,reflect:!0})],lK.prototype,"tabindex",2),lK=nJ([iz("qti-gap")],lK);var lZ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("click",this._onSelectInlineChoice),this.dispatchEvent(new CustomEvent("qti-inline-choice-register",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"disconnectedCallback",value:function t(){this.removeEventListener("click",this._onSelectInlineChoice)}},{key:"render",value:function t(){return im(nm())}},{key:"_onSelectInlineChoice",value:function t(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}}],[{key:"styles",get:function t(){return[rO(nv())]}}]);return e}(iD);nJ([n({type:String})],lZ.prototype,"identifier",2),lZ=nJ([iz("qti-inline-choice")],lZ);var l0=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(ng())}}]);return e}(nD(iD,"qti-hottext"));l0.styles=rO(ny()),l0=nJ([iz("qti-hottext")],l0);var l1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.matchMin=0;t.matchMax=1;t.fixed=!1;return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}},{key:"render",value:function t(){return im(nb())}}]);return e}(nD(iD,"qti-simple-associable-choice"));l1.styles=rO(n_()),nJ([n({type:Number,attribute:"match-min"})],l1.prototype,"matchMin",2),nJ([n({type:Number,attribute:"match-max"})],l1.prototype,"matchMax",2),nJ([n({type:String,attribute:"fixed",converter:{fromAttribute:function(t){return t==="true"},toAttribute:function(t){return String(t)}}})],l1.prototype,"fixed",2),l1=nJ([iz("qti-simple-associable-choice")],l1);var l2=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.templateIdentifier=null;t.showHide="show";t.fixed=!1;return t}d(e,[{key:"checked",get:function t(){return this.internals.states.has("--checked")}},{key:"render",value:function t(){return im(nk(),this.marker?im(nq(),this.marker):i_)}}]);return e}(nD(iD,"qti-simple-choice"));l2.styles=rO(nw()),nJ([n({type:String,attribute:"template-identifier"})],l2.prototype,"templateIdentifier",2),nJ([n({type:String,attribute:"show-hide"})],l2.prototype,"showHide",2),nJ([n({type:Boolean,converter:{fromAttribute:function(t){return t==="true"},toAttribute:function(t){return String(t)}}})],l2.prototype,"fixed",2),nJ([n({type:String,attribute:!1})],l2.prototype,"marker",2),l2=nJ([iz("qti-simple-choice")],l2);var l3=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(nD(iD,"qti-hotspot-choice"));l3.styles=rO(nx()),nJ([n({attribute:"aria-ordervalue",type:Number,reflect:!0})],l3.prototype,"order",2),nJ([n({attribute:"aria-ordercorrectvalue",type:Number,reflect:!0})],l3.prototype,"orderCorrect",2),l3=nJ([iz("qti-hotspot-choice")],l3);var l5=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"render",value:function t(){return im(nC())}}]);return e}(iD);l5.styles=rO(nE()),l5=nJ([iz("qti-associable-hotspot")],l5);var l4=function(t){return a(function(){var e,n,r,o,a,s;return $(this,function(l){switch(l.label){case 0:e=t.substring(0,t.lastIndexOf("/"));return[4,iG().load("".concat(t)).then(function(t){return t.assessmentTest()})];case 1:n=l.sent();return[4,iX().load("".concat(e,"/").concat(n.href)).then(function(t){return t.htmlDoc()})];case 2:r=l.sent();return[4,iX().load("".concat(e,"/").concat(n.href)).then(function(t){return t.items()})];case 3:o=l.sent(),a="".concat(e,"/").concat(n.href),s="".concat(e,"/").concat(n.href.substring(0,n.href.lastIndexOf("/")));return[2,{testHTMLDoc:r,testURI:s,testURL:a,items:o,testIdentifier:n.identifier}]}})})()},l6=function(t){return a(function(){return $(this,function(e){return[2,iW().load(t).then(function(t){return t.htmlDoc().firstElementChild})]})})()};var l8=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nS())}},{key:"process",value:function t(){throw new Error("Not implemented")}}]);return e}(iD);l8=nJ([iz("qti-rule")],l8);var l7=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"childExpression",get:function t(){return this.firstElementChild}},{key:"process",value:function t(){var t=this.getAttribute("identifier"),e=this.context.variables.find(function(e){return e.identifier===t})||null,n;return e.interpolationTable&&(n=e.interpolationTable.get(parseFloat(this.childExpression.calculate()))),n==null?(console.warn("lookupOutcomeValue: value is null or undefined"),0):(this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:this.identifier,value:ou(n)}})),n)}}]);return e}(l8);nJ([n({type:String})],l7.prototype,"identifier",2),nJ([M({context:i8,subscribe:!0}),r()],l7.prototype,"context",2);customElements.define("qti-lookup-outcome-value",l7);var l9=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nA())}},{key:"process",value:function t(){var t=L(this.children);for(var e=0;e<t.length;e++){var n=t[e];if(n.calculate()){n.process();return}}}}]);return e}(l8);customElements.define("qti-response-condition",l9);var ut=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"process",value:function t(){var t=this.getAttribute("identifier");if(!t){console.warn('QtiSetOutcomeValue: Missing "identifier" attribute.');return}var e=this.firstElementChild;if(!e){console.warn("QtiSetOutcomeValue: No expression found.");return}var n=new ue(e).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:this.formatValue(n)}}))}},{key:"formatValue",value:function t(t){return Array.isArray(t)?t.map(ou):t!==null?ou(t):null}}]);return e}(l8),ue=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.expression=e}d(t,[{key:"process",value:function t(){var t;var e=(t=this.expression.calculate())!==null&&t!==void 0?t:null;return e===null&&console.warn("QtiSetOutcomeValueRule: Evaluated value is null."),Array.isArray(e)?e.map(function(t){return t.value?t.value:t}):e}}]);return t}();customElements.define("qti-set-outcome-value",ut);var un=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nR())}},{key:"calculate",value:function t(){return!0}},{key:"getSubRules",value:function t(){return L(this.children)}},{key:"process",value:function t(){var t=this.getSubRules();for(var e=0;e<t.length;e++)t[e].process()}}]);return e}(iD);customElements.define("qti-response-else",un);var ur=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculate",value:function t(){return this.firstElementChild.calculate()}},{key:"getSubRules",value:function t(){var t=[];for(var e=1;e<this.children.length;e++)t.push(this.children[e]);return t}}]);return e}(un);customElements.define("qti-response-if",ur);var ui=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nI(),p(f(e.prototype),"render",this).call(this))}}]);return e}(ur);customElements.define("qti-response-else-if",ui);var uo=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculate",value:function t(){return this.calculateChildren(Array.from(this.children))}}]);return e}(nV(os));uo=nJ([iz("qti-and")],uo);var ua=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.baseType="string";return t}d(e,[{key:"getResult",value:function t(){return this.textContent.trim()}}]);return e}(oa);nJ([n({type:String,attribute:"base-type"})],ua.prototype,"baseType",2);customElements.define("qti-base-value",ua);var us=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t;if(((t=this.children)===null||t===void 0?void 0:t.length)!==1)return console.error("qti-container-size must have exactly one child expression"),0;var e=this.getVariables();if(!e||(e===null||e===void 0?void 0:e.length)===0)return 0;var n=e[0];return n.value===null||n.value===void 0?0:n.cardinality!=="multiple"&&n.cardinality!=="ordered"?(console.error("qti-container-size requires multiple or ordered cardinality"),0):Array.isArray(n.value)?n.value.length:(console.error("qti-container-size: expected array value for multiple/ordered cardinality"),0)}}]);return e}(oa);customElements.define("qti-container-size",us);var ul=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(this.children.length===2){var e=t[0],n=t[1];if(e.baseType==="directedPair"&&n.baseType==="directedPair"&&e.cardinality==="multiple"){var r=e.value,o=n.value;return r.filter(function(t){return o.includes(t)}).length>0}else if(e.baseType==="directedPair"&&n.baseType==="directedPair"&&e.cardinality==="single"){var a=e.value;return n.value.includes(a)}else console.error("unsupported baseType or cardinality in qti contains, only baseType: directedPair and cardinality: multiple is supported")}else console.error("unexpected number of children in qti contains");return!1}}]);return e}(os);customElements.define("qti-contains",ul);var uu=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"interpretation",get:function t(){return this.getAttribute("interpretation")||""}},{key:"getResult",value:function t(){var t=this.getAttribute("identifier")||"",e=this.context.variables.find(function(e){return e.identifier===t})||null;return e.cardinality!=="single"?e.correctResponse.length>0?e.correctResponse[0]:"":e.correctResponse}}]);return e}(oa);customElements.define("qti-correct",uu);var uc=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.identifier="";return t}d(e,[{key:"getResult",value:function t(){var t;if(!this.identifier)return console.error("qti-default requires an identifier attribute"),null;var e=this.identifier.split("."),n=null,r;if(e.length===2)n=e[0],r=e[1];else if(e.length===1)r=e[0];else return console.error("qti-default: invalid identifier format"),null;if(n){var o;var a=this._testContext.items.find(function(t){return t.identifier===n});if(console.debug("itemContext: ".concat(JSON.stringify(a))),!this._testContext||!a)return console.warn('qti-default: item "'.concat(n,'" not found in test context')),null;var s=(o=this._testContext.items.find(function(t){return t.identifier===n}))===null||o===void 0?void 0:o.variables.find(function(t){return t.identifier===r});return s?s.defaultValue||null:(console.warn('qti-default: variable "'.concat(r,'" not found in item "').concat(n,'"')),null)}if(!((t=this.context)===null||t===void 0?void 0:t.variables))return console.warn("qti-default: no variables found in item context"),null;var l=this.context.variables.find(function(t){return t.identifier===r});return l?l.defaultValue||null:(console.warn('qti-default: variable "'.concat(r,'" not found in item context')),null)}}]);return e}(oa);nJ([n({type:String})],uc.prototype,"identifier",2),nJ([M({context:i8,subscribe:!0}),r()],uc.prototype,"context",2),nJ([r(),M({context:on,subscribe:!0})],uc.prototype,"_testContext",2);customElements.define("qti-default",uc);var ud=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.roundingMode="significantFigures";return t}d(e,[{key:"figures",get:function t(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;var t=parseInt(this.getAttribute("figures")||"0");return isNaN(t)?(console.error("figures attribute is not a number"),null):t<0?(console.error("figures attribute is negative"),null):t<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):t}},{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if(this.roundingMode===null)return null;if(e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti equal"),!1;switch(t[0].baseType){case"integer":case"float":{var r=parseFloat(e.value),o=parseFloat(n.value);if(!isNaN(r)&&!isNaN(o))return this.roundingMode==="significantFigures"?r.toPrecision(this.figures)===o.toPrecision(this.figures):Math.round(r*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error("value cannot be casted to numeric value in equalRounded operator: ".concat(r,", ").concat(o));break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}}]);return e}(oa);nJ([n({type:String})],ud.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",ud);var uh=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length!==1)return console.error("qti-round must have exactly one child expression"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=t[0];if(e.cardinality!=="single")return console.error("qti-round requires single cardinality"),null;if(Array.isArray(e.value))return console.error("qti-round unexpected array value for single cardinality"),null;if(e.value===null||e.value===void 0)return null;if(e.baseType!=="integer"&&e.baseType!=="float")return console.error("qti-round requires numerical base-type (integer or float)"),null;var n=parseFloat(e.value);return isNaN(n)?(console.warn("qti-round: NaN input results in NULL"),null):isFinite(n)?Math.floor(n+.5):n===1/0?1/0:n===-1/0?-1/0:null}}]);return e}(oa);customElements.define("qti-round",uh);var up=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.roundingMode="significantFigures";t.figures=3;return t}d(e,[{key:"getResult",value:function t(){if(this.children.length!==1)return console.error("qti-round-to must have exactly one child expression"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=t[0];if(e.cardinality!=="single")return console.error("qti-round-to requires single cardinality"),null;if(Array.isArray(e.value))return console.error("qti-round-to unexpected array value for single cardinality"),null;if(e.value===null||e.value===void 0)return null;if(e.baseType!=="integer"&&e.baseType!=="float")return console.error("qti-round-to requires numerical base-type"),null;var n=parseFloat(e.value);return isNaN(n)?null:isFinite(n)?this.figures<0?(console.error("qti-round-to: figures must be non-negative"),null):this.roundingMode==="significantFigures"&&this.figures<1?(console.error("qti-round-to: figures must be at least 1 for significantFigures mode"),null):this.roundingMode==="decimalPlaces"?this._roundToDecimalPlaces(n,this.figures):this._roundToSignificantFigures(n,this.figures):n===1/0?1/0:n===-1/0?-1/0:null}},{key:"_roundToDecimalPlaces",value:function t(t,e){if(t===0)return 0;var n=Math.pow(10,e);return Math.round(t*n)/n}},{key:"_roundToSignificantFigures",value:function t(t,e){if(t===0)return 0;var n=Math.floor(Math.log10(Math.abs(t))),r=Math.pow(10,e-n-1);return Math.round(t*r)/r}}]);return e}(oa);nJ([n({type:String,attribute:"rounding-mode"})],up.prototype,"roundingMode",2),nJ([n({type:Number})],up.prototype,"figures",2);customElements.define("qti-round-to",up);var uf=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.toleranceMode="exact";return t}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),!1):oh.compareSingleValues(e.value,n.value,e.baseType)}return console.error("unexpected number of children in qti-equal"),null}}]);return e}(oa);nJ([n({type:String})],uf.prototype,"toleranceMode",2);customElements.define("qti-equal",uf);var uv=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===0)return console.error("qti-gcd must have at least one child expression"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=[];var n=true,r=false,o=undefined;try{for(var a=t[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;if(l.baseType!=="integer")return console.error("qti-gcd requires integer base-type"),null;if(l.value===null||l.value===void 0)return null;if(l.cardinality==="single"){if(Array.isArray(l.value))return console.error("qti-gcd unexpected array value for single cardinality"),null;var u=parseInt(l.value,10);if(isNaN(u))return console.error("qti-gcd non-numerical value"),null;e.push(u)}else if(l.cardinality==="multiple"||l.cardinality==="ordered"){if(!Array.isArray(l.value))return console.error("qti-gcd expected array value for multiple/ordered cardinality"),null;var c=true,d=false,h=undefined;try{for(var p=l.value[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;if(v==null)return null;var m=parseInt(v,10);if(isNaN(m))return console.error("qti-gcd non-numerical value"),null;e.push(m)}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}}else return console.error("qti-gcd unsupported cardinality"),null}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return e.length===0?null:this._calculateGcd(e)}},{key:"_calculateGcd",value:function t(t){if(t.length===0)return 0;if(t.length===1)return Math.abs(t[0]);var e=Math.abs(t[0]);for(var n=1;n<t.length&&(e=this._gcdTwoNumbers(e,Math.abs(t[n])),e!==1);n++);return e}},{key:"_gcdTwoNumbers",value:function t(t,e){if(t===0&&e===0)return 0;if(t===0)return e;if(e===0)return t;for(;e!==0;){var n=e;e=t%e,t=n}return t}}]);return e}(oa);customElements.define("qti-gcd",uv);var um=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if((e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+e.value>+n.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}}]);return e}(oa);customElements.define("qti-gt",um);var ug=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return(e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+e.value>=+n.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}}]);return e}(os);customElements.define("qti-gte",ug);var uy=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return null}}]);return e}(oa);customElements.define("qti-null",uy);var ub=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===1){var t=this.getVariables();if(!t)return!0;var e=t[0].value;return e==null||e==null||e===""}return console.error("unexpected number of children in qti Null"),null}}]);return e}(oa);customElements.define("qti-is-null",ub);var u_=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getAttribute("field-identifier");if(!t)throw new Error("field-identifier attribute is required");if(Array.from(this.children).length!==1)throw new Error("qti-field-value must have exactly one child expression");var e=this.getVariables()[0];if(e.baseType!=="record"||e.value===null)throw new Error("qti-field-value child expression must return a record");var n=e.value[t];if(n===void 0)throw new Error('Field "'.concat(t,'" not found in record'));return n}}]);return e}(oa);customElements.define("qti-field-value",u_);var uq=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if((e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+e.value<+n.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}}]);return e}(oa);customElements.define("qti-lt",uq);var uk=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return(e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+e.value<=+n.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}}]);return e}(os);customElements.define("qti-lte",uk);var uw=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this;var e=this.context.variables.find(function(e){return e.identifier===t.identifier});if(!e||!e.mapping)return console.error("Response ".concat(this.identifier," can not be found")),null;var n=e.mapping,r=Array.isArray(e.value)?e.value:[e.value],o=0;var a=true,s=false,l=undefined;try{var u=function(){var t=d.value;var r=n.mapEntries.filter(function(n){return e.baseType==="string"&&!n.caseSensitive?oh.compareSingleValues(n.mapKey.toLowerCase(),t.toLowerCase(),e.baseType):oh.compareSingleValues(n.mapKey,t,e.baseType)}),a=r.reduce(function(t,e){return t.mappedValue>e.mappedValue?t:e},r.length>0?r[0]:{mapKey:null,mappedValue:null});a===null||a.mappedValue==null?o+=n.defaultValue:o+=a.mappedValue};for(var c=r[Symbol.iterator](),d;!(a=(d=c.next()).done);a=true)u()}catch(t){s=true;l=t}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(s){throw l}}}return(n===null||n===void 0?void 0:n.lowerBound)!==null&&(n===null||n===void 0?void 0:n.lowerBound)!==void 0&&(o=Math.max(n.lowerBound,o)),(n===null||n===void 0?void 0:n.upperBound)!==null&&(n===null||n===void 0?void 0:n.upperBound)!==void 0&&(o=Math.min(n.upperBound,o)),o}}]);return e}(oa);nJ([n({type:String})],uw.prototype,"identifier",2);customElements.define("qti-map-response",uw);var ux=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this;var e=this.context.variables.find(function(e){return e.identifier===t.identifier});if(!e)return console.warn("Response ".concat(this.identifier," cannot be found")),null;var n=e.areaMapping;if(!n)return console.warn("Area mapping not found for response ".concat(this.identifier)),null;var r=Array.isArray(e.value)?e.value:[e.value];if(!r||r.length===0)return console.warn("No candidate responses for response ".concat(this.identifier)),null;var o=0,a=new Set;var s=true,l=false,u=undefined,c=true,d=false,h=undefined;try{for(var p=r[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;try{for(var m=n.areaMapEntries[Symbol.iterator](),g;!(s=(g=m.next()).done);s=true){var y=g.value;if(a.has(y.coords))continue;var b;oh.isPointInArea(v,"".concat(y.shape,",").concat(y.coords),e.baseType)&&(o+=(b=y.mappedValue)!==null&&b!==void 0?b:0,a.add(y.coords))}}catch(t){l=true;u=t}finally{try{if(!s&&m.return!=null){m.return()}}finally{if(l){throw u}}}}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}return a.size<r.length&&(o+=n.defaultValue),n.lowerBound!=null&&(o=Math.max(n.lowerBound,o)),n.upperBound!=null&&(o=Math.min(n.upperBound,o)),o}}]);return e}(oa);nJ([n({type:String})],ux.prototype,"identifier",2);customElements.define("qti-map-response-point",ux);var uC=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.name="";return t}d(e,[{key:"getResult",value:function t(){if(!this.name)return console.error("qti-math-operator requires a name attribute"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=[];var n=true,r=false,o=undefined;try{for(var a=t[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;if(l.cardinality!=="single")return console.error("qti-math-operator requires single cardinality"),null;if(Array.isArray(l.value))return console.error("qti-math-operator unexpected array value for single cardinality"),null;if(l.value===null||l.value===void 0)return null;if(l.baseType!=="integer"&&l.baseType!=="float")return console.error("qti-math-operator requires numerical base-type"),null;var u=parseFloat(l.value);if(isNaN(u))return console.error("qti-math-operator non-numerical value"),null;e.push(u)}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return this._performOperation(this.name,e)}},{key:"_performOperation",value:function t(t,e){try{switch(t.toLowerCase()){case"sin":return e.length!==1?null:Math.sin(e[0]);case"cos":return e.length!==1?null:Math.cos(e[0]);case"tan":return e.length!==1?null:Math.tan(e[0]);case"asin":return e.length!==1||e[0]<-1||e[0]>1?null:Math.asin(e[0]);case"acos":return e.length!==1||e[0]<-1||e[0]>1?null:Math.acos(e[0]);case"atan":return e.length!==1?null:Math.atan(e[0]);case"sinh":return e.length!==1?null:Math.sinh(e[0]);case"cosh":return e.length!==1?null:Math.cosh(e[0]);case"tanh":return e.length!==1?null:Math.tanh(e[0]);case"log":return e.length!==1||e[0]<=0?null:Math.log(e[0]);case"ln":return e.length!==1||e[0]<=0?null:Math.log(e[0]);case"log10":return e.length!==1||e[0]<=0?null:Math.log10(e[0]);case"exp":return e.length!==1?null:Math.exp(e[0]);case"abs":return e.length!==1?null:Math.abs(e[0]);case"sqrt":return e.length!==1||e[0]<0?null:Math.sqrt(e[0]);case"signum":return e.length!==1?null:Math.sign(e[0]);case"floor":return e.length!==1?null:Math.floor(e[0]);case"ceil":return e.length!==1?null:Math.ceil(e[0]);case"round":return e.length!==1?null:Math.round(e[0]);case"atan2":return e.length!==2?null:Math.atan2(e[0],e[1]);case"pow":{if(e.length!==2)return null;var n=e[0],r=e[1];return n===0&&r<=0||n<0&&!Number.isInteger(r)?null:Math.pow(n,r)}case"log_base":{if(e.length!==2)return null;var o=e[0],a=e[1];return o<=0||a<=0||a===1?null:Math.log(o)/Math.log(a)}case"mod":return e.length!==2||e[1]===0?null:e[0]%e[1];case"max":var s;return e.length<1?null:(s=Math).max.apply(s,L(e));case"min":var l;return e.length<1?null:(l=Math).min.apply(l,L(e));default:return console.error('qti-math-operator: unknown operation "'.concat(t,'"')),null}}catch(e){return console.error('qti-math-operator: error performing operation "'.concat(t,'":'),e),null}}}]);return e}(oa);nJ([n({type:String})],uC.prototype,"name",2);customElements.define("qti-math-operator",uC);var uE=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),n=t[0],r=t[1];return e.match(n,r)}return console.error("unexpected number of children in match"),null}}],[{key:"match",value:function t(t,e){if(t.value===null)return!1;switch(e.cardinality){case"single":var n;return Array.isArray(t.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):oh.compareSingleValues((n=t.value)===null||n===void 0?void 0:n.toString(),e.value.toString(),e.baseType);case"ordered":{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;for(var r=0;r<t.value.length;r++)if(!oh.compareSingleValues(e.value[r],t.value[r],e.baseType))return!1;return!0}case"multiple":{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;var o=0;var a=true,s=false,l=undefined;try{for(var u=e.value[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=null,p=L(t.value);var f=true,v=false,m=undefined;try{for(var g=p[Symbol.iterator](),y;!(f=(y=g.next()).done);f=true){var b=y.value;if(oh.compareSingleValues(d,b,e.baseType)){h=b;break}}}catch(t){v=true;m=t}finally{try{if(!f&&g.return!=null){g.return()}}finally{if(v){throw m}}}if(h!==null)p.splice(p.indexOf(h),1);else return!1;o++}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}}]);return e}(oa);customElements.define("qti-match",uE);var uS=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");var e=T(t,2),n=e[0],r=e[1];if(n.baseType===r.baseType||n.baseType==="integer"&&r.baseType==="float"||n.baseType==="float"&&r.baseType==="integer"||console.warn("Which must both have the same base-type"),r.cardinality==="multiple"||r.cardinality==="ordered"||console.warn("and the second must be a multiple or ordered container"),(n.baseType==="float"||r.baseType==="float")&&console.warn("The member operator should not be used on sub-expressions with a base-type of float"),(n.baseType==="duration"||r.baseType==="duration")&&console.warn("It must not be used on sub-expressions with a base-type of duration"),n.value===null||r.value===null)return null;var o=n.value;return r.value.includes(o)}}]);return e}(oa);customElements.define("qti-member",uS);var uA=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){console.debug("qti-multiple getResult called",this.innerHTML);var t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;var e=true,n=false,r=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;if(s.cardinality!=="multiple"&&s.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[]}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}return t}}]);return e}(oa);customElements.define("qti-multiple",uA);var uR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nT(),p(f(e.prototype),"render",this).call(this))}},{key:"getResult",value:function t(){return!this.firstElementChild.calculate()}}]);return e}(oa);customElements.define("qti-not",uR);var uI=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return Array.from(this.children).map(function(t){var e=t;if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=e.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).some(function(t){return typeof t=="boolean"&&t})}}]);return e}(os);customElements.define("qti-or",uI);var uT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;var e=true,n=false,r=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;if(s.cardinality!=="ordered"&&s.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[]}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}return t}}]);return e}(oa);customElements.define("qti-ordered",uT);var uP=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length!==2)return console.error("qti-power must have exactly two child expressions"),null;var t=this.getVariables();if(!t||t.length!==2)return null;var e=T(t,2),n=e[0],r=e[1];if(n.cardinality!=="single"||r.cardinality!=="single")return console.error("qti-power requires single cardinality for both expressions"),null;if(Array.isArray(n.value)||Array.isArray(r.value))return console.error("qti-power unexpected array value for single cardinality"),null;if(n.value===null||n.value===void 0||r.value===null||r.value===void 0)return null;if(n.baseType!=="integer"&&n.baseType!=="float"||r.baseType!=="integer"&&r.baseType!=="float")return console.error("qti-power requires numerical base-types"),null;var o=parseFloat(n.value),a=parseFloat(r.value);if(isNaN(o)||isNaN(a))return console.error("qti-power: non-numerical values encountered"),null;if(o===0&&a<=0||o<0&&!Number.isInteger(a))return null;var s;try{s=Math.pow(o,a)}catch(t){return console.error("qti-power: error calculating power:",t),null}if(isNaN(s))return null;if(s===1/0||s===-1/0)return s;if(!isFinite(s)||Math.abs(s)>Number.MAX_VALUE||s!==0&&Math.abs(s)<Number.MIN_VALUE)return null;if(isFinite(s)&&s!==0){var l=Math.floor(Math.log10(Math.abs(s))),u=Math.max(0,14-l),c=Math.pow(10,u);s=Math.round(s*c)/c}return s}}]);return e}(oa);customElements.define("qti-power",uP);var uM=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.context)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return r===null?i_:im(nP(),JSON.stringify(r,null,2))}},{key:"calculate",value:function t(){var t=this;return this.context.variables.find(function(e){return e.identifier===t.identifier})||null}}]);return e}(iD);nJ([n({type:String})],uM.prototype,"identifier",2),nJ([M({context:i8,subscribe:!0}),r()],uM.prototype,"context",2);customElements.define("qti-printed-variable",uM);var uO=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return this.getVariables().reduce(function(t,e){if(e.baseType=="float"||e.baseType=="integer")try{return t*parseFloat(e.value.toString())}catch(t){console.warn("can not convert to number")}else console.warn("has another baseType ".concat(e.baseType));return t},1)}}]);return e}(oa);customElements.define("qti-product",uO);var uL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return this.calculateChildren(Array.from(this.children))}}]);return e}(n$(oa));customElements.define("qti-subtract",uL);var uN=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.caseSensitive="true";return t}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if(e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti string-match"),!1;var r=this.caseSensitive==="true"?e.value:e.value.toLowerCase(),o=this.caseSensitive==="true"?n.value:n.value.toLowerCase();return oh.compareSingleValues(r,o,e.baseType)}return console.error("unexpected number of children in qti-string-match"),null}}]);return e}(oa);nJ([n({type:String,attribute:"case-sensitive"})],uN.prototype,"caseSensitive",2);customElements.define("qti-string-match",uN);var uU=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._expression=new uD(Array.from(t.children));return t}d(e,[{key:"getResult",value:function t(){return this._expression.calculate()}}]);return e}(oa),uD=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.expressions=e}d(t,[{key:"calculate",value:function t(){return this.expressions.filter(function(t){return t.calculate!==void 0}).some(function(t){return t.calculate()===null})?null:this.expressions.map(function(t){var e=t.calculate();return Number.isNaN(e)?(console.error("unexpected value in qti-sum, expected number"),null):Number(e)}).reduce(function(t,e){return t+e},0)}}]);return t}();customElements.define("qti-sum",uU);var uV=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getAttribute("identifier");return this.context.variables.find(function(e){return e.identifier===t}).value}}]);return e}(oa);customElements.define("qti-variable",uV);var u$=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.min=0;t.max=10;t.step=1;return t}d(e,[{key:"getResult",value:function t(){if(this.min>this.max)return console.error("qti-random-integer: min cannot be greater than max"),this.min;if(this.step<=0)return console.error("qti-random-integer: step must be positive"),this.min;var t=[],e=0;for(;;){var n=this.min+this.step*e;if(n>this.max)break;Number.isInteger(n)&&t.push(n),e++}if(t.length===0)return console.warn("qti-random-integer: no valid integer values in range"),Number.isInteger(this.min)?this.min:Math.floor(this.min);var r=Math.floor(Math.random()*t.length);return t[r]}},{key:"getPossibleValues",value:function t(){var t=[];if(this.min>this.max||this.step<=0)return[Number.isInteger(this.min)?this.min:Math.floor(this.min)];var e=0;for(;;){var n=this.min+this.step*e;if(n>this.max)break;Number.isInteger(n)&&t.push(n),e++}return t.length>0?t:[Number.isInteger(this.min)?this.min:Math.floor(this.min)]}}]);return e}(oa);nJ([n({type:Number})],u$.prototype,"min",2),nJ([n({type:Number})],u$.prototype,"max",2),nJ([n({type:Number})],u$.prototype,"step",2);customElements.define("qti-random-integer",u$);var uz=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===1){var e=t[0].value;if(Array.isArray(e)){var n=Math.floor(Math.random()*e.length);return e[n]}return e}return console.error("unexpected number of children in match"),null}}]);return e}(oa);customElements.define("qti-random",uz);var uj=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return e.cardinality!=="single"||!Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),null):t[0].baseType!==t[1].baseType?(console.error("The baseType of the two variables is different"),null):n.value.filter(function(t){return!e.value.includes(t)})}return null}}]);return e}(oa);customElements.define("qti-delete",uj);var uF=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(!this.n)return console.error('qti-index: missing required attribute "n"'),null;if(this.children.length!==1)return console.error("qti-index: must have exactly one child container element"),null;var t=this.getVariables()[0];if(!t)return console.error("qti-index: missing container"),null;var e;if(!isNaN(Number(this.n)))e=Number(this.n);else{var n=this.lookupVariableValue(this.n);if(n===null)return console.error('qti-index: variable "'.concat(this.n,'" is not a valid number')),null;e=Number(n)}if(e<=0||!Number.isInteger(e))return console.error("qti-index: index must be a positive integer"),null;if(t.cardinality==="ordered"){var r=Array.isArray(t.value)?t.value:[t.value];return t.value===null||e>r.length?null:r[e-1]}else return console.error("qti-index: child must have ordered cardinality"),null}},{key:"lookupVariableValue",value:function t(t){var e;var n=(e=this.context.variables.find(function(e){return e.identifier===t}))===null||e===void 0?void 0:e.value;return n===null||isNaN(Number(n))?null:Number(n)}}]);return e}(oa);nJ([n({type:String})],uF.prototype,"n",2),uF=nJ([iz("qti-index")],uF);return nX(n3)}();
1
+ function t(t,e){if(e==null||e>t.length)e=t.length;for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function e(t){if(Array.isArray(t))return t}function n(e){if(Array.isArray(e))return t(e)}function r(t){if(t===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function o(t,e,n,r,o,a,s){try{var l=t[a](s);var u=l.value}catch(t){n(t);return}if(l.done){e(u)}else{Promise.resolve(u).then(r,o)}}function a(t){return function(){var e=this,n=arguments;return new Promise(function(r,a){var s=t.apply(e,n);function l(t){o(s,r,a,l,u,"next",t)}function u(t){o(s,r,a,l,u,"throw",t)}l(undefined)})}}function s(t,e,n){e=f(e);return S(t,V()?Reflect.construct(e,n||[],f(t).constructor):e.apply(t,n))}function l(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}function u(t,e,n){if(V()){u=Reflect.construct}else{u=function t(t,e,n){var r=[null];r.push.apply(r,e);var o=Function.bind.apply(t,r);var a=new o;if(n)I(a,n.prototype);return a}}return u.apply(null,arguments)}function c(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(t,r.key,r)}}function d(t,e,n){if(e)c(t.prototype,e);if(n)c(t,n);return t}function h(t,e,n){if(e in t){Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true})}else{t[e]=n}return t}function p(t,e,n){if(typeof Reflect!=="undefined"&&Reflect.get){p=Reflect.get}else{p=function t(t,e,n){var r=P(t,e);if(!r)return;var o=Object.getOwnPropertyDescriptor(r,e);if(o.get){return o.get.call(n||t)}return o.value}}return p(t,e,n||t)}function f(t){f=Object.setPrototypeOf?Object.getPrototypeOf:function t(t){return t.__proto__||Object.getPrototypeOf(t)};return f(t)}function v(t,e){if(typeof e!=="function"&&e!==null){throw new TypeError("Super expression must either be null or a function")}t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:true,configurable:true}});if(e)I(t,e)}function m(t,e){if(e!=null&&typeof Symbol!=="undefined"&&e[Symbol.hasInstance]){return!!e[Symbol.hasInstance](t)}else{return t instanceof e}}function g(t){return Function.toString.call(t).indexOf("[native code]")!==-1}function y(t){if(typeof Symbol!=="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function b(t,e){var n=t==null?null:typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(n==null)return;var r=[];var o=true;var a=false;var s,l;try{for(n=n.call(t);!(o=(s=n.next()).done);o=true){r.push(s.value);if(e&&r.length===e)break}}catch(t){a=true;l=t}finally{try{if(!o&&n["return"]!=null)n["return"]()}finally{if(a)throw l}}return r}function _(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function q(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))}r.forEach(function(e){h(t,e,n[e])})}return t}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);if(e){r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})}n.push.apply(n,r)}return n}function x(t,e){e=e!=null?e:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(t,Object.getOwnPropertyDescriptors(e))}else{w(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function C(t,e){if(t==null)return{};var n=E(t,e);var r,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o<a.length;o++){r=a[o];if(e.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(t,r))continue;n[r]=t[r]}}return n}function E(t,e){if(t==null)return{};var n={};var r=Object.keys(t);var o,a;for(a=0;a<r.length;a++){o=r[a];if(e.indexOf(o)>=0)continue;n[o]=t[o]}return n}function S(t,e){if(e&&(N(e)==="object"||typeof e==="function")){return e}return r(t)}function A(t,e,n,r){if(typeof Reflect!=="undefined"&&Reflect.set){A=Reflect.set}else{A=function t(t,e,n,r){var o=P(t,e);var a;if(o){a=Object.getOwnPropertyDescriptor(o,e);if(a.set){a.set.call(r,n);return true}else if(!a.writable){return false}}a=Object.getOwnPropertyDescriptor(r,e);if(a){if(!a.writable){return false}a.value=n;Object.defineProperty(r,e,a)}else{h(r,e,n)}return true}}return A(t,e,n,r)}function R(t,e,n,r,o){var a=A(t,e,n,r||t);if(!a&&o){throw new Error("failed to set property")}return n}function I(t,e){I=Object.setPrototypeOf||function t(t,e){t.__proto__=e;return t};return I(t,e)}function T(t,n){return e(t)||b(t,n)||U(t,n)||_()}function P(t,e){while(!Object.prototype.hasOwnProperty.call(t,e)){t=f(t);if(t===null)break}return t}function M(t,e){if(!e){e=t.slice(0)}return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function O(t){return e(t)||y(t)||U(t)||_()}function L(t){return n(t)||y(t)||U(t)||q()}function N(t){"@swc/helpers - typeof";return t&&typeof Symbol!=="undefined"&&t.constructor===Symbol?"symbol":typeof t}function U(e,n){if(!e)return;if(typeof e==="string")return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor)r=e.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return t(e,n)}function D(t){var e=typeof Map==="function"?new Map:undefined;D=function t(t){if(t===null||!g(t))return t;if(typeof t!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof e!=="undefined"){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return u(t,arguments,f(this).constructor)}n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return I(n,t)};return D(t)}function V(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(V=function(){return!!t})()}function $(t,e){var n,r,o,a={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},s=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return s.next=l(0),s["throw"]=l(1),s["return"]=l(2),typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function l(t){return function(e){return u([t,e])}}function u(l){if(n)throw new TypeError("Generator is already executing.");while(s&&(s=0,l[0]&&(a=0)),a)try{if(n=1,r&&(o=l[0]&2?r["return"]:l[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;if(r=0,o)l=[l[0]&2,o.value];switch(l[0]){case 0:case 1:o=l;break;case 4:a.label++;return{value:l[1],done:false};case 5:a.label++;r=l[1];l=[0];continue;case 7:l=a.ops.pop();a.trys.pop();continue;default:if(!(o=a.trys,o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){a=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(l[0]===6&&a.label<o[1]){a.label=o[1];o=l;break}if(o&&a.label<o[2]){a.label=o[2];a.ops.push(l);break}if(o[2])a.ops.pop();a.trys.pop();continue}l=e.call(t,a)}catch(t){l=[6,t];r=0}finally{n=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}}function z(){var t=M(["<slot></slot>"]);z=function e(){return t};return t}function j(){var t=M(['<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\n<xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />\n <xsl:template match="@*|node()">\n <xsl:copy>\n <xsl:apply-templates select="@*|node()"/>\n </xsl:copy>\n </xsl:template>\n\n \x3c!-- remove existing namespaces --\x3e\n <xsl:template match="*">\n \x3c!-- remove element prefix --\x3e\n <xsl:element name="{local-name()}">\n \x3c!-- process attributes --\x3e\n <xsl:for-each select="@*">\n \x3c!-- remove attribute prefix --\x3e\n <xsl:attribute name="{local-name()}">\n <xsl:value-of select="."/>\n </xsl:attribute>\n </xsl:for-each>\n <xsl:apply-templates/>\n </xsl:element>\n</xsl:template>\n</xsl:stylesheet>']);j=function e(){return t};return t}function F(){var t=M(["<slot></slot>"]);F=function e(){return t};return t}function H(){var t=M(["<pre>","</pre>\n <slot></slot>"]);H=function e(){return t};return t}function B(){var t=M(["\n slot {\n display: none;\n }\n "]);B=function e(){return t};return t}function Q(){var t=M(["<slot></slot>"]);Q=function e(){return t};return t}function W(){var t=M(['<slot name="qti-rubric-block"></slot><slot></slot>']);W=function e(){return t};return t}function G(){var t=M([" <slot></slot>"]);G=function e(){return t};return t}function X(){var t=M([" <slot></slot>"]);X=function e(){return t};return t}function J(){var t=M(["<slot></slot>"]);J=function e(){return t};return t}function Y(){var t=M(["<slot @slotchange=","></slot>"]);Y=function e(){return t};return t}function K(){var t=M([' <slot part="feedback" class="feedback ','"></slot> ']);K=function e(){return t};return t}function Z(){var t=M(["\n :host {\n display: block;\n }\n .on {\n display: block;\n }\n .off {\n display: none;\n }\n "]);Z=function e(){return t};return t}function tt(){var t=M([' <slot part="feedback" class="','"></slot> ']);tt=function e(){return t};return t}function te(){var t=M(["\n .on {\n display: inline-block;\n }\n .off {\n display: none;\n }\n "]);te=function e(){return t};return t}function tn(){var t=M(['\n <dialog class="qti-dialog" part="feedback" ?open="','">\n <slot></slot>\n <div style="margin-top: var(--qti-gap-size); text-align: center;">\n <button class="button close-button" @click="','">Close</button>\n </div>\n </dialog>\n ']);tn=function e(){return t};return t}function tr(){var t=M(["\n .qti-dialog {\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1000;\n width: auto;\n max-width: 90%;\n }\n\n .button {\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg-active);\n border: var(--qti-border-active);\n cursor: pointer;\n position: relative;\n display: inline-block;\n }\n\n .button:hover {\n background-color: var(--qti-hover-bg);\n }\n\n .button:disabled {\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n cursor: not-allowed;\n }\n\n .button:focus {\n outline: var(--qti-focus-border-width) solid var(--qti-focus-color);\n }\n "]);tr=function e(){return t};return t}function ti(){var t=M(["\n :host {\n display: block;\n }\n"]);ti=function e(){return t};return t}function to(){var t=M(['<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>']);to=function e(){return t};return t}function ta(){var t=M(["<slot></slot>"]);ta=function e(){return t};return t}function ts(){var t=M(["<slot></slot>"]);ts=function e(){return t};return t}function tl(){var t=M(["<slot></slot>"]);tl=function e(){return t};return t}function tu(){var t=M(["\n :host {\n display: block;\n }\n "]);tu=function e(){return t};return t}function tc(){var t=M(["",""]);tc=function e(){return t};return t}function td(){var t=M(["\n :host {\n display: none;\n }\n "]);td=function e(){return t};return t}function th(){var t=M(["",""]);th=function e(){return t};return t}function tp(){var t=M(["\n :host {\n display: none;\n }\n "]);tp=function e(){return t};return t}function tf(){var t=M(["<slot></slot>"]);tf=function e(){return t};return t}function tv(){var t=M(["\n :host {\n display: none;\n }\n "]);tv=function e(){return t};return t}function tm(){var t=M([""]);tm=function e(){return t};return t}function tg(){var t=M(["\n :host {\n color: gray;\n }\n "]);tg=function e(){return t};return t}function ty(){var t=M(["<slot></slot>"]);ty=function e(){return t};return t}function tb(){var t=M(["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n user-select: none;\n"]);tb=function e(){return t};return t}function t_(){var t=M(["\n background-color: lightgray;\n ",";\n"]);t_=function e(){return t};return t}function tq(){var t=M(["\n cursor: not-allowed;\n opacity: 0.8;\n"]);tq=function e(){return t};return t}function tk(){var t=M(["\n ",";\n border: 1px solid gray;\n"]);tk=function e(){return t};return t}function tw(){var t=M(["<slot></slot>"]);tw=function e(){return t};return t}function tx(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tx=function e(){return t};return t}function tC(){var t=M(["<slot></slot>"]);tC=function e(){return t};return t}function tE(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tE=function e(){return t};return t}function tS(){var t=M(['<option value="','" ?selected=',">","</option>"]);tS=function e(){return t};return t}function tA(){var t=M(['\n <label part="label" for="viewSelect">','</label>\n <select\n part="select"\n id="viewSelect"\n @change=',"\n >\n ","\n </select>\n "]);tA=function e(){return t};return t}function tR(){var t=M([" <slot></slot> "]);tR=function e(){return t};return t}function tI(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tI=function e(){return t};return t}function tT(){var t=M([" <slot></slot> "]);tT=function e(){return t};return t}function tP(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tP=function e(){return t};return t}function tM(){var t=M([' <div @click="','">',"</div> "]);tM=function e(){return t};return t}function tO(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tO=function e(){return t};return t}function tL(){var t=M([""]);tL=function e(){return t};return t}function tN(){var t=M([" "," "]);tN=function e(){return t};return t}function tU(){var t=M([""]);tU=function e(){return t};return t}function tD(){var t=M(["<span>Loading...</span>"]);tD=function e(){return t};return t}function tV(){var t=M(["\n ","\n <slot></slot>\n ","\n "]);tV=function e(){return t};return t}function t$(){var t=M([""]);t$=function e(){return t};return t}function tz(){var t=M(["\n <tr>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n </tr>\n "]);tz=function e(){return t};return t}function tj(){var t=M(["\n <h3>","</h3>\n <table>\n <thead>\n <tr>\n <th>Identifier</th>\n <th>Value</th>\n <th>Cardinality</th>\n <th>Base Type</th>\n <th>Correct Response / Mappings</th>\n </tr>\n </thead>\n <tbody>\n ","\n </tbody>\n </table>\n "]);tj=function e(){return t};return t}function tF(){var t=M(["\n "," ","\n "]);tF=function e(){return t};return t}function tH(){var t=M(["\n table {\n width: 100%;\n border-collapse: collapse;\n margin: 20px 0;\n font-size: 14px;\n text-align: left;\n }\n th,\n td {\n border: 1px solid #ddd;\n padding: 8px;\n }\n th {\n background-color: #f4f4f4;\n font-weight: bold;\n }\n h3 {\n margin-top: 20px;\n font-size: 16px;\n }\n "]);tH=function e(){return t};return t}function tB(){var t=M([""]);tB=function e(){return t};return t}function tQ(){var t=M([" "," "]);tQ=function e(){return t};return t}function tW(){var t=M([" <slot></slot> "]);tW=function e(){return t};return t}function tG(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);tG=function e(){return t};return t}function tX(){var t=M([" <small><pre>","</pre></small> "]);tX=function e(){return t};return t}function tJ(){var t=M(["<small><pre>","</pre></small>"]);tJ=function e(){return t};return t}function tY(){var t=M([" ","\n ",""]);tY=function e(){return t};return t}function tK(){var t=M([""]);tK=function e(){return t};return t}function tZ(){var t=M(["",""]);tZ=function e(){return t};return t}function t0(){var t=M(["",""]);t0=function e(){return t};return t}function t1(){var t=M([""]);t1=function e(){return t};return t}function t2(){var t=M(["<div>","</div>"]);t2=function e(){return t};return t}function t3(){var t=M(["<div>","</div>"]);t3=function e(){return t};return t}function t5(){var t=M([" <slot></slot> "]);t5=function e(){return t};return t}function t4(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);t4=function e(){return t};return t}function t6(){var t=M([""]);t6=function e(){return t};return t}function t8(){var t=M(["<span>Loading...</span>"]);t8=function e(){return t};return t}function t7(){var t=M(["\n ","\n <slot></slot>\n ","\n "]);t7=function e(){return t};return t}function t9(){var t=M(['<option value="','" ?selected=',">\n ","\n </option>"]);t9=function e(){return t};return t}function et(){var t=M(['\n <label part="label" for="modeSelect">','</label>\n <select\n part="select"\n id="modeSelect"\n @change=',"\n >\n ","\n </select>\n "]);et=function e(){return t};return t}function ee(){var t=M(["\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n padding: 0.5rem 1rem;\n border-radius: 0.25rem;\n user-select: none;\n"]);ee=function e(){return t};return t}function en(){var t=M(["\n background-color: lightgray;\n ",";\n"]);en=function e(){return t};return t}function er(){var t=M(["\n cursor: not-allowed;\n opacity: 0.8;\n"]);er=function e(){return t};return t}function ei(){var t=M(["\n ",";\n border: 1px solid gray;\n"]);ei=function e(){return t};return t}function eo(){var t=M([' <div @click="','">',"</div> "]);eo=function e(){return t};return t}function ea(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);ea=function e(){return t};return t}function es(){var t=M([' <div @click="','">',"</div> "]);es=function e(){return t};return t}function el(){var t=M(["\n :host {\n ",";\n }\n :host([disabled]) {\n ",";\n }\n "]);el=function e(){return t};return t}function eu(){var t=M([""]);eu=function e(){return t};return t}function ec(){var t=M(["\n <tr>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n <td>","</td>\n </tr>\n "]);ec=function e(){return t};return t}function ed(){var t=M(["\n <h3>","</h3>\n <table>\n <thead>\n <tr>\n <th>Identifier</th>\n <th>Value</th>\n <th>Cardinality</th>\n <th>Base Type</th>\n <th>Correct Response / Mappings</th>\n </tr>\n </thead>\n <tbody>\n ","\n </tbody>\n </table>\n "]);ed=function e(){return t};return t}function eh(){var t=M(["\n "," ","\n "]);eh=function e(){return t};return t}function ep(){var t=M(["\n table {\n width: 100%;\n border-collapse: collapse;\n margin: 20px 0;\n font-size: 14px;\n text-align: left;\n }\n th,\n td {\n border: 1px solid #ddd;\n padding: 8px;\n }\n th {\n background-color: #f4f4f4;\n font-weight: bold;\n }\n h3 {\n margin-top: 20px;\n font-size: 16px;\n }\n "]);ep=function e(){return t};return t}function ef(){var t=M(["<slot></slot>"]);ef=function e(){return t};return t}function ev(){var t=M(["\n :host {\n display: block; /* necessary to calculate scaling position */\n }\n slot[name='qti-simple-associable-choice'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n\n [part='drop-list'][active] {\n border-color: var(--qti-border-active) !important;\n background-color: var(--qti-bg-active) !important;\n }\n\n [part='drop-list'][enabled] {\n background-color: var(--qti-bg-active) !important;\n }\n\n :host::part(associables-container) {\n display: flex;\n padding: 0.5rem;\n justify-content: space-between;\n background: linear-gradient(\n 180deg,\n rgb(0 0 0 / 0%) calc(50% - 1px),\n var(--qti-border-color-gray) calc(50%),\n rgb(0 0 0 / 0%) calc(50% + 1px)\n );\n }\n"]);ev=function e(){return t};return t}function em(){var t=M(['<div part="associables-container">\n <div name="left','" part="drop-list" class="dl" identifier="droplist','_left"></div>\n <div name="right','" part="drop-list" class="dl" identifier="droplist','_right"></div>\n </div>']);em=function e(){return t};return t}function eg(){var t=M([' <slot name="prompt"></slot>\n <slot name="qti-simple-associable-choice"></slot>\n <div part="drop-container">\n ','\n\n <div role="alert" part="message" id="validation-message"></div>\n </div>']);eg=function e(){return t};return t}function ey(){var t=M(["\n :host {\n display: block;\n }\n\n [part='slot'] {\n display: grid;\n gap: 10px;\n }\n\n /* Define the number of columns dynamically */\n :host([class*='qti-choices-stacking-']) [part='slot'] {\n grid-template-columns: repeat(var(--stacking-count, 1), 1fr);\n }\n\n /* Apply dynamic stacking count based on class */\n :host(.qti-choices-stacking-1) {\n --stacking-count: 1;\n }\n :host(.qti-choices-stacking-2) {\n --stacking-count: 2;\n }\n :host(.qti-choices-stacking-3) {\n --stacking-count: 3;\n }\n :host(.qti-choices-stacking-4) {\n --stacking-count: 4;\n }\n :host(.qti-choices-stacking-5) {\n --stacking-count: 5;\n }\n :host(.qti-choices-stacking-6) {\n --stacking-count: 6;\n }\n\n /* Default slot item layout */\n ::slotted(qti-simple-choice) {\n display: flex;\n align-items: center;\n white-space: normal;\n }\n\n /* Orientation styles */\n :host(.qti-orientation-horizontal) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n }\n\n :host(.qti-orientation-vertical) [part='slot'] {\n grid-auto-flow: row;\n }\n\n /* Vertical and horizontal stacking logic */\n :host(.qti-orientation-vertical[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: dense column;\n grid-auto-columns: 1fr;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: repeat(calc(var(--item-count) / var(--stacking-count)), 1fr);\n }\n\n :host(.qti-orientation-horizontal[class*='qti-choices-stacking-']) [part='slot'] {\n grid-auto-flow: row;\n grid-template-columns: repeat(var(--stacking-count), 1fr);\n grid-template-rows: unset;\n }\n\n /* Ensure even distribution in vertical mode */\n :host(.qti-orientation-vertical) ::slotted(qti-simple-choice:nth-child(even)) {\n grid-row: auto;\n }\n"]);ey=function e(){return t};return t}function eb(){var t=M(['\n <slot part="prompt" name="prompt"></slot>\n <slot part="slot" @slotchange=','></slot>\n <div part="message" role="alert" id="validation-message"></div>\n ']);eb=function e(){return t};return t}function e_(){var t=M(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);e_=function e(){return t};return t}function eq(){var t=M(["<iframe\n width=","\n height=",'\n frameborder="0"\n title="pciContainer"\n id="pciContainer"\n >\n </iframe>\n ',""]);eq=function e(){return t};return t}function ek(){var t=M(["<button ?disabled=",' part="button" @click=',">","</button>"]);ek=function e(){return t};return t}function ew(){var t=M(["\n /* PK: display host as block, else design will be collapsed */\n :host {\n display: block;\n }\n textarea {\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n border: 0;\n }\n"]);ew=function e(){return t};return t}function ex(){var t=M(['<slot name="prompt"></slot\n ><textarea\n part="textarea"\n name="','"\n spellcheck="false"\n autocomplete="off"\n maxlength="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n @blur="','"\n placeholder="','"\n rows="','"\n ?disabled="','"\n ?readonly="','"\n .value=',"\n ></textarea>"]);ex=function e(){return t};return t}function eC(){var t=M(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) {\n flex-direction: row;\n }\n :host(.qti-choices-right) {\n flex-direction: row-reverse;\n }\n /* [part='drops'] , */\n [name='prompt'] {\n width: 100%;\n }\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n"]);eC=function e(){return t};return t}function eE(){var t=M(['<slot name="prompt"> </slot>\n <slot part="drags" name="drags"></slot>\n <slot part="drops"></slot>\n <div role="alert" part="message" id="validation-message"></div>']);eE=function e(){return t};return t}function eS(){var t=M(["\n slot:not([name='prompt']) {\n // position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n ::slotted(qti-associable-hotspot) {\n transform: translate(-50%, -50%);\n }\n line-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n svg {\n position: absolute;\n top: 0px;\n left: 0px;\n }\n"]);eS=function e(){return t};return t}function eA(){var t=M(['\n <line\n part="line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="red"\n stroke-width="3"\n @click=',"\n />\n "]);eA=function e(){return t};return t}function eR(){var t=M(['\n <line\n part="correct-line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-correct)"\n stroke-width="3"\n stroke-dasharray="5,5"\n />\n ']);eR=function e(){return t};return t}function eI(){var t=M(['<line\n part="point"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-border-active)"\n stroke-width="3"\n />']);eI=function e(){return t};return t}function eT(){var t=M(['<slot name="prompt"></slot>\n <line-container>\n <svg\n width=',"\n height=",'\n viewbox="0 0 '," ",'"\n >\n ',"\n ","\n ",'\n </svg>\n <slot></slot>\n </line-container>\n <div role="alert" part="message" id="validation-message"></div>']);eT=function e(){return t};return t}function eP(){var t=M(["\n :host {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n\n :host(.qti-choices-top) {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-bottom) {\n flex-direction: column;\n }\n :host(.qti-choices-left) {\n flex-direction: row-reverse;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n :host(.qti-choices-right) {\n flex-direction: row;\n & [name='drags'] {\n width: 25%;\n }\n & [part='image'] {\n width: 75%;\n }\n }\n [part='image'] {\n display: block;\n position: relative;\n }\n /* [part='drops'] , */\n\n [name='drags'] {\n display: flex;\n align-items: flex-start;\n flex-wrap: wrap;\n flex: 1;\n border: 2px solid transparent;\n padding: 0.3rem;\n border-radius: 0.3rem;\n gap: 0.5rem;\n }\n ::slotted(img) {\n display: inline-block;\n user-select: none;\n pointer-events: none;\n }\n"]);eP=function e(){return t};return t}function eM(){var t=M([' <slot name="prompt"></slot>\n <slot part="image"></slot>\n <slot part="drags" name="drags" class="hover-border"></slot>\n <div role="alert" part="message" id="validation-message"></div>']);eM=function e(){return t};return t}function eO(){var t=M(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n pointer-events: none;\n user-select: none;\n }\n"]);eO=function e(){return t};return t}function eL(){var t=M(['\n <slot name="prompt"></slot>\n <slot></slot>\n <div role="alert" part="message" id="validation-message"></div>\n ']);eL=function e(){return t};return t}function eN(){var t=M(["\n slot:not([name='prompt']) {\n position: relative; /* qti-hotspot-choice relative to the slot */\n display: inline-block;\n width: fit-content; /* hotspots not stretching further if image is at max size */\n line-height: 0; /* remove gaps below image */\n }\n ::slotted(img) {\n /* image not selectable anymore */\n display: block;\n pointer-events: none;\n user-select: none;\n /* width:100%; */\n }\n"]);eN=function e(){return t};return t}function eU(){var t=M(['\n <slot name="prompt"></slot>\n <slot></slot>\n ']);eU=function e(){return t};return t}function eD(){var t=M(['<slot></slot>\n <div part="message" role="alert" id="validation-message"></div>']);eD=function e(){return t};return t}function eV(){var t=M(["\n :host {\n display: inline-block;\n }\n slot {\n display: flex;\n flex-direction: column;\n }\n [role='menu'] {\n position: absolute;\n z-index: 1000;\n }\n .anchor {\n /* anchor-name: --infobox; */\n width: fit-content;\n }\n\n .positionedElement {\n position: absolute;\n /* position-anchor: --infobox; */\n /* top: anchor(bottom); */\n }\n "]);eV=function e(){return t};return t}function e$(){var t=M(['\n <option value="','" ?selected="','">',"</option>\n "]);e$=function e(){return t};return t}function ez(){var t=M(['\n <select part="select" @change="','" ?disabled="','" ?readonly="','">\n ',"\n </select>\n\n ","\n "]);ez=function e(){return t};return t}function ej(){var t=M(["\n slot:not([hidden]) {\n /* slot where the */\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n :host(.qti-choices-top) slot {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) slot {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) slot {\n flex-direction: row;\n }\n :host(.qti-choices-right) slot {\n flex-direction: row-reverse;\n }\n slot[name='prompt'] {\n display: block;\n }\n ::slotted(qti-simple-match-set) {\n /* Make sure the drag and drop container slots have the same width */\n flex: 1;\n }\n"]);ej=function e(){return t};return t}function eF(){var t=M(['<th part="r-header">',"</th>"]);eF=function e(){return t};return t}function eH(){var t=M(['\n <svg\n part="checkmark"\n viewBox="0 0 24 24"\n style="position: absolute; width: 20px; height: 20px; top: 2px; left: 2px; pointer-events: none;"\n >\n <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z" fill="white" />\n </svg>\n ']);eH=function e(){return t};return t}function eB(){var t=M(['<td part="input-cell">\n <div\n class="input-container"\n style="position: relative; width: 24px; height: 24px; margin: 0 auto;"\n >\n <input\n type=',"\n part=","\n name=","\n value=","\n .disabled=","\n @change=","\n @click=","\n />\n ","\n </div>\n </td>"]);eB=function e(){return t};return t}function eQ(){var t=M(['<tr part="row">\n <td part="c-header">',"</td>\n ","\n </tr>"]);eQ=function e(){return t};return t}function eW(){var t=M(['\n <table part="table">\n <tr part="r-header">\n <td></td>\n ',"\n </tr>\n\n ","\n </table>\n "]);eW=function e(){return t};return t}function eG(){var t=M(['\n <slot name="prompt"></slot>\n <slot ?hidden=',"></slot>\n\n ",'\n\n <div role="alert" part="message" id="validation-message"></div>\n ']);eG=function e(){return t};return t}function eX(){var t=M([' <slot name="prompt"></slot>\n <slot></slot>']);eX=function e(){return t};return t}function eJ(){var t=M([""]);eJ=function e(){return t};return t}function eY(){var t=M(["\n [part='drags'] {\n display: flex;\n align-items: flex-start;\n flex: 1;\n flex-wrap: wrap;\n }\n\n [part='drops'] {\n flex: 1;\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n }\n\n :host([orientation='horizontal']) [part='drags'] {\n flex-direction: row;\n }\n :host([orientation='horizontal']) [part='drops'] {\n grid-auto-flow: column;\n }\n :host([orientation='vertical']) [part='drags'] {\n flex-direction: column;\n }\n :host([orientation='vertical']) [part='drops'] {\n grid-auto-flow: row;\n }\n\n [part='drop-list'] {\n display: block;\n flex: 1;\n }\n\n [part='drop-list'][active] {\n border-color: var(--qti-border-active) !important;\n background-color: var(--qti-bg-active) !important;\n }\n\n [part='drop-list'][enabled] {\n background-color: var(--qti-bg-active) !important;\n }\n\n [part='container'] {\n display: flex;\n gap: 0.5rem;\n }\n :host(.qti-choices-top) [part='container'] {\n flex-direction: column;\n }\n :host(.qti-choices-bottom) [part='container'] {\n flex-direction: column-reverse;\n }\n :host(.qti-choices-left) [part='container'] {\n flex-direction: row;\n }\n :host(.qti-choices-right) [part='container'] {\n flex-direction: row-reverse;\n }\n"]);eY=function e(){return t};return t}function eK(){var t=M(['<drop-list role="region" part="drop-list" identifier="droplist','"></drop-list>']);eK=function e(){return t};return t}function eZ(){var t=M([' <slot name="prompt"> </slot>\n <div part="container">\n <slot part="drags"> </slot>\n <div part="drops">\n ',"\n </div>\n </div>"]);eZ=function e(){return t};return t}function e0(){var t=M(["\n ::slotted(qti-interaction-markup) {\n display: none;\n }\n"]);e0=function e(){return t};return t}function e1(){var t=M(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);e1=function e(){return t};return t}function e2(){var t=M(["\n <slot></slot>\n ","\n "]);e2=function e(){return t};return t}function e3(){var t=M(["\n :host {\n display: block;\n width: 100%;\n min-height: 50px;\n }\n .qti-customInteraction {\n display: block;\n width: 100%;\n min-height: 50px;\n }\n "]);e3=function e(){return t};return t}function e5(){var t=M(["<slot></slot>"]);e5=function e(){return t};return t}function e4(){var t=M(["\n :host {\n display: block;\n }\n ::slotted(img) {\n position: absolute;\n cursor: move;\n user-select: none;\n left: 50%;\n transform: translateX(-50%);\n }\n "]);e4=function e(){return t};return t}function e6(){var t=M(["<slot></slot>"]);e6=function e(){return t};return t}function e8(){var t=M(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);e8=function e(){return t};return t}function e7(){var t=M(['\n <button\n part="point','"\n style=','\n aria-label="Remove point at ','"\n ?disabled=',"\n @click=","\n ></button>\n "]);e7=function e(){return t};return t}function e9(){var t=M(["<div\n style=",'\n data-coord="','"\n alt=','\n data-shape="','"\n ></div>']);e9=function e(){return t};return t}function nt(){var t=M([' <slot name="prompt"></slot>\n <point-container>\n ',"\n ","\n <slot></slot>\n </point-container>"]);nt=function e(){return t};return t}function ne(){var t=M(["\n :host {\n display: block;\n }\n point-container {\n display: block;\n position: relative;\n width: fit-content;\n }\n\n ::slotted(img) {\n max-width: 100%;\n height: auto;\n display: block;\n }\n "]);ne=function e(){return t};return t}function nn(){var t=M(["\n :host {\n display: block;\n --show-bounds: true;\n --show-ticks: true;\n --show-value: true;\n }\n\n [part='slider'] {\n margin-left: 2rem; /* mx-8 */\n margin-right: 2rem;\n padding-bottom: 1rem; /* pb-4 */\n padding-top: 1.25rem; /* pt-5 */\n }\n\n [part='bounds'] {\n display: flex;\n width: 100%;\n justify-content: space-between;\n margin-bottom: 0.5rem; /* mb-2 */\n }\n\n [part='ticks'] {\n margin-left: 0.125rem; /* mx-0.5 */\n margin-right: 0.125rem;\n margin-bottom: 0.25rem; /* mb-1 */\n height: 0.5rem; /* h-2 */\n background: linear-gradient(to right, var(--qti-border-color) var(--qti-border-thickness), transparent 1px) repeat-x\n 0 center / calc(calc(100% - var(--qti-border-thickness)) / ((var(--max) - var(--min)) / var(--step))) 100%;\n }\n\n [part='rail'] {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n height: 0.375rem; /* h-1.5 */\n width: 100%;\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n border: 1px solid #d1d5db; /* border-gray-300 */\n background-color: #e5e7eb; /* bg-gray-200 */\n }\n\n [part='knob'] {\n background-color: var(--qti-bg-active);\n border: 2px solid var(--qti-border-active);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage);\n }\n [part='knob-correct'] {\n background-color: var(--qti-correct-light);\n border: 2px solid var(--qti-correct);\n position: relative;\n height: 1rem; /* h-4 */\n width: 1rem; /* w-4 */\n transform-origin: center;\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 9999px; /* rounded-full */\n left: var(--value-percentage-correct);\n }\n\n [part='value'] {\n position: absolute;\n bottom: 2rem; /* bottom-8 */\n left: 0.5rem; /* left-2 */\n transform: translateX(-50%);\n cursor: pointer;\n border-radius: 0.25rem; /* rounded */\n background-color: #f3f4f6; /* bg-gray-100 */\n padding: 0.25rem 0.5rem; /* px-2 py-1 */\n text-align: center;\n color: #6b7280; /* text-gray-500 */\n }\n"]);nn=function e(){return t};return t}function nr(){var t=M(['\n <div id="knob-correct" part="knob-correct">\n <div id="value" part="value">',"</div>\n </div>\n "]);nr=function e(){return t};return t}function ni(){var t=M(['\n <slot name="prompt"></slot>\n <div id="slider" part="slider">\n <div id="bounds" part="bounds">\n <div>',"</div>\n <div>",'</div>\n </div>\n\n <div id="ticks" part="ticks"></div>\n\n <div id="rail" part="rail" @mousedown='," @touchstart=",'>\n <div id="knob" part="knob">\n <div id="value" part="value">',"</div>\n </div>\n\n ","\n </div>\n </div>\n "]);ni=function e(){return t};return t}function no(){var t=M(["\n :host {\n display: inline-block;\n }\n\n :host(.qti-input-width-1) [part='input'] {\n width: 1.1rem;\n min-width: 1.1rem;\n }\n\n :host(.qti-input-width-2) [part='input'] {\n width: 2.3rem;\n min-width: 2.3rem;\n }\n\n :host(.qti-input-width-3) [part='input'] {\n width: 3.3rem;\n min-width: 3.3rem;\n }\n\n :host(.qti-input-width-4) [part='input'] {\n width: 4.2rem;\n min-width: 4.2rem;\n }\n\n :host(.qti-input-width-6) [part='input'] {\n width: 6.6rem;\n min-width: 6.6rem;\n }\n\n :host(.qti-input-width-10) [part='input'] {\n width: 8rem;\n min-width: 8rem;\n }\n\n :host(.qti-input-width-15) [part='input'] {\n width: 12rem;\n min-width: 12rem;\n }\n\n :host(.qti-input-width-20) [part='input'] {\n width: 17rem;\n min-width: 17rem;\n }\n\n :host(.qti-input-width-25) [part='input'] {\n width: 20rem;\n min-width: 20rem;\n }\n\n :host(.qti-input-width-30) [part='input'] {\n width: 24rem;\n min-width: 24rem;\n }\n\n :host(.qti-input-width-35) [part='input'] {\n width: 28rem;\n min-width: 28rem;\n }\n\n :host(.qti-input-width-40) [part='input'] {\n width: 32rem;\n min-width: 32rem;\n }\n\n :host(.qti-input-width-45) [part='input'] {\n width: 36rem;\n min-width: 36rem;\n }\n\n :host(.qti-input-width-50) [part='input'] {\n width: 40rem;\n min-width: 40rem;\n }\n\n :host(.qti-input-width-72) [part='input'] {\n width: 57rem;\n min-width: 57rem;\n }\n\n :host {\n position: relative;\n }\n input {\n anchor-name: --text-entry-input;\n z-index: 100;\n position: relative;\n }\n\n [part='correct'] {\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background-color: var(--qti-bg);\n z-index: 0;\n position: absolute;\n left: 0;\n right: 0;\n position-anchor: --text-entry-input;\n bottom: anchor(top);\n left: anchor(left);\n /* opacity: 1; */\n transition: all 1s;\n\n @starting-style {\n display: grid;\n /* opacity: 0; */\n bottom: 0;\n }\n }\n"]);no=function e(){return t};return t}function na(){var t=M(['<div part="correct">',"</div>"]);na=function e(){return t};return t}function ns(){var t=M(['\n <input\n part="input"\n name="','"\n spellcheck="false"\n autocomplete="off"\n @blur="','"\n @keydown="','"\n @keyup="','"\n @change="','"\n type="','"\n placeholder="','"\n .value="','"\n pattern="','"\n maxlength=','\n ?disabled="','"\n ?readonly="','"\n />\n ',"\n "]);ns=function e(){return t};return t}function nl(){var t=M(['\n <div>\n <slot name="prompt"></slot>\n <input type="file" @change="','" ?disabled="','" ?readonly="','" />\n </div>\n ']);nl=function e(){return t};return t}function nu(){var t=M(["\n :host {\n display: block;\n margin: 1em 0;\n }\n input[type='file'] {\n display: block;\n margin-top: 0.5em;\n }\n "]);nu=function e(){return t};return t}function nc(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);nc=function e(){return t};return t}function nd(){var t=M(["<slot></slot>"]);nd=function e(){return t};return t}function nh(){var t=M(["\n :host {\n display: inline-flex;\n user-select: none;\n }\n "]);nh=function e(){return t};return t}function np(){var t=M([' <slot name="drags"></slot>']);np=function e(){return t};return t}function nf(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);nf=function e(){return t};return t}function nv(){var t=M(["\n :host {\n display: block;\n cursor: pointer;\n }\n "]);nv=function e(){return t};return t}function nm(){var t=M([" <slot></slot> "]);nm=function e(){return t};return t}function ng(){var t=M(['<div part="ch"><div part="cha"></div></div>\n <slot></slot> ']);ng=function e(){return t};return t}function ny(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);ny=function e(){return t};return t}function nb(){var t=M(['\n <slot part="slot"></slot>\n <slot part="dropslot" name="qti-simple-associable-choice"></slot>\n ']);nb=function e(){return t};return t}function n_(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n }\n slot {\n width: 100%;\n display: block;\n }\n slot[name='qti-simple-associable-choice'] {\n width: auto;\n }\n "]);n_=function e(){return t};return t}function nq(){var t=M(['<div id="label">',"</div>"]);nq=function e(){return t};return t}function nk(){var t=M(['<div part="ch">\n <div part="cha"></div>\n </div>\n ','\n <slot part="slot"></slot>']);nk=function e(){return t};return t}function nw(){var t=M(["\n :host {\n display: flex;\n align-items: center;\n user-select: none;\n }\n slot {\n width: 100%;\n display: flex;\n align-items: center;\n }\n [part='ch'] {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n }\n "]);nw=function e(){return t};return t}function nx(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);nx=function e(){return t};return t}function nC(){var t=M([' <slot name="drags"></slot> ']);nC=function e(){return t};return t}function nE(){var t=M(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);nE=function e(){return t};return t}function nS(){var t=M(["<slot></slot>"]);nS=function e(){return t};return t}function nA(){var t=M(["<slot></slot>"]);nA=function e(){return t};return t}function nR(){var t=M(["<slot></slot>"]);nR=function e(){return t};return t}function nI(){var t=M(["",""]);nI=function e(){return t};return t}function nT(){var t=M(["",""]);nT=function e(){return t};return t}function nP(){var t=M(["",""]);nP=function e(){return t};return t}var QtiComponents=function(){var t=function t(){var t,e;return{promise:new Promise(function(n,r){t=n,e=r}),resolve:t,reject:e}};var e=function t(t,e){if(!ii(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return r4!==void 0?r4.createHTML(e):e};var n=function t(t){return function(e,n){return(typeof n==="undefined"?"undefined":N(n))=="object"?iF(t,e,n):function(t,e,n){var r=e.hasOwnProperty(n);return e.constructor.createProperty(n,t),r?Object.getOwnPropertyDescriptor(e,n):void 0}(t,e,n)}};var r=function t(t){return n(x(k({},t),{state:!0,attribute:!1}))};var o=function t(t,e){return function(n,r,o){var a=function(e){var n;var r;return(r=(n=e.renderRoot)===null||n===void 0?void 0:n.querySelector(t))!==null&&r!==void 0?r:null};if(e){var s=(typeof r==="undefined"?"undefined":N(r))=="object"?n:o!==null&&o!==void 0?o:function(){var t=Symbol();return{get:function e(){return this[t]},set:function e(e){this[t]=e}}}(),l=s.get,u=s.set;return iH(n,r,{get:function t(){var t=l.call(this);return t===void 0&&(t=a(this),(t!==null||this.hasUpdated)&&u.call(this,t)),t}})}return iH(n,r,{get:function t(){return a(this)}})}};var u=function t(t){return function(e,n){var r=t!==null&&t!==void 0?t:{},o=r.slot,a=r.selector,s="slot"+(o?"[name=".concat(o,"]"):":not([name])");return iH(e,n,{get:function e(){var e;var n;var r=(e=this.renderRoot)===null||e===void 0?void 0:e.querySelector(s),o=(n=r===null||r===void 0?void 0:r.assignedElements(t))!==null&&n!==void 0?n:[];return a===void 0?o:o.filter(function(t){return t.matches(a)})}})}};var c=function t(t,e,n){t.querySelectorAll(e).forEach(function(t){var r="".concat(e,"-").concat(n),o=y(t,r);t.replaceWith(o)})};var g=function t(t,e){t.querySelectorAll("*").forEach(function(t){var n=t.classList;n&&n.forEach(function(n){if(n.startsWith("".concat(e,":"))){var r=n.slice("".concat(e,":").length),o="".concat(t.nodeName,"-").concat(r),a=y(t,o);t.replaceWith(a)}})})};var y=function t(t,e){var n=t.ownerDocument.createElement(e);var r=true,o=false,a=undefined;try{for(var s=t.attributes[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;n.setAttribute(u.name,u.value)}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}for(;t.firstChild;)n.appendChild(t.firstChild);return n};var b=function t(t){var e=[];return t.querySelectorAll("qti-assessment-item-ref").forEach(function(t){var n=t.getAttribute("identifier"),r=t.getAttribute("href"),o=t.getAttribute("category");e.push({identifier:n,href:r,category:o})}),e};var _=function t(t,e){return fetch(t,{signal:e}).then(function(t){if(!t.ok)throw new Error("HTTP error! status: ".concat(t.status));return t.text()}).then(function(t){return new DOMParser().parseFromString(t,"text/xml")}).catch(function(t){throw t.name==="AbortError"?t:new Error("Failed to load XML: ".concat(t.message))})};var q=function t(t){return new DOMParser().parseFromString(t,"text/xml")};var w=function t(t){var e=new XSLTProcessor,n=new DOMParser().parseFromString(iQ,"text/xml");return e.importStylesheet(n),e.transformToFragment(t,document)};var E=function t(t,e){e.endsWith("/")||(e+="/"),t.querySelectorAll("[src],[href],[primary-path]").forEach(function(t){var n;var r="";t.getAttribute("src")&&(r="src"),t.getAttribute("href")&&(r="href"),t.getAttribute("primary-path")&&(r="primary-path");var o=(n=t.getAttribute(r))===null||n===void 0?void 0:n.trim();if(!/^(data:|https?:|blob:)/.test(o)){var a=e+encodeURI(o);t.setAttribute(r,a)}})};var S=function t(t){t.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(t){var e=document.createComment(t.textContent);t.replaceChild(e,t.firstChild)})};var A=function t(t){t.querySelectorAll("qti-stylesheet").forEach(function(t){return t.remove()})};var I=function t(t){switch(t){case"qti-choice-interaction":case"qti-order-interaction":return"qti-simple-choice";case"qti-inline-choice-interaction":return"qti-inline-choice";case"qti-match-interaction":return["qti-simple-match-set:first-of-type qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice"];case"qti-gap-match-interaction":return"qti-gap-text";case"qti-associate-interaction":return"qti-simple-associable-choice";default:return null}};var P=function t(t){var e=t.context;return function(t,n){var r=new WeakMap;if((typeof n==="undefined"?"undefined":N(n))=="object")return{get:function e(){return t.get.call(this)},set:function e(e){return r.get(this).setValue(e),t.set.call(this,e)},init:function t(t){return r.set(this,new i2(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer(function(t){r.set(t,new i2(t,{context:e}))});var o=Object.getOwnPropertyDescriptor(t,n),a;if(o===void 0){var s=new WeakMap;a={get:function t(){return s.get(this)},set:function t(t){r.get(this).setValue(t),s.set(this,t)},configurable:!0,enumerable:!0}}else{var l=o.set;a=x(k({},o),{set:function t(t){r.get(this).setValue(t),l===null||l===void 0?void 0:l.call(this,t)}})}return void Object.defineProperty(t,n,a)}}};var M=function t(t){var e=t.context,n=t.subscribe;return function(t,r){(typeof r==="undefined"?"undefined":N(r))=="object"?r.addInitializer(function(){var r=this;new iZ(this,{context:e,callback:function(e){t.set.call(r,e)},subscribe:n})}):t.constructor.addInitializer(function(t){new iZ(t,{context:e,callback:function(e){t[r]=e},subscribe:n})})}};var U=function t(t){return t==null};var V=function t(t){return t.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")};var nM=function t(t,e){return function(n,r){var o=n.connectedCallback,s=n.disconnectedCallback;n.connectedCallback=function(){var n=this;o.call(this);var s=this[r],l=function(e){var r=[],o=[];var a=true,l=false,u=undefined;try{for(var c=e[Symbol.iterator](),d;!(a=(d=c.next()).done);a=true){var h=d.value;h.type==="childList"&&(h.addedNodes.forEach(function(e){var n;var o,a;if(e.nodeType!==1)return;var s=e;var l;((o=s.matches)===null||o===void 0?void 0:o.call(s,t))&&r.push(s),(n=r).push.apply(n,L((l=(a=s.querySelectorAll)===null||a===void 0?void 0:a.call(s,t))!==null&&l!==void 0?l:[]))}),h.removedNodes.forEach(function(e){var n;var r,a;if(e.nodeType!==1)return;var s=e;var l;((r=s.matches)===null||r===void 0?void 0:r.call(s,t))&&o.push(s),(n=o).push.apply(n,L((l=(a=s.querySelectorAll)===null||a===void 0?void 0:a.call(s,t))!==null&&l!==void 0?l:[]))}))}}catch(t){l=true;u=t}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(l){throw u}}}var p=function(t){return Array.from(new Set(t))},f=p(r),v=p(o);(f.length||v.length)&&s.call(n,f,v)},u=new MutationObserver(l);u.observe(this,{childList:!0,subtree:!0});var c=this.shadowRoot?new MutationObserver(l):null;c===null||c===void 0?void 0:c.observe(this.shadowRoot,{childList:!0,subtree:!0}),this.__lqObservers=[u,c].filter(function(t){return!!t}),function(){return a(function(){var n,r,o,a;return $(this,function(l){switch(l.label){case 0:r=(e===null||e===void 0?void 0:e.waitUntilFirstUpdate)&&"updateComplete"in this;if(!r)return[3,2];return[4,this.updateComplete];case 1:r=l.sent();l.label=2;case 2:r;a=L(this.querySelectorAll(t)).concat(L((o=(n=this.shadowRoot)===null||n===void 0?void 0:n.querySelectorAll(t))!==null&&o!==void 0?o:[]));a.length&&s.call(this,a,[]);return[2]}})}).call(n)}()},n.disconnectedCallback=function(){var t;s.call(this),(t=this.__lqObservers)===null||t===void 0?void 0:t.forEach(function(t){return t.disconnect()}),this.__lqObservers=void 0}}};var nO=function t(t,e){var n=k({waitUntilFirstUpdate:!1},e);return function(e,r){var o=e.update,a=Array.isArray(t)?t:[t];e.update=function(t){var e=this;a.forEach(function(o){var a=o;if(t.has(a)){var s=t.get(a),l=e[a];s!==l&&(!n.waitUntilFirstUpdate||e.hasUpdated)&&e[r](s,l)}}),o.call(this,t)}}};var nL=function t(t){this._$AN!==void 0?(sP(this),this._$AM=t,sM(this)):this._$AM=t};var nN=function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;var r=this._$AH,o=this._$AN;if(o!==void 0&&o.size!==0)if(e)if(Array.isArray(r))for(var a=n;a<r.length;a++)sT(r[a],!1),sP(r[a]);else r!=null&&(sT(r,!1),sP(r));else sT(this,t)};var nU=function t(t,e,n,r){var o=n.getAttribute("width")?parseFloat(n.getAttribute("width")):n.naturalWidth,a=n.getAttribute("height")?parseFloat(n.getAttribute("height")):n.naturalHeight;switch(t){case"circle":{if(e.length!==3){console.error("Invalid circle coordinates:",e);return}var s=T(e,3),l=s[0],u=s[1],c=s[2],d=l/o*100,h=u/a*100,p=c/o*100,f=c/a*100;r.style.left=d-p+"%",r.style.top=h-f+"%",r.style.width=2*p+"%",r.style.height=2*f+"%",r.style.borderRadius="50%"}break;case"rect":{if(e.length!==4){console.error("Invalid rectangle coordinates:",e);return}var v=T(e,4),m=v[0],g=v[1],y=v[2],b=v[3],_=m/o*100,q=g/a*100,k=y/o*100,w=b/a*100;r.style.left=_+"%",r.style.top=q+"%",r.style.width=k-_+"%",r.style.height=w-q+"%"}break;case"ellipse":{if(e.length!==4){console.error("Invalid ellipse coordinates:",e);return}var x=T(e,4),C=x[0],E=x[1],S=x[2],A=x[3],R=C/o*100,I=E/a*100,P=S/o*100,M=A/a*100;r.style.left=R-P+"%",r.style.top=I-M+"%",r.style.width=2*P+"%",r.style.height=2*M+"%",r.style.borderRadius="50%"}break;case"poly":{var O,N,U,D;if(e.length<6||e.length%2!==0){console.error("Invalid polygon coordinates:",e);return}var V=[];for(var $=0;$<e.length;$+=2)V.push({x:e[$],y:e[$+1]});var z=(O=Math).min.apply(O,L(V.map(function(t){return t.x}))),j=(N=Math).max.apply(N,L(V.map(function(t){return t.x}))),F=(U=Math).min.apply(U,L(V.map(function(t){return t.y}))),H=(D=Math).max.apply(D,L(V.map(function(t){return t.y}))),B=z/o*100,Q=F/a*100,W=j/o*100,G=H/a*100;r.style.left=B+"%",r.style.top=Q+"%",r.style.width=W-B+"%",r.style.height=G-Q+"%";var X=V.map(function(t){return{x:(t.x-z)/(j-z)*100,y:(t.y-F)/(H-F)*100}}).map(function(t){return"".concat(t.x,"% ").concat(t.y,"%")}).join(",");r.style.clipPath="polygon(".concat(X,")")}break;default:console.error("Unsupported shape: ".concat(t));break}};var nD=function t(t,e){var r=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++){e[r]=arguments[r]}l(this,n);var o;o=s(this,n,L(e));o.identifier="";o.tabIndex=0;o.disabled=!1;o.readonly=!1;o.internals=o.attachInternals();return o}d(n,[{key:"handleDisabledChange",value:function t(t,e){this.tabIndex=e?-1:0,e&&this.blur()}},{key:"connectedCallback",value:function t(){p(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("register-".concat(e),{bubbles:!0,composed:!0}))}},{key:"disconnectedCallback",value:function t(){p(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("unregister-".concat(e),{bubbles:!0,composed:!0}))}},{key:"_onKeyUp",value:function t(t){t.altKey||t.code==="Space"&&(t.preventDefault(),this._activate())}},{key:"_onClick",value:function t(){this.disabled||this.readonly||(this.focus(),this._activate())}},{key:"_activate",value:function t(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent("activate-".concat(e),{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}},{key:"render",value:function t(){return im(z())}}]);return n}(t);return nJ([n({type:String})],r.prototype,"identifier",2),nJ([n({type:Number,reflect:!0,attribute:"tabindex"})],r.prototype,"tabIndex",2),nJ([n({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:lJ})],r.prototype,"disabled",2),nJ([n({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:lJ})],r.prototype,"readonly",2),nJ([nO("disabled",{waitUntilFirstUpdate:!0})],r.prototype,"handleDisabledChange",1),r};var nV=function t(t){return /*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculateChildren",value:function t(t){return t.map(function(t){var e=t;if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=e.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).every(function(t){return typeof t=="boolean"&&t})}}]);return e}(t)};var n$=function t(t){return /*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculateChildren",value:function t(t){var e=t.map(function(t){if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var e=t.calculate();return Number.isNaN(e)?(console.error("Unexpected value in qti-subtract, expected number"),null):Number(e)});return e.some(function(t){return t===null})?(console.error("One or more child expressions returned invalid values"),0):e[0]-e[1]}}]);return e}(t)};var nz;var nj=Object.defineProperty;var nF=Object.getOwnPropertyDescriptor;var nH=Object.getOwnPropertyNames;var nB=Object.prototype.hasOwnProperty;var nQ=function(t){throw TypeError(t)};var nW=function(t,e){for(var n in e)nj(t,n,{get:e[n],enumerable:!0})},nG=function(t,e,n,r){var o=true,a=false,s=undefined;if(e&&(typeof e==="undefined"?"undefined":N(e))=="object"||typeof e=="function")try{var l=function(){var o=c.value;!nB.call(t,o)&&o!==n&&nj(t,o,{get:function(){return e[o]},enumerable:!(r=nF(e,o))||r.enumerable})};for(var u=nH(e)[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(t){a=true;s=t}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return t};var nX=function(t){return nG(nj({},"__esModule",{value:!0}),t)},nJ=function(t,e,n,r){for(var o=r>1?void 0:r?nF(e,n):e,a=t.length-1,s;a>=0;a--)(s=t[a])&&(o=(r?s(e,n,o):s(o))||o);return r&&o&&nj(e,n,o),o};var nY=function(t,e,n){return e.has(t)||nQ("Cannot "+n)};var nK=function(t,e,n){return nY(t,e,"read from private field"),n?n.call(t):e.get(t)},nZ=function(t,e,n){return e.has(t)?nQ("Cannot add the same private member more than once"):m(e,WeakSet)?e.add(t):e.set(t,n)},n0=function(t,e,n,r){return nY(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n},n1=function(t,e,n){return nY(t,e,"access private method"),n};var n2=function(t,e,n,r){return{set _(i){n0(t,e,i,n)},get _(){return nK(t,e,r)}}};var n3={};nW(n3,{Correctness:function(){return or},INITIAL_SESSION_CONTEXT:function(){return i9},INITIAL_TEST_CONTEXT:function(){return oe},Interaction:function(){return oi},IsNullOrUndefined:function(){return U},ItemContainer:function(){return sZ},ItemCorrectResponseMode:function(){return s0},ItemPrintVariables:function(){return s8},ItemShowCandidateCorrection:function(){return s4},ItemShowCorrectResponse:function(){return s6},QtiAnd:function(){return uo},QtiAssessmentItem:function(){return ow},QtiAssessmentItemRef:function(){return oy},QtiAssessmentSection:function(){return o_},QtiAssessmentStimulusRef:function(){return oE},QtiAssessmentStimulusRefConnectedEvent:function(){return oC},QtiAssessmentTest:function(){return oq},QtiAssociableHotspot:function(){return l5},QtiAssociateInteraction:function(){return ln},QtiBaseValue:function(){return ua},QtiChoiceInteraction:function(){return la},QtiCompanionMaterialsInfo:function(){return oS},QtiConditionExpression:function(){return os},QtiContainerSize:function(){return us},QtiContains:function(){return ul},QtiContentBody:function(){return oN},QtiCorrect:function(){return uu},QtiCustomInteraction:function(){return ls},QtiCustomOperator:function(){return oA},QtiDefault:function(){return uc},QtiDelete:function(){return uj},QtiEndAttemptInteraction:function(){return ll},QtiEqual:function(){return uf},QtiEqualRounded:function(){return ud},QtiExpression:function(){return oa},QtiExtendedTextInteraction:function(){return lc},QtiFeedback:function(){return oc},QtiFeedbackBlock:function(){return oR},QtiFeedbackInline:function(){return oT},QtiFieldValue:function(){return u_},QtiGap:function(){return lK},QtiGapImg:function(){return lX},QtiGapMatchInteraction:function(){return lh},QtiGapText:function(){return lY},QtiGcd:function(){return uv},QtiGraphicAssociateInteraction:function(){return lm},QtiGraphicGapMatchInteraction:function(){return ly},QtiGraphicOrderInteraction:function(){return l_},QtiGt:function(){return um},QtiGte:function(){return ug},QtiHotspotChoice:function(){return l3},QtiHotspotInteraction:function(){return lk},QtiHottext:function(){return l0},QtiHottextInteraction:function(){return lw},QtiIndex:function(){return uF},QtiInlineChoice:function(){return lZ},QtiInlineChoiceInteraction:function(){return lE},QtiIsNull:function(){return ub},QtiItem:function(){return s7},QtiItemBody:function(){return oO},QtiLookupOutcomeValue:function(){return l7},QtiLt:function(){return uq},QtiLte:function(){return uk},QtiMapResponse:function(){return uw},QtiMapResponsePoint:function(){return ux},QtiMatch:function(){return uE},QtiMatchInteraction:function(){return lA},QtiMathOperator:function(){return uC},QtiMediaInteraction:function(){return lR},QtiMember:function(){return uS},QtiModalFeedback:function(){return oP},QtiMultiple:function(){return uA},QtiNot:function(){return uR},QtiNull:function(){return uy},QtiOr:function(){return uI},QtiOrderInteraction:function(){return lT},QtiOrdered:function(){return uT},QtiOutcomeDeclaration:function(){return o$},QtiPortableCustomInteraction:function(){return lM},QtiPositionObjectInteraction:function(){return lO},QtiPositionObjectStage:function(){return lL},QtiPower:function(){return uP},QtiPrintedVariable:function(){return uM},QtiProduct:function(){return uO},QtiPrompt:function(){return oL},QtiRandom:function(){return uz},QtiRandomInteger:function(){return u$},QtiResponseCondition:function(){return l9},QtiResponseDeclaration:function(){return oV},QtiResponseElse:function(){return un},QtiResponseElseIf:function(){return ui},QtiResponseIf:function(){return ur},QtiResponseProcessing:function(){return oH},QtiRound:function(){return uh},QtiRoundTo:function(){return up},QtiRubricBlock:function(){return oU},QtiRuleElement:function(){return od},QtiSelectPointInteraction:function(){return lV},QtiSetOutcomeValue:function(){return ut},QtiSetOutcomeValueRule:function(){return ue},QtiSimpleAssociableChoice:function(){return l1},QtiSimpleChoice:function(){return l2},QtiSliderInteraction:function(){return lz},QtiStringMatch:function(){return uN},QtiStylesheet:function(){return oD},QtiSubtract:function(){return uL},QtiSum:function(){return uU},QtiSumExpression:function(){return uD},QtiTest:function(){return om},QtiTestFeedback:function(){return oB},QtiTestPart:function(){return ok},QtiTextEntryInteraction:function(){return lW},QtiUploadInteraction:function(){return lG},QtiVariable:function(){return uV},QtiVariableDeclaration:function(){return oo},ScoringHelper:function(){return oh},TestCheckItem:function(){return sK},TestContainer:function(){return sF},TestEndAttempt:function(){return o1},TestItemLink:function(){return o0},TestNavigation:function(){return oQ},TestNext:function(){return oY},TestPagingButtonsStamp:function(){return sg},TestPrev:function(){return oK},TestPrintContext:function(){return sW},TestPrintVariables:function(){return sH},TestScoringButtons:function(){return sX},TestScoringFeedback:function(){return sY},TestSectionButtonsStamp:function(){return sB},TestSectionLink:function(){return sQ},TestShowCorrectResponse:function(){return o2},TestStamp:function(){return sG},TestView:function(){return oZ},TestViewToggle:function(){return sJ},computedContext:function(){return i5},computedItemContext:function(){return i3},configContext:function(){return i4},convertNumberToUniversalFormat:function(){return ou},decimalSeparator:function(){return ol},getItemByUri:function(){return l6},getManifestInfo:function(){return l4},itemContext:function(){return i8},itemContextVariables:function(){return i6},qtiAndMixin:function(){return nV},qtiContext:function(){return i7},qtiSubtractMixin:function(){return n$},qtiTransformItem:function(){return iW},qtiTransformManifest:function(){return iG},qtiTransformTest:function(){return iX},removeDoubleSlashes:function(){return V},sessionContext:function(){return ot},testContext:function(){return on}});var n5=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.ariaAtomic="",this.ariaAutoComplete="",this.ariaBrailleLabel="",this.ariaBrailleRoleDescription="",this.ariaBusy="",this.ariaChecked="",this.ariaColCount="",this.ariaColIndex="",this.ariaColSpan="",this.ariaCurrent="",this.ariaDescription="",this.ariaDisabled="",this.ariaExpanded="",this.ariaHasPopup="",this.ariaHidden="",this.ariaInvalid="",this.ariaKeyShortcuts="",this.ariaLabel="",this.ariaLevel="",this.ariaLive="",this.ariaModal="",this.ariaMultiLine="",this.ariaMultiSelectable="",this.ariaOrientation="",this.ariaPlaceholder="",this.ariaPosInSet="",this.ariaPressed="",this.ariaReadOnly="",this.ariaRequired="",this.ariaRoleDescription="",this.ariaRowCount="",this.ariaRowIndex="",this.ariaRowSpan="",this.ariaSelected="",this.ariaSetSize="",this.ariaSort="",this.ariaValueMax="",this.ariaValueMin="",this.ariaValueNow="",this.ariaValueText="",this.role="",this.form=null,this.labels=[],this.states=new Set,this.validationMessage="",this.validity={},this.willValidate=!0,this.__host=e}d(t,[{key:"shadowRoot",get:function t(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function t(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function t(){return!0}},{key:"setFormValue",value:function t(){}},{key:"setValidity",value:function t(){}}]);return t}();var n4=function t(t,e,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(t,n):o?o.value=n:e.set(t,n),n},n6=function t(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},n8,n7,n9,rt,re,rn,rr,ri,ro,ra,rs,rl,ru=function(t){var e;return typeof t=="boolean"?t:(e=t===null||t===void 0?void 0:t.capture)!==null&&e!==void 0?e:!1};var rc=/*#__PURE__*/function(){"use strict";function t(){l(this,t);this.__eventListeners=new Map,this.__captureEventListeners=new Map}d(t,[{key:"addEventListener",value:function t(t,e,n){var r=this;var o;if(e==null)return;var a=ru(n)?this.__captureEventListeners:this.__eventListeners,s=a.get(t);if(s===void 0)s=new Map,a.set(t,s);else if(s.has(e))return;var l=(typeof n==="undefined"?"undefined":N(n))=="object"&&n?n:{};(o=l.signal)===null||o===void 0?void 0:o.addEventListener("abort",function(){return r.removeEventListener(t,e,n)}),s.set(e,l!==null&&l!==void 0?l:{})}},{key:"removeEventListener",value:function t(t,e,n){if(e==null)return;var r=ru(n)?this.__captureEventListeners:this.__eventListeners,o=r.get(t);o!==void 0&&(o.delete(e),o.size||r.delete(t))}},{key:"dispatchEvent",value:function t(t){var e=this;var n=[this],r=this.__eventTargetParent;if(t.composed)for(;r;)n.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)n.push(r),r=r.__eventTargetParent;var o=!1,a=!1,s=0,l=null,u=null,c=null,d=t.stopPropagation,h=t.stopImmediatePropagation;Object.defineProperties(t,{target:k({get:function t(){return l!==null&&l!==void 0?l:u}},rh),srcElement:k({get:function e(){return t.target}},rh),currentTarget:k({get:function t(){return c}},rh),eventPhase:k({get:function t(){return s}},rh),composedPath:k({value:function(){return n}},rh),stopPropagation:k({value:function(){o=!0,d.call(t)}},rh),stopImmediatePropagation:k({value:function(){a=!0,h.call(t)}},rh)});var p=function(e,n,r){typeof e=="function"?e(t):typeof(e===null||e===void 0?void 0:e.handleEvent)=="function"&&e.handleEvent(t),n.once&&r.delete(e)},f=function(){return c=null,s=0,!t.defaultPrevented},v=n.slice().reverse();l=!this.__host||!t.composed?this:null;var m=function(t){for(u=e;u.__host&&t.includes(u.__host);)u=u.__host};var g=true,y=false,b=undefined;try{for(var _=v[Symbol.iterator](),q;!(g=(q=_.next()).done);g=true){var w=q.value;!l&&(!u||u===w.__host)&&m(v.slice(v.indexOf(w))),c=w,s=w===t.target?2:1;var x=w.__captureEventListeners.get(t.type);if(x){var C=true,E=false,S=undefined;try{for(var A=x[Symbol.iterator](),R;!(C=(R=A.next()).done);C=true){var I=T(R.value,2),P=I[0],M=I[1];if(p(P,M,x),a)return f()}}catch(t){E=true;S=t}finally{try{if(!C&&A.return!=null){A.return()}}finally{if(E){throw S}}}}if(o)return f()}}catch(t){y=true;b=t}finally{try{if(!g&&_.return!=null){_.return()}}finally{if(y){throw b}}}var O=t.bubbles?n:[this];u=null;var L=true,N=false,U=undefined;try{for(var D=O[Symbol.iterator](),V;!(L=(V=D.next()).done);L=true){var $=V.value;!l&&(!u||$===u.__host)&&m(O.slice(0,O.indexOf($)+1)),c=$,s=$===t.target?2:3;var z=$.__eventListeners.get(t.type);if(z){var j=true,F=false,H=undefined;try{for(var B=z[Symbol.iterator](),Q;!(j=(Q=B.next()).done);j=true){var W=T(Q.value,2),G=W[0],X=W[1];if(p(G,X,z),a)return f()}}catch(t){F=true;H=t}finally{try{if(!j&&B.return!=null){B.return()}}finally{if(F){throw H}}}}if(o)return f()}}catch(t){N=true;U=t}finally{try{if(!L&&D.return!=null){D.return()}}finally{if(N){throw U}}}return f()}}]);return t}(),rd=rc;var rh={__proto__:null};rh.enumerable=!0;Object.freeze(rh);var rp=(ra=/*#__PURE__*/function(){"use strict";function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};l(this,t);if(n8.set(this,!1),n7.set(this,!1),n9.set(this,!1),rt.set(this,!1),re.set(this,Date.now()),rn.set(this,!1),rr.set(this,void 0),ri.set(this,void 0),ro.set(this,void 0),this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,arguments.length===0)throw new Error("The type argument must be specified");if((typeof n==="undefined"?"undefined":N(n))!="object"||!n)throw new Error('The "options" argument must be an object');var r=n.bubbles,o=n.cancelable,a=n.composed;n4(this,n8,!!o,"f"),n4(this,n7,!!r,"f"),n4(this,n9,!!a,"f"),n4(this,rr,"".concat(e),"f"),n4(this,ri,null,"f"),n4(this,ro,!1,"f")}d(t,[{key:"initEvent",value:function t(t,e,n){throw new Error("Method not implemented.")}},{key:"stopImmediatePropagation",value:function t(){this.stopPropagation()}},{key:"preventDefault",value:function t(){n4(this,rt,!0,"f")}},{key:"target",get:function t(){return n6(this,ri,"f")}},{key:"currentTarget",get:function t(){return n6(this,ri,"f")}},{key:"srcElement",get:function t(){return n6(this,ri,"f")}},{key:"type",get:function t(){return n6(this,rr,"f")}},{key:"cancelable",get:function t(){return n6(this,n8,"f")}},{key:"defaultPrevented",get:function t(){return n6(this,n8,"f")&&n6(this,rt,"f")}},{key:"timeStamp",get:function t(){return n6(this,re,"f")}},{key:"composedPath",value:function t(){return n6(this,ro,"f")?[n6(this,ri,"f")]:[]}},{key:"returnValue",get:function t(){return!n6(this,n8,"f")||!n6(this,rt,"f")}},{key:"bubbles",get:function t(){return n6(this,n7,"f")}},{key:"composed",get:function t(){return n6(this,n9,"f")}},{key:"eventPhase",get:function t(){return n6(this,ro,"f")?ra.AT_TARGET:ra.NONE}},{key:"cancelBubble",get:function t(){return n6(this,rn,"f")},set:function t(t){t&&n4(this,rn,!0,"f")}},{key:"stopPropagation",value:function t(){n4(this,rn,!0,"f")}},{key:"isTrusted",get:function t(){return!1}}]);return t}(),n8=new WeakMap,n7=new WeakMap,n9=new WeakMap,rt=new WeakMap,re=new WeakMap,rn=new WeakMap,rr=new WeakMap,ri=new WeakMap,ro=new WeakMap,ra.NONE=0,ra.CAPTURING_PHASE=1,ra.AT_TARGET=2,ra.BUBBLING_PHASE=3,ra);Object.defineProperties(rp.prototype,{initEvent:rh,stopImmediatePropagation:rh,preventDefault:rh,target:rh,currentTarget:rh,srcElement:rh,type:rh,cancelable:rh,defaultPrevented:rh,timeStamp:rh,composedPath:rh,returnValue:rh,bubbles:rh,composed:rh,eventPhase:rh,cancelBubble:rh,stopPropagation:rh,isTrusted:rh});var rf=(rl=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};l(this,e);var r;var o;r=s(this,e,[t,n]),rs.set(r,void 0),n4(r,rs,(o=n===null||n===void 0?void 0:n.detail)!==null&&o!==void 0?o:null,"f");return r}d(e,[{key:"initCustomEvent",value:function t(t,e,n,r){throw new Error("Method not implemented.")}},{key:"detail",get:function t(){return n6(this,rs,"f")}}]);return e}(rp),rs=new WeakMap,rl);Object.defineProperties(rf.prototype,{detail:rh});var rv=rp,rm=rf;var rg;(rg=globalThis.Event)!==null&&rg!==void 0?rg:globalThis.Event=rv;var ry;(ry=globalThis.CustomEvent)!==null&&ry!==void 0?ry:globalThis.CustomEvent=rm;var rb=new WeakMap,r_=function(t){var e=rb.get(t);return e===void 0&&rb.set(t,e=new Map),e},rq=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.__shadowRootMode=null,t.__shadowRoot=null,t.__internals=null;return t}d(e,[{key:"attributes",get:function t(){return Array.from(r_(this)).map(function(t){var e=T(t,2),n=e[0],r=e[1];return{name:n,value:r}})}},{key:"shadowRoot",get:function t(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function t(){return this.constructor.__localName}},{key:"tagName",get:function t(){var t;return(t=this.localName)===null||t===void 0?void 0:t.toUpperCase()}},{key:"setAttribute",value:function t(t,e){r_(this).set(t,String(e))}},{key:"removeAttribute",value:function t(t){r_(this).delete(t)}},{key:"toggleAttribute",value:function t(t,e){if(this.hasAttribute(t)){if(e===void 0||!e)return this.removeAttribute(t),!1}else return e===void 0||e?(this.setAttribute(t,""),!0):!1;return!0}},{key:"hasAttribute",value:function t(t){return r_(this).has(t)}},{key:"attachShadow",value:function t(t){var e={host:this};return this.__shadowRootMode=t.mode,t&&t.mode==="open"&&(this.__shadowRoot=e),e}},{key:"attachInternals",value:function t(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var t=new n5(this);return this.__internals=t,t}},{key:"getAttribute",value:function t(t){var e;return(e=r_(this).get(t))!==null&&e!==void 0?e:null}}]);return e}(rd);var rk=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(rq),rw=rk;var rx;(rx=globalThis.litServerRoot)!==null&&rx!==void 0?rx:globalThis.litServerRoot=Object.defineProperty(new rw,"localName",{get:function t(){return"lit-server-root"}});var rC=/*#__PURE__*/function(){"use strict";function e(){l(this,e);this.__definitions=new Map,this.__reverseDefinitions=new Map,this.__pendingWhenDefineds=new Map}d(e,[{key:"define",value:function t(t,e){var n;if(this.__definitions.has(t))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(t,'" defined. This may have been caused by live reload or hot module replacement in which case it can be safely ignored.\nMake sure to test your application with a production build as repeat registrations will throw in production.'));else throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the name \"".concat(t,'" has already been used with this registry'));if(this.__reverseDefinitions.has(e))throw new Error("Failed to execute 'define' on 'CustomElementRegistry': the constructor has already been used with this registry for the tag name ".concat(this.__reverseDefinitions.get(e)));var r;e.__localName=t,this.__definitions.set(t,{ctor:e,observedAttributes:(r=e.observedAttributes)!==null&&r!==void 0?r:[]}),this.__reverseDefinitions.set(e,t),(n=this.__pendingWhenDefineds.get(t))===null||n===void 0?void 0:n.resolve(e),this.__pendingWhenDefineds.delete(t)}},{key:"get",value:function t(t){var e;return(e=this.__definitions.get(t))===null||e===void 0?void 0:e.ctor}},{key:"getName",value:function t(t){var e;return(e=this.__reverseDefinitions.get(t))!==null&&e!==void 0?e:null}},{key:"upgrade",value:function t(t){throw new Error("customElements.upgrade is not currently supported in SSR. Please file a bug if you need it.")}},{key:"whenDefined",value:function e(e){return a(function(){var n,r;return $(this,function(o){n=this.__definitions.get(e);if(n)return[2,n.ctor];r=this.__pendingWhenDefineds.get(e);return[2,(r||(r=t(),this.__pendingWhenDefineds.set(e,r)),r.promise)]})}).call(this)}}]);return e}(),rE=rC;var rS=new rE;var rA=globalThis,rR=rA.ShadowRoot&&(rA.ShadyCSS===void 0||rA.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,rI=Symbol(),rT=new WeakMap,rP=/*#__PURE__*/function(){"use strict";function t(e,n,r){l(this,t);if(this._$cssResult$=!0,r!==rI)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}d(t,[{key:"styleSheet",get:function t(){var t=this.o,e=this.t;if(rR&&t===void 0){var n=e!==void 0&&e.length===1;n&&(t=rT.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&rT.set(e,t))}return t}},{key:"toString",value:function t(){return this.cssText}}]);return t}(),rM=function(t){return new rP(typeof t=="string"?t:t+"",void 0,rI)},rO=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++){n[r-1]=arguments[r]}var o=t.length===1?t[0]:n.reduce(function(e,n,r){return e+function(t){if(t._$cssResult$===!0)return t.cssText;if(typeof t=="number")return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")}(n)+t[r+1]},t[0]);return new rP(o,t,rI)},rL=function(t,e){var n=true,r=false,o=undefined;if(rR)t.adoptedStyleSheets=e.map(function(t){return m(t,CSSStyleSheet)?t:t.styleSheet});else try{for(var a=e[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;var u=document.createElement("style"),c=rA.litNonce;c!==void 0&&u.setAttribute("nonce",c),u.textContent=l.cssText,t.appendChild(u)}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}},rN=rR||rA.CSSStyleSheet===void 0?function(t){return t}:function(t){return m(t,CSSStyleSheet)?function(t){var e="";var n=true,r=false,o=undefined;try{for(var a=t.cssRules[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;e+=l.cssText}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return rM(e)}(t):t};var rU=Object.is,rD=Object.defineProperty,rV=Object.getOwnPropertyDescriptor,r$=Object.getOwnPropertyNames,rz=Object.getOwnPropertySymbols,rj=Object.getPrototypeOf,rF=globalThis;var rH;(rH=rF.customElements)!==null&&rH!==void 0?rH:rF.customElements=rS;var rB=rF.trustedTypes,rQ=rB?rB.emptyScript:"",rW=rF.reactiveElementPolyfillSupport,rG=function(t,e){return t},rX={toAttribute:function t(t,e){switch(e){case Boolean:t=t?rQ:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute:function t(t,e){var n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},rJ=function(t,e){return!rU(t,e)},rY={attribute:!0,type:String,converter:rX,reflect:!1,useDefault:!1,hasChanged:rJ};var rK,rZ;(rK=Symbol.metadata)!==null&&rK!==void 0?rK:Symbol.metadata=Symbol("metadata"),(rZ=rF.litPropertyMetadata)!==null&&rZ!==void 0?rZ:rF.litPropertyMetadata=new WeakMap;var r0;var r1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._$Ep=void 0,t.isUpdatePending=!1,t.hasUpdated=!1,t._$Em=null,t._$Ev();return t}d(e,[{key:"_$Ev",value:function t(){var t=this;var e;this._$ES=new Promise(function(e){return t.enableUpdating=e}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)===null||e===void 0?void 0:e.forEach(function(e){return e(t)})}},{key:"addController",value:function t(t){var e;var n;((n=this._$EO)!==null&&n!==void 0?n:this._$EO=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)===null||e===void 0?void 0:e.call(t))}},{key:"removeController",value:function t(t){var e;(e=this._$EO)===null||e===void 0?void 0:e.delete(t)}},{key:"_$E_",value:function t(){var t=new Map,e=this.constructor.elementProperties;var n=true,r=false,o=undefined;try{for(var a=e.keys()[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;this.hasOwnProperty(l)&&(t.set(l,this[l]),delete this[l])}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}t.size>0&&(this._$Ep=t)}},{key:"createRenderRoot",value:function t(){var t;var e=(t=this.shadowRoot)!==null&&t!==void 0?t:this.attachShadow(this.constructor.shadowRootOptions);return rL(e,this.constructor.elementStyles),e}},{key:"connectedCallback",value:function t(){var t;var e;(e=this.renderRoot)!==null&&e!==void 0?e:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(t){var e;return(e=t.hostConnected)===null||e===void 0?void 0:e.call(t)})}},{key:"enableUpdating",value:function t(t){}},{key:"disconnectedCallback",value:function t(){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(t){var e;return(e=t.hostDisconnected)===null||e===void 0?void 0:e.call(t)})}},{key:"attributeChangedCallback",value:function t(t,e,n){this._$AK(t,n)}},{key:"_$ET",value:function t(t,e){var n=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,n);if(r!==void 0&&n.reflect===!0){var o;var a=(((o=n.converter)===null||o===void 0?void 0:o.toAttribute)!==void 0?n.converter:rX).toAttribute(e,n.type);this._$Em=t,a==null?this.removeAttribute(r):this.setAttribute(r,a),this._$Em=null}}},{key:"_$AK",value:function t(t,e){var n=this.constructor,r=n._$Eh.get(t);if(r!==void 0&&this._$Em!==r){var o,a;var s=n.getPropertyOptions(r),l=typeof s.converter=="function"?{fromAttribute:s.converter}:((o=s.converter)===null||o===void 0?void 0:o.fromAttribute)!==void 0?s.converter:rX;this._$Em=r;var u=l.fromAttribute(e,s.type);var c;this[r]=(c=u!==null&&u!==void 0?u:(a=this._$Ej)===null||a===void 0?void 0:a.get(r))!==null&&c!==void 0?c:u,this._$Em=null}}},{key:"requestUpdate",value:function t(t,e,n){if(t!==void 0){var r;var o=this.constructor,a=this[t];var s;if(n!==null&&n!==void 0?n:n=o.getPropertyOptions(t),!(((s=n.hasChanged)!==null&&s!==void 0?s:rJ)(a,e)||n.useDefault&&n.reflect&&a===((r=this._$Ej)===null||r===void 0?void 0:r.get(t))&&!this.hasAttribute(o._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}},{key:"C",value:function t(t,e,n,r){var o=n.useDefault,a=n.reflect,s=n.wrapped;var l,u,c;o&&!((l=this._$Ej)!==null&&l!==void 0?l:this._$Ej=new Map).has(t)&&(this._$Ej.set(t,(u=r!==null&&r!==void 0?r:e)!==null&&u!==void 0?u:this[t]),s!==!0||r!==void 0)||(this._$AL.has(t)||(this.hasUpdated||o||(e=void 0),this._$AL.set(t,e)),a===!0&&this._$Em!==t&&((c=this._$Eq)!==null&&c!==void 0?c:this._$Eq=new Set).add(t))}},{key:"_$EP",value:function t(){return a(function(){var t,e,n;return $(this,function(r){switch(r.label){case 0:this.isUpdatePending=!0;r.label=1;case 1:r.trys.push([1,3,,4]);return[4,this._$ES];case 2:r.sent();return[3,4];case 3:t=r.sent();Promise.reject(t);return[3,4];case 4:e=this.scheduleUpdate();n=e!=null;if(!n)return[3,6];return[4,e];case 5:n=r.sent();r.label=6;case 6:return[2,(n,!this.isUpdatePending)]}})}).call(this)}},{key:"scheduleUpdate",value:function t(){return this.performUpdate()}},{key:"performUpdate",value:function t(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var t;if((t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this._$Ep){var e=true,n=false,r=undefined;try{for(var o=this._$Ep[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=T(a.value,2),l=s[0],u=s[1];this[l]=u}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}this._$Ep=void 0}var c=this.constructor.elementProperties;var d=true,h=false,p=undefined;if(c.size>0)try{for(var f=c[Symbol.iterator](),v;!(d=(v=f.next()).done);d=true){var m=T(v.value,2),g=m[0],y=m[1];var b=y.wrapped,_=this[g];b!==!0||this._$AL.has(g)||_===void 0||this.C(g,void 0,y,_)}}catch(t){h=true;p=t}finally{try{if(!d&&f.return!=null){f.return()}}finally{if(h){throw p}}}}var q=!1,k=this._$AL;try{var w;q=this.shouldUpdate(k),q?(this.willUpdate(k),(w=this._$EO)===null||w===void 0?void 0:w.forEach(function(t){var e;return(e=t.hostUpdate)===null||e===void 0?void 0:e.call(t)}),this.update(k)):this._$EM()}catch(t){throw q=!1,this._$EM(),t}q&&this._$AE(k)}},{key:"willUpdate",value:function t(t){}},{key:"_$AE",value:function t(t){var e;(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(t){var e;return(e=t.hostUpdated)===null||e===void 0?void 0:e.call(t)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}},{key:"_$EM",value:function t(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function t(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function t(){return this._$ES}},{key:"shouldUpdate",value:function t(t){return!0}},{key:"update",value:function t(t){var e=this;this._$Eq&&(this._$Eq=this._$Eq.forEach(function(t){return e._$ET(t,e[t])})),this._$EM()}},{key:"updated",value:function t(t){}},{key:"firstUpdated",value:function t(t){}}],[{key:"addInitializer",value:function t(t){var e;this._$Ei(),((e=this.l)!==null&&e!==void 0?e:this.l=[]).push(t)}},{key:"observedAttributes",get:function t(){return this.finalize(),this._$Eh&&L(this._$Eh.keys())}},{key:"createProperty",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rY;if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){var n=Symbol(),r=this.getPropertyDescriptor(t,n,e);r!==void 0&&rD(this.prototype,t,r)}}},{key:"getPropertyDescriptor",value:function t(t,e,n){var r;var o=(r=rV(this.prototype,t))!==null&&r!==void 0?r:{get:function t(){return this[e]},set:function t(t){this[e]=t}},a=o.get,s=o.set;return{get:a,set:function e(e){var r=a===null||a===void 0?void 0:a.call(this);s===null||s===void 0?void 0:s.call(this,e),this.requestUpdate(t,r,n)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function t(t){var e;return(e=this.elementProperties.get(t))!==null&&e!==void 0?e:rY}},{key:"_$Ei",value:function t(){if(this.hasOwnProperty(rG("elementProperties")))return;var t=rj(this);t.finalize(),t.l!==void 0&&(this.l=L(t.l)),this.elementProperties=new Map(t.elementProperties)}},{key:"finalize",value:function t(){if(this.hasOwnProperty(rG("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(rG("properties"))){var t=this.properties,e=L(r$(t)).concat(L(rz(t)));var n=true,r=false,o=undefined;try{for(var a=e[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;this.createProperty(l,t[l])}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}}var u=this[Symbol.metadata];if(u!==null){var c=litPropertyMetadata.get(u);var d=true,h=false,p=undefined;if(c!==void 0)try{for(var f=c[Symbol.iterator](),v;!(d=(v=f.next()).done);d=true){var m=T(v.value,2),g=m[0],y=m[1];this.elementProperties.set(g,y)}}catch(t){h=true;p=t}finally{try{if(!d&&f.return!=null){f.return()}}finally{if(h){throw p}}}}this._$Eh=new Map;var b=true,_=false,q=undefined;try{for(var k=this.elementProperties[Symbol.iterator](),w;!(b=(w=k.next()).done);b=true){var x=T(w.value,2),C=x[0],E=x[1];var S=this._$Eu(C,E);S!==void 0&&this._$Eh.set(S,C)}}catch(t){_=true;q=t}finally{try{if(!b&&k.return!=null){k.return()}}finally{if(_){throw q}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function t(t){var e=[];if(Array.isArray(t)){var n=new Set(t.flat(1/0).reverse());var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;e.unshift(rN(u))}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}else t!==void 0&&e.push(rN(t));return e}},{key:"_$Eu",value:function t(t,e){var n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}}]);return e}((r0=globalThis.HTMLElement)!==null&&r0!==void 0?r0:rw);var r2;r1.elementStyles=[],r1.shadowRootOptions={mode:"open"},r1[rG("elementProperties")]=new Map,r1[rG("finalized")]=new Map,rW===null||rW===void 0?void 0:rW({ReactiveElement:r1}),((r2=rF.reactiveElementVersions)!==null&&r2!==void 0?r2:rF.reactiveElementVersions=[]).push("2.1.1");var r3=globalThis,r5=r3.trustedTypes,r4=r5?r5.createPolicy("lit-html",{createHTML:function(t){return t}}):void 0,r6="$lit$",r8="lit$".concat(Math.random().toFixed(9).slice(2),"$"),r7="?"+r8,r9="<".concat(r7,">"),it=r3.document===void 0?{createTreeWalker:function(){return{}}}:document,ie=function(){return it.createComment("")},ir=function(t){return t===null||(typeof t==="undefined"?"undefined":N(t))!="object"&&typeof t!="function"},ii=Array.isArray,io=function(t){return ii(t)||typeof(t===null||t===void 0?void 0:t[Symbol.iterator])=="function"},ia="[ \n\f\r]",is=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,il=/-->/g,iu=/>/g,ic=RegExp(">|".concat(ia,"(?:([^\\s\"'>=/]+)(").concat(ia,"*=").concat(ia,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),id=/'/g,ih=/"/g,ip=/^(?:script|style|textarea|title)$/i,iv=function(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++){r[o-1]=arguments[o]}return{_$litType$:t,strings:e,values:r}}},im=iv(1),ig=iv(2),iy=iv(3),ib=Symbol.for("lit-noChange"),i_=Symbol.for("lit-nothing"),iq=new WeakMap,ik=it.createTreeWalker(it,129);var iw=function(t,n){var r=t.length-1,o=[],a,s=n===2?"<svg>":n===3?"<math>":"",l=is;for(var u=0;u<r;u++){var c=t[u],d=void 0,h=void 0,p=-1,f=0;for(;f<c.length&&(l.lastIndex=f,h=l.exec(c),h!==null);)f=l.lastIndex,l===is?h[1]==="!--"?l=il:h[1]!==void 0?l=iu:h[2]!==void 0?(ip.test(h[2])&&(a=RegExp("</"+h[2],"g")),l=ic):h[3]!==void 0&&(l=ic):l===ic?h[0]===">"?(l=a!==null&&a!==void 0?a:is,p=-1):h[1]===void 0?p=-2:(p=l.lastIndex-h[2].length,d=h[1],l=h[3]===void 0?ic:h[3]==='"'?ih:id):l===ih||l===id?l=ic:l===il||l===iu?l=is:(l=ic,a=void 0);var v=l===ic&&t[u+1].startsWith("/>")?" ":"";s+=l===is?c+r9:p>=0?(o.push(d),c.slice(0,p)+r6+c.slice(p)+r8+v):c+r8+(p===-2?u:v)}return[e(t,s+(t[r]||"<?>")+(n===2?"</svg>":n===3?"</math>":"")),o]},ix=/*#__PURE__*/function(){"use strict";function t(e,n){var r=e.strings,o=e._$litType$;l(this,t);var a;this.parts=[];var s=0,u=0,c=r.length-1,d=this.parts,h=T(iw(r,o),2),p=h[0],f=h[1];if(this.el=t.createElement(p,n),ik.currentNode=this.el.content,o===2||o===3){var v;var m=this.el.content.firstChild;(v=m).replaceWith.apply(v,L(m.childNodes))}for(;(a=ik.nextNode())!==null&&d.length<c;){if(a.nodeType===1){var g=true,y=false,b=undefined;if(a.hasAttributes())try{for(var _=a.getAttributeNames()[Symbol.iterator](),q;!(g=(q=_.next()).done);g=true){var k=q.value;if(k.endsWith(r6)){var w=f[u++],x=a.getAttribute(k).split(r8),C=/([.?@])?(.*)/.exec(w);d.push({type:1,index:s,name:C[2],strings:x,ctor:C[1]==="."?iR:C[1]==="?"?iI:C[1]==="@"?iT:iA}),a.removeAttribute(k)}else k.startsWith(r8)&&(d.push({type:6,index:s}),a.removeAttribute(k))}}catch(t){y=true;b=t}finally{try{if(!g&&_.return!=null){_.return()}}finally{if(y){throw b}}}if(ip.test(a.tagName)){var E=a.textContent.split(r8),S=E.length-1;if(S>0){a.textContent=r5?r5.emptyScript:"";for(var A=0;A<S;A++)a.append(E[A],ie()),ik.nextNode(),d.push({type:2,index:++s});a.append(E[S],ie())}}}else if(a.nodeType===8)if(a.data===r7)d.push({type:2,index:s});else{var R=-1;for(;(R=a.data.indexOf(r8,R+1))!==-1;)d.push({type:7,index:s}),R+=r8.length-1}s++}}d(t,null,[{key:"createElement",value:function t(t,e){var n=it.createElement("template");return n.innerHTML=t,n}}]);return t}();function iC(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t,r=arguments.length>3?arguments[3]:void 0;var o,a;if(e===ib)return e;var s=r!==void 0?(o=n._$Co)===null||o===void 0?void 0:o[r]:n._$Cl,l=ir(e)?void 0:e._$litDirective$;var u;return(s===null||s===void 0?void 0:s.constructor)!==l&&(s===null||s===void 0?void 0:(a=s._$AO)===null||a===void 0?void 0:a.call(s,!1),l===void 0?s=void 0:(s=new l(t),s._$AT(t,n,r)),r!==void 0?((u=n._$Co)!==null&&u!==void 0?u:n._$Co=[])[r]=s:n._$Cl=s),s!==void 0&&(e=iC(t,s._$AS(t,e.values),s,r)),e}var iE=/*#__PURE__*/function(){"use strict";function t(e,n){l(this,t);this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}d(t,[{key:"parentNode",get:function t(){return this._$AM.parentNode}},{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"u",value:function t(t){var e;var n=this._$AD,r=n.el,o=r.content,a=n.parts,s=((e=t===null||t===void 0?void 0:t.creationScope)!==null&&e!==void 0?e:it).importNode(o,!0);ik.currentNode=s;var l=ik.nextNode(),u=0,c=0,d=a[0];for(;d!==void 0;){if(u===d.index){var h=void 0;d.type===2?h=new iS(l,l.nextSibling,this,t):d.type===1?h=new d.ctor(l,d.name,d.strings,this,t):d.type===6&&(h=new iP(l,this,t)),this._$AV.push(h),d=a[++c]}u!==(d===null||d===void 0?void 0:d.index)&&(l=ik.nextNode(),u++)}return ik.currentNode=it,s}},{key:"p",value:function t(t){var e=0;var n=true,r=false,o=undefined;try{for(var a=this._$AV[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;l!==void 0&&(l.strings!==void 0?(l._$AI(t,l,e),e+=l.strings.length-2):l._$AI(t[e])),e++}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}}}]);return t}(),iS=/*#__PURE__*/function(){"use strict";function t(e,n,r,o){l(this,t);var a;this.type=2,this._$AH=i_,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=r,this.options=o,this._$Cv=(a=o===null||o===void 0?void 0:o.isConnected)!==null&&a!==void 0?a:!0}d(t,[{key:"_$AU",get:function t(){var t;var e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cv}},{key:"parentNode",get:function t(){var t=this._$AA.parentNode,e=this._$AM;return e!==void 0&&(t===null||t===void 0?void 0:t.nodeType)===11&&(t=e.parentNode),t}},{key:"startNode",get:function t(){return this._$AA}},{key:"endNode",get:function t(){return this._$AB}},{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;t=iC(this,t,e),ir(t)?t===i_||t==null||t===""?(this._$AH!==i_&&this._$AR(),this._$AH=i_):t!==this._$AH&&t!==ib&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):io(t)?this.k(t):this._(t)}},{key:"O",value:function t(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}},{key:"T",value:function t(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}},{key:"_",value:function t(t){this._$AH!==i_&&ir(this._$AH)?this._$AA.nextSibling.data=t:this.T(it.createTextNode(t)),this._$AH=t}},{key:"$",value:function t(t){var n;var r=t.values,o=t._$litType$,a=typeof o=="number"?this._$AC(t):(o.el===void 0&&(o.el=ix.createElement(e(o.h,o.h[0]),this.options)),o);if(((n=this._$AH)===null||n===void 0?void 0:n._$AD)===a)this._$AH.p(r);else{var s=new iE(a,this),l=s.u(this.options);s.p(r),this.T(l),this._$AH=s}}},{key:"_$AC",value:function t(t){var e=iq.get(t.strings);return e===void 0&&iq.set(t.strings,e=new ix(t)),e}},{key:"k",value:function e(e){ii(this._$AH)||(this._$AH=[],this._$AR());var n=this._$AH,r,o=0;var a=true,s=false,l=undefined;try{for(var u=e[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;o===n.length?n.push(r=new t(this.O(ie()),this.O(ie()),this,this.options)):r=n[o],r._$AI(d),o++}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}o<n.length&&(this._$AR(r&&r._$AB.nextSibling,o),n.length=o)}},{key:"_$AR",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,e=arguments.length>1?arguments[1]:void 0;var n,r;for((n=(r=this)._$AP)===null||n===void 0?void 0:n.call(r,!1,!0,e);t!==this._$AB;){var o=t.nextSibling;t.remove(),t=o}}},{key:"setConnected",value:function t(t){var e,n;this._$AM===void 0&&(this._$Cv=t,(e=(n=this)._$AP)===null||e===void 0?void 0:e.call(n,t))}}]);return t}(),iA=/*#__PURE__*/function(){"use strict";function t(e,n,r,o,a){l(this,t);this.type=1,this._$AH=i_,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=a,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=i_}d(t,[{key:"tagName",get:function t(){return this.element.tagName}},{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;var o=this.strings,a=!1;if(o===void 0)t=iC(this,t,e,0),a=!ir(t)||t!==this._$AH&&t!==ib,a&&(this._$AH=t);else{var s=t,l,u;for(t=o[0],l=0;l<o.length-1;l++)u=iC(this,s[n+l],e,l),u===ib&&(u=this._$AH[l]),a||(a=!ir(u)||u!==this._$AH[l]),u===i_?t=i_:t!==i_&&(t+=(u!==null&&u!==void 0?u:"")+o[l+1]),this._$AH[l]=u}a&&!r&&this.j(t)}},{key:"j",value:function t(t){t===i_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!==null&&t!==void 0?t:"")}}]);return t}(),iR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.type=3;return t}d(e,[{key:"j",value:function t(t){this.element[this.name]=t===i_?void 0:t}}]);return e}(iA),iI=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.type=4;return t}d(e,[{key:"j",value:function t(t){this.element.toggleAttribute(this.name,!!t&&t!==i_)}}]);return e}(iA),iT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n,r,o,a){l(this,e);var u;u=s(this,e,[t,n,r,o,a]),u.type=5;return u}d(e,[{key:"_$AI",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var n;if((t=(n=iC(this,t,e,0))!==null&&n!==void 0?n:i_)===ib)return;var r=this._$AH,o=t===i_&&r!==i_||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,a=t!==i_&&(r===i_||o);o&&this.element.removeEventListener(this.name,this,r),a&&this.element.addEventListener(this.name,this,t),this._$AH=t}},{key:"handleEvent",value:function t(t){var e;var n;typeof this._$AH=="function"?this._$AH.call((n=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&n!==void 0?n:this.element,t):this._$AH.handleEvent(t)}}]);return e}(iA),iP=/*#__PURE__*/function(){"use strict";function t(e,n,r){l(this,t);this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}d(t,[{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AI",value:function t(t){iC(this,t)}}]);return t}(),iM={M:r6,P:r8,A:r7,C:1,L:iw,R:iE,D:io,V:iC,I:iS,H:iA,N:iI,U:iT,B:iR,F:iP},iO=r3.litHtmlPolyfillSupport;var iL;iO===null||iO===void 0?void 0:iO(ix,iS),((iL=r3.litHtmlVersions)!==null&&iL!==void 0?iL:r3.litHtmlVersions=[]).push("3.3.1");var iN=function(t,e,n){var r;var o=(r=n===null||n===void 0?void 0:n.renderBefore)!==null&&r!==void 0?r:e,a=o._$litPart$;if(a===void 0){var s;var l=(s=n===null||n===void 0?void 0:n.renderBefore)!==null&&s!==void 0?s:null;o._$litPart$=a=new iS(e.insertBefore(ie(),l),l,void 0,n!==null&&n!==void 0?n:{})}return a._$AI(t),a};var iU=globalThis,iD=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t.renderOptions={host:t},t._$Do=void 0;return t}d(e,[{key:"createRenderRoot",value:function t(){var t;var n=p(f(e.prototype),"createRenderRoot",this).call(this);var r;return(r=(t=this.renderOptions).renderBefore)!==null&&r!==void 0?r:t.renderBefore=n.firstChild,n}},{key:"update",value:function t(t){var n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),p(f(e.prototype),"update",this).call(this,t),this._$Do=iN(n,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function t(){var t;p(f(e.prototype),"connectedCallback",this).call(this),(t=this._$Do)===null||t===void 0?void 0:t.setConnected(!0)}},{key:"disconnectedCallback",value:function t(){var t;p(f(e.prototype),"disconnectedCallback",this).call(this),(t=this._$Do)===null||t===void 0?void 0:t.setConnected(!1)}},{key:"render",value:function t(){return ib}}]);return e}(r1);iD._$litElement$=!0,iD.finalized=!0,(nz=iU.litElementHydrateSupport)===null||nz===void 0?void 0:nz.call(iU,{LitElement:iD});var iV=iU.litElementPolyfillSupport;iV===null||iV===void 0?void 0:iV({LitElement:iD});var i$;((i$=iU.litElementVersions)!==null&&i$!==void 0?i$:iU.litElementVersions=[]).push("4.2.1");var iz=function(t){return function(e,n){n!==void 0?n.addInitializer(function(){customElements.define(t,e)}):customElements.define(t,e)}};var ij={attribute:!0,type:String,converter:rX,reflect:!1,hasChanged:rJ},iF=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ij,e=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;var r=n.kind,o=n.metadata,a=globalThis.litPropertyMetadata.get(o);if(a===void 0&&globalThis.litPropertyMetadata.set(o,a=new Map),r==="setter"&&((t=Object.create(t)).wrapped=!0),a.set(n.name,t),r==="accessor"){var s=n.name;return{set:function n(n){var r=e.get.call(this);e.set.call(this,n),this.requestUpdate(s,r,t)},init:function e(e){return e!==void 0&&this.C(s,void 0,t,e),e}}}if(r==="setter"){var l=n.name;return function n(n){var r=this[l];e.call(this,n),this.requestUpdate(l,r,t)}}throw Error("Unsupported decorator location: "+r)};var iH=function(t,e,n){return n.configurable=!0,n.enumerable=!0,Reflect.decorate&&(typeof e==="undefined"?"undefined":N(e))!="object"&&Object.defineProperty(t,e,n),n};var iB=String.raw,iQ=iB(j());var iW=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var e,n="",r={load:function o(o,a){n=o;var s=encodeURI(o);return t&&sessionStorage.getItem(s)?Promise.resolve(r.parse(sessionStorage.getItem(s))):_(o,a).then(function(n){return e=n,r.shuffleInteractions(),t&&sessionStorage.setItem(s,new XMLSerializer().serializeToString(e)),r})},parse:function t(t){return e=q(t),r},path:function(t){return E(e,t),n=null,r},fn:function t(t){return t(e),r},pciHooks:function t(t){var n=["hook","module"],o=t.substring(0,t.lastIndexOf("/"));var a=true,s=false,l=undefined;try{var u=function(){var n=d.value;e.querySelectorAll("["+n+"]").forEach(function(e){var r=e.getAttribute(n);!r.startsWith("data:")&&!r.startsWith("http")&&(e.setAttribute("base-url",t),e.setAttribute("module",o+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var c=n[Symbol.iterator](),d;!(a=(d=c.next()).done);a=true)u()}catch(t){s=true;l=t}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(s){throw l}}}return r},configurePci:function t(t,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"qti-portable-custom-interaction";return a(function(){var a,s,l,u,c,d,h,p,f,v,m,g,y,b,_,q,k,w,x,C,E,S,A,R,I,T,P,M,O,L,N,U,D;return $(this,function(T){switch(T.label){case 0:a=[],s=e.querySelectorAll(o);return[4,n(t,"/modules/module_resolution.js")];case 1:l=T.sent();return[4,n(t,"/modules/fallback_module_resolution.js")];case 2:u=T.sent();c=true,d=false,h=undefined;if(!(s.length>0))return[3,14];T.label=3;case 3:T.trys.push([3,12,13,14]);p=Array.from(s)[Symbol.iterator]();T.label=4;case 4:if(!!(c=(f=p.next()).done))return[3,11];v=f.value;v.setAttribute("data-base-url",t);m=v.getAttribute("custom-interaction-type-identifier");m&&a.includes(m)&&(m=m+a.length,v.setAttribute("custom-interaction-type-identifier",m),a.push(m)),m&&a.push(m);g=v.querySelector("qti-interaction-modules");if(!(g&&g.getAttribute("primary-configuration")))return[3,9];y=g.getAttribute("primary-configuration");if(!y)return[3,8];T.label=5;case 5:T.trys.push([5,7,,8]);return[4,n(t,"/".concat(y))];case 6:b=T.sent(),_=Array.from(g.querySelectorAll("qti-interaction-module"));q=true,k=false,w=undefined;try{for(x=_[Symbol.iterator]();!(q=(C=x.next()).done);q=true){E=C.value;S=E.getAttribute("id");if(S&&b.paths&&b.paths[S]){A=b.paths[S],R=Array.isArray(A)?A[0]:A;if(E.setAttribute("primary-path",R),u&&u.paths&&u.paths[S]){I=u.paths[S];Array.isArray(I)?E.setAttribute("fallback-path",I[0]):E.setAttribute("fallback-path",I)}}}}catch(t){k=true;w=t}finally{try{if(!q&&x.return!=null){x.return()}}finally{if(k){throw w}}}if(b.paths){for(var U in b.paths)if(!g.querySelector('qti-interaction-module[id="'.concat(U,'"]'))){P=e.createElement("qti-interaction-module");P.setAttribute("id",U);M=Array.isArray(b.paths[U])?b.paths[U][0]:b.paths[U];if(P.setAttribute("primary-path",M),u&&u.paths&&u.paths[U]){O=u.paths[U];Array.isArray(O)?P.setAttribute("fallback-path",O[0]):P.setAttribute("fallback-path",O)}g.appendChild(P)}}b.urlArgs&&g.setAttribute("url-args",b.urlArgs);return[3,8];case 7:L=T.sent();console.warn("Failed to load primary configuration: ".concat(y),L);return[3,8];case 8:return[3,10];case 9:if(l){N=function(t){var n=l.paths[t],r="";u&&u.paths&&u.paths[t]&&(r=u.paths[t]);var o=Array.isArray(n)?n:[n],a=Array.isArray(r)?r:[r],s=o.map(function(t,e){var n=a.length>e?a[e]:"";return{primaryPath:t,fallbackPath:n}});var c=true,d=false,h=undefined;try{var p=function(){var t=v.value;s.some(function(e){return e.fallbackPath===t})||s.push({primaryPath:o.length>0?o[0]:t,fallbackPath:t})};for(var f=a[Symbol.iterator](),v;!(c=(v=f.next()).done);c=true)p()}catch(t){d=true;h=t}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}var m=true,y=false,b=undefined;try{for(var _=s[Symbol.iterator](),q;!(m=(q=_.next()).done);m=true){var k=q.value;var w=e.createElement("qti-interaction-module");k.fallbackPath&&w.setAttribute("fallback-path",k.fallbackPath),w.setAttribute("id",t),w.setAttribute("primary-path",k.primaryPath),g&&g.appendChild(w)}}catch(t){y=true;b=t}finally{try{if(!m&&_.return!=null){_.return()}}finally{if(y){throw b}}}};v.querySelector("qti-interaction-modules")===null?(g=e.createElement("qti-interaction-modules"),v.appendChild(g)):g=v.querySelector("qti-interaction-modules");for(var V in l.paths)N(V)}T.label=10;case 10:c=true;return[3,4];case 11:return[3,14];case 12:D=T.sent();d=true;h=D;return[3,14];case 13:try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}return[7];case 14:return[2,r]}})})()},shuffleInteractions:function t(){var t=e.querySelectorAll('[shuffle="true"]'),n=Array.from(t).filter(function(t){var e;return(e=t.tagName)===null||e===void 0?void 0:e.toLowerCase().endsWith("-interaction")});var o=true,a=false,s=undefined;try{for(var l=n[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=I(c.tagName.toLowerCase()),h=Array.isArray(d)?d:[d];var p=true,f=false,v=undefined;try{var m=function(){var t=y.value;var e;var n=Array.from(c.querySelectorAll(t)),o=n.map(function(t,e){return{element:t,fixed:t.hasAttribute("fixed")&&t.getAttribute("fixed")==="true",originalOrder:e}}).filter(function(t){return t.fixed}),a=n.filter(function(t){return!t.hasAttribute("fixed")||t.getAttribute("fixed")!=="true"});if(a.length<=1)return{v:(console.warn("Shuffling is not possible with fewer than 2 non-fixed elements."),r)};var s=L(a),l=!1,u=0;for(;!l&&u<20;){u++;for(var d=a.length-1;d>0;d--){var h=Math.floor(Math.random()*(d+1));var p;p=[a[h],a[d]],a[d]=p[0],a[h]=p[1],p}l=!a.every(function(t,e){return t===s[e]})}if(!l)return{v:(console.warn("Failed to shuffle the choices after multiple attempts."),null)};c.removeAttribute("shuffle");var f=0;var v=true,m=false,g=undefined;try{for(var b=a[Symbol.iterator](),_;!(v=(_=b.next()).done);v=true){var q=_.value;q.parentElement.insertBefore(q,(e=o[f])===null||e===void 0?void 0:e.element),f++}}catch(t){m=true;g=t}finally{try{if(!v&&b.return!=null){b.return()}}finally{if(m){throw g}}}var k=true,w=false,x=undefined;try{for(var C=o[Symbol.iterator](),E;!(k=(E=C.next()).done);k=true){var S=E.value;S.element.parentElement.insertBefore(S.element,a[S.originalOrder])}}catch(t){w=true;x=t}finally{try{if(!k&&C.return!=null){C.return()}}finally{if(w){throw x}}}};for(var g=h[Symbol.iterator](),y;!(p=(y=g.next()).done);p=true){var b=m();if(N(b)==="object")return b.v}}catch(t){f=true;v=t}finally{try{if(!p&&g.return!=null){g.return()}}finally{if(f){throw v}}}}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return r},extendElementName:function(t,n){return c(e,t,n),r},extendElementsWithClass:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return g(e,t),r},customInteraction:function t(t,n){var o=e.querySelector("qti-custom-interaction"),a=o.querySelector("object");return o.setAttribute("data-base-ref",t),o.setAttribute("data-base-item",t+n),o.setAttribute("data",a.getAttribute("data")),o.setAttribute("width",a.getAttribute("width")),o.setAttribute("height",a.getAttribute("height")),o.removeChild(a),r},convertCDATAtoComment:function t(){return S(e),r},stripStyleSheets:function t(){return A(e),r},html:function t(){return n!==null&&E(e,n.substring(0,n.lastIndexOf("/"))),new XMLSerializer().serializeToString(w(e))},xml:function t(){return new XMLSerializer().serializeToString(e)},htmlDoc:function t(){return n!==null&&E(e,n.substring(0,n.lastIndexOf("/"))),w(e)},xmlDoc:function t(){return e}};return r};var iG=function(){var t,e={load:function n(n,r){return a(function(){return $(this,function(o){return[2,new Promise(function(o){_(n,r).then(function(n){return t=n,o(e)})})]})})()},parse:function e(e){t=q(e)},assessmentTest:function e(){var e=t.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:e.getAttribute("href"),identifier:e.getAttribute("identifier")}}};return e};var iX=function(){var t,e={load:function n(n,r){return a(function(){return $(this,function(o){return[2,new Promise(function(o,a){_(n,r).then(function(r){return t=r,e.path(n.substring(0,n.lastIndexOf("/"))),o(e)})})]})})()},parse:function n(n){return t=q(n),e},path:function(n){return E(t,n),e},fn:function n(n){return n(t),e},items:function e(){return b(t)},html:function e(){return new XMLSerializer().serializeToString(w(t))},xml:function e(){return new XMLSerializer().serializeToString(t)},htmlDoc:function e(){return w(t)},xmlDoc:function e(){return t}};return e};var iJ=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n));o.navigate=null;o.cacheTransform=!1;o.requestTimeout=3e4;o.postLoadTransformCallback=null;o.postLoadTestTransformCallback=null;o._activeController=null;o._loadResults=[];o._navigationId=0;o._loadingState={expectedItems:0,connectedItems:0,expectedStimulus:0,loadedStimulus:0,isComplete:!1};o._loadedStimulusHrefs=new Set;o._loadingStimulusHrefs=new Set;o._bindEventHandlers();return o}d(e,[{key:"navigateTo",value:function t(t,e){var n=e||this._getDefaultNavigationId(t);n&&this.dispatchEvent(new CustomEvent("qti-request-navigation",{detail:{type:t,id:n},bubbles:!0,composed:!0}))}},{key:"_bindEventHandlers",value:function t(){this.addEventListener("qti-request-navigation",this._handleNavigationRequest.bind(this)),this.addEventListener("qti-assessment-test-connected",this._handleTestConnected.bind(this)),this.addEventListener("qti-assessment-item-connected",this._handleItemConnected.bind(this)),this.addEventListener("qti-assessment-stimulus-ref-connected",this._handleStimulusRefConnected.bind(this))}},{key:"_handleTestConnected",value:function t(t){this._testElement=t.detail,this._initializeNavigation()}},{key:"_handleItemConnected",value:function t(t){var e=t.detail;this._loadingState.connectedItems++;var n=e.querySelectorAll("qti-assessment-stimulus-ref");this._loadingState.expectedStimulus+=n.length,this._checkLoadingComplete()}},{key:"_handleStimulusRefConnected",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:t.preventDefault();e=t.element,n=t.item;if(console.info("Stimulus ref connected:",{identifier:e.identifier,href:e.href,item:n.identifier}),this._loadedStimulusHrefs.has(e.href)){console.info("Stimulus already loaded, skipping:",e.href),this._loadingState.loadedStimulus++,this._checkLoadingComplete();return[2]}if(this._loadingStimulusHrefs.has(e.href)){console.info("Stimulus already loading, skipping duplicate:",e.href),this._loadingState.loadedStimulus++,this._checkLoadingComplete();return[2]}this._loadingStimulusHrefs.add(e.href),console.info("Starting stimulus load:",e.href);o.label=1;case 1:o.trys.push([1,3,4,5]);return[4,this._loadStimulusRef(e,n)];case 2:o.sent(),this._loadedStimulusHrefs.add(e.href),this._loadingState.loadedStimulus++,console.info("Stimulus loaded successfully:",e.href),this._checkLoadingComplete();return[3,5];case 3:r=o.sent();r.name!=="AbortError"&&console.warn("Failed to load stimulus ".concat(e.identifier,":"),r),this._loadingState.loadedStimulus++,this._checkLoadingComplete();return[3,5];case 4:this._loadingStimulusHrefs.delete(e.href);return[7];case 5:return[2]}})}).call(this)}},{key:"_getDefaultNavigationId",value:function t(t){var e,n,r,o,a;var s;return t==="section"?(n=this._testElement)===null||n===void 0?void 0:(e=n.querySelector("qti-assessment-section"))===null||e===void 0?void 0:e.identifier:(s=(r=this.sessionContext)===null||r===void 0?void 0:r.navItemRefId)!==null&&s!==void 0?s:(a=this._testElement)===null||a===void 0?void 0:(o=a.querySelector("qti-assessment-item-ref"))===null||o===void 0?void 0:o.identifier}},{key:"_initializeNavigation",value:function t(){if(!this.navigate)return;var t=this._getDefaultNavigationId(this.navigate);t&&this.navigateTo(this.navigate,t)}},{key:"_handleNavigationRequest",value:function t(t){return a(function(t){var e,n,r,o;return $(this,function(a){switch(a.label){case 0:e=t.detail;if(!(e===null||e===void 0?void 0:e.id))return[2];this._cancelPreviousNavigation();n=++this._navigationId,r=new AbortController;a.label=1;case 1:a.trys.push([1,3,4,5]);this._dispatchLoadingStarted(e.type,e.id),this._activeController=r;return[4,this._executeNavigation(e.type,e.id,n,r)];case 2:a.sent();return[3,5];case 3:o=a.sent();this._handleNavigationError(o,e.type,e.id);return[3,5];case 4:this._activeController===r&&(this._activeController=null),this._dispatchLoadingEnded(e.type,e.id);return[7];case 5:return[2]}})}).apply(this,arguments)}},{key:"_handleNavigationError",value:function t(t,e,n){t.name!=="AbortError"&&this._dispatchError(this._createNavigationError(t,e,n))}},{key:"_executeNavigation",value:function t(t,e,n,r){return a(function(){var o;return $(this,function(a){switch(a.label){case 0:if(!(t==="item"))return[3,2];return[4,this._navigateToItem(e,n,r)];case 1:o=a.sent();return[3,4];case 2:return[4,this._navigateToSection(e,n,r)];case 3:o=a.sent();a.label=4;case 4:o;return[2]}})}).call(this)}},{key:"_navigateToItem",value:function t(t,e,n){return a(function(){var r;return $(this,function(o){switch(o.label){case 0:r=this._findItemRef(t);this._updateSessionContext(r,t),this._resetLoadingState(),this._loadingState.expectedItems=1;return[4,this._loadItems([t],e,n)];case 1:o.sent();return[4,this._waitForLoadingComplete(e,n)];case 2:o.sent(),!this._isStaleNavigation(e,n)&&this._dispatchTestLoaded(this._loadResults);return[2]}})}).call(this)}},{key:"_navigateToSection",value:function t(t,e,n){return a(function(){var r,o,a,s;return $(this,function(l){switch(l.label){case 0:a=(o=this._findSection(t))===null||o===void 0?void 0:(r=o.closest("qti-test-part"))===null||r===void 0?void 0:r.identifier;this.sessionContext=x(k({},this.sessionContext),{navPartId:a,navSectionId:t,navItemRefId:null});s=this._getSectionItemIds(t);this._resetLoadingState(),this._loadingState.expectedItems=s.length;return[4,this._loadItems(s,e,n)];case 1:l.sent();return[4,this._waitForLoadingComplete(e,n)];case 2:l.sent(),!this._isStaleNavigation(e,n)&&this._dispatchTestLoaded(this._loadResults);return[2]}})}).call(this)}},{key:"_resetLoadingState",value:function t(){this._loadingState={expectedItems:0,connectedItems:0,expectedStimulus:0,loadedStimulus:0,isComplete:!1},this._loadedStimulusHrefs.clear(),this._loadingStimulusHrefs.clear()}},{key:"_checkLoadingComplete",value:function t(){var t=this._loadingState.connectedItems>=this._loadingState.expectedItems,e=this._loadingState.loadedStimulus>=this._loadingState.expectedStimulus;t&&e&&!this._loadingState.isComplete&&(this._loadingState.isComplete=!0)}},{key:"_waitForLoadingComplete",value:function t(t,e){return a(function(){return $(this,function(n){switch(n.label){case 0:if(!!this._loadingState.isComplete)return[3,3];if(this._isStaleNavigation(t,e))return[2];return[4,new Promise(function(t){return setTimeout(t,10)})];case 1:n.sent();n.label=2;case 2:return[3,0];case 3:return[2]}})}).call(this)}},{key:"getLoadingProgress",value:function t(){return k({},this._loadingState)}},{key:"_loadStimulusRef",value:function t(t,e){return a(function(){var n;return $(this,function(r){switch(r.label){case 0:console.info("Loading stimulus:",t.href);return[4,this._loadStimulus(t.href)];case 1:n=r.sent();console.info("Stimulus loaded, applying content:",n?"has content":"no content"),this._applyStimulusContent(n,t,e);return[2]}})}).call(this)}},{key:"_applyStimulusContent",value:function t(t,e,n){if(!t){console.warn("No stimulus content to apply");return}var r=t.querySelectorAll("qti-stimulus-body, qti-stylesheet");if(console.info("Found ".concat(r.length," stimulus elements to apply for ").concat(e.identifier)),r.length===0){console.warn("No qti-stimulus-body or qti-stylesheet elements found in stimulus");return}var o=[],a=document.querySelector('qti-assessment-item[identifier="'.concat(n.identifier,'"] [data-stimulus-idref="').concat(e.identifier,'"]'));if(a)o.push(a),console.info("Found specific target:",a);else{var s=Array.from(this.querySelectorAll('[data-stimulus-idref="'.concat(e.identifier,'"]')));if(s.length>0)o=s,console.info("Found targets by identifier:",s.length);else{var l=Array.from(this.querySelectorAll("[data-stimulus-idref]"));o=l,console.info("Using fallback targets:",l.length)}}if(o.length===0){console.warn("No targets found for stimulus content");return}o.forEach(function(t,e){var n;t.innerHTML="";var a=Array.from(r).map(function(t){return t.cloneNode(!0)});(n=t).append.apply(n,L(a)),console.info("Applied stimulus content to target ".concat(e+1,"/").concat(o.length))})}},{key:"_cancelPreviousNavigation",value:function t(){this._activeController&&(this._activeController.abort(),console.info("Previous navigation request cancelled")),this._clearNavigationState()}},{key:"_clearNavigationState",value:function t(){this._clearLoadedItems(),this._resetLoadingState(),this._loadResults=[]}},{key:"_loadItems",value:function t(t,e,n){return a(function(){var r,o,a;return $(this,function(s){switch(s.label){case 0:r=this;if(!this._testElement||t.length===0)return[2];o=t.map(function(t){return r._findItemRef(t)});this._clearLoadedItems(),this._clearStimulusRef();return[4,Promise.all(o.map(function(t){return r._loadSingleItem(t,e,n)}))];case 1:a=s.sent().filter(Boolean);this._isStaleNavigation(e,n)||(a.forEach(function(t){var e=t.itemRef,n=t.doc;e&&n&&(e.xmlDoc=n)}),this._loadResults=a);return[2]}})}).call(this)}},{key:"_loadSingleItem",value:function t(t,e,n){return a(function(){var r,o,a;return $(this,function(s){switch(s.label){case 0:s.trys.push([0,4,,5]);return[4,iW(this.cacheTransform).load(t.href,n.signal)];case 1:r=s.sent();o=this.postLoadTransformCallback;if(!o)return[3,3];return[4,this.postLoadTransformCallback(r,t)];case 2:o=r=s.sent();s.label=3;case 3:return[2,(o,this._isStaleNavigation(e,n)?null:{itemRef:t,doc:r.htmlDoc()})];case 4:a=s.sent();if(a.name==="AbortError")throw console.info("Item load for ".concat(t.identifier," was aborted")),a;return[2,(console.warn("Failed to load item ".concat(t.identifier,":"),a),null)];case 5:return[2]}})}).call(this)}},{key:"_loadStimulus",value:function t(t){return a(function(){var e;return $(this,function(n){switch(n.label){case 0:return[4,iW().load(t,(e=this._activeController)===null||e===void 0?void 0:e.signal)];case 1:return[2,n.sent().htmlDoc()]}})}).call(this)}},{key:"_findItemRef",value:function t(t){var e;var n=(e=this._testElement)===null||e===void 0?void 0:e.querySelector('qti-assessment-item-ref[identifier="'.concat(t,'"]'));if(!n)throw new Error('Item with identifier "'.concat(t,'" not found'));return n}},{key:"_findSection",value:function t(t){var e;return((e=this._testElement)===null||e===void 0?void 0:e.querySelector('qti-assessment-section[identifier="'.concat(t,'"]')))||null}},{key:"_updateSessionContext",value:function t(t,e){var n,r;var o=(n=t.closest("qti-test-part"))===null||n===void 0?void 0:n.identifier,a=(r=t.closest("qti-assessment-section"))===null||r===void 0?void 0:r.identifier;this.sessionContext=x(k({},this.sessionContext),{navPartId:o,navSectionId:a,navItemRefId:e})}},{key:"_getSectionItemIds",value:function t(t){return Array.from(this._testElement.querySelectorAll('qti-assessment-section[identifier="'.concat(t,'"] > qti-assessment-item-ref'))).map(function(t){return t.identifier}).filter(Boolean)}},{key:"_clearLoadedItems",value:function t(){var t;var e=(t=this._testElement)===null||t===void 0?void 0:t.querySelectorAll("qti-assessment-item-ref");Array.from(e||[]).forEach(function(t){t.xmlDoc=null})}},{key:"_clearStimulusRef",value:function t(){this.querySelectorAll("[data-stimulus-idref]").forEach(function(t){return t.innerHTML=""})}},{key:"_isStaleNavigation",value:function t(t,e){return e.signal.aborted||t!==this._navigationId}},{key:"_createNavigationError",value:function t(t,e,n){return{message:t.message||"Failed to load ".concat(e,": ").concat(n),details:t,itemId:e==="item"?n:void 0,sectionId:e==="section"?n:void 0}}},{key:"_dispatchLoadingStarted",value:function t(t,e){this.dispatchEvent(new CustomEvent("qti-navigation-loading-started",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}},{key:"_dispatchLoadingEnded",value:function t(t,e){this.dispatchEvent(new CustomEvent("qti-navigation-loading-ended",{detail:{type:t,id:e},bubbles:!0,composed:!0}))}},{key:"_dispatchError",value:function t(t){this.dispatchEvent(new CustomEvent("qti-navigation-error",{detail:t,bubbles:!0,composed:!0}))}},{key:"_dispatchTestLoaded",value:function t(t){var e=this;requestAnimationFrame(function(){e.dispatchEvent(new CustomEvent("qti-test-loaded",{detail:t.map(function(t){var e=t.itemRef;return{identifier:e===null||e===void 0?void 0:e.identifier,element:e}}),bubbles:!0,composed:!0}))})}}]);return e}(t);return nJ([n({type:String})],e.prototype,"navigate",2),nJ([n({type:Boolean,attribute:"cache-transform"})],e.prototype,"cacheTransform",2),nJ([n({type:Number})],e.prototype,"requestTimeout",2),nJ([n({attribute:!1})],e.prototype,"postLoadTransformCallback",2),nJ([n({attribute:!1})],e.prototype,"postLoadTestTransformCallback",2),e};var iY=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n)),o.sessionContext=x(k({},o.sessionContext),{view:"candidate"}),o.addEventListener("on-test-switch-view",function(t){o.sessionContext=x(k({},o.sessionContext),{view:t.detail}),o._updateElementView()}),o.addEventListener("qti-assessment-test-connected",function(){o._updateElementView()}),o.addEventListener("qti-assessment-item-connected",function(t){o._updateElementView(),o._setCorrectResponseVisibility(t.detail)});return o}d(e,[{key:"willUpdate",value:function t(t){p(f(e.prototype),"willUpdate",this).call(this,t),t.has("sessionContext")&&this._updateElementView()}},{key:"_updateElementView",value:function t(){var t=this;if(this._testElement){var e;Array.from(this._testElement.querySelectorAll("[view]")).forEach(function(e){e.classList.toggle("show",e.getAttribute("view")===t.sessionContext.view)});var n=(e=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this.sessionContext.navItemRefId,'"]')))===null||e===void 0?void 0:e.assessmentItem;n&&n.showCorrectResponse(this.sessionContext.view==="scorer")}}},{key:"_setCorrectResponseVisibility",value:function t(t){t.showCorrectResponse(this.sessionContext.view==="scorer")}}]);return e}(t);return e};var iK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n,r,o){l(this,e);var a;a=s(this,e,["context-request",{bubbles:!0,composed:!0}]),a.context=t,a.contextTarget=n,a.callback=r,a.subscribe=o!==null&&o!==void 0?o:!1;return a}return e}(D(Event));var iZ=/*#__PURE__*/function(){"use strict";function t(e,n,r,o){var a=this;l(this,t);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(t,e){a.unsubscribe&&(a.unsubscribe!==e&&(a.provided=!1,a.unsubscribe()),a.subscribe||a.unsubscribe()),a.value=t,a.host.requestUpdate(),a.provided&&!a.subscribe||(a.provided=!0,a.callback&&a.callback(t,e)),a.unsubscribe=e},this.host=e,n.context!==void 0){var s=n;var u;this.context=s.context,this.callback=s.callback,this.subscribe=(u=s.subscribe)!==null&&u!==void 0?u:!1}else this.context=n,this.callback=r,this.subscribe=o!==null&&o!==void 0?o:!1;this.host.addController(this)}d(t,[{key:"hostConnected",value:function t(){this.dispatchRequest()}},{key:"hostDisconnected",value:function t(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function t(){this.host.dispatchEvent(new iK(this.context,this.host,this.t,this.subscribe))}}]);return t}();var i0=/*#__PURE__*/function(){"use strict";function t(e){var n=this;l(this,t);this.subscriptions=new Map,this.updateObservers=function(){var t=true,e=false,r=undefined;try{for(var o=n.subscriptions[Symbol.iterator](),a;!(t=(a=o.next()).done);t=true){var s=T(a.value,2),l=s[0],u=s[1],c=u.disposer;l(n.o,c)}}catch(t){e=true;r=t}finally{try{if(!t&&o.return!=null){o.return()}}finally{if(e){throw r}}}},e!==void 0&&(this.value=e)}d(t,[{key:"value",get:function t(){return this.o},set:function t(t){this.setValue(t)}},{key:"setValue",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=e||!Object.is(t,this.o);this.o=t,n&&this.updateObservers()}},{key:"addCallback",value:function t(t,e,n){var r=this;if(!n)return void t(this.value);this.subscriptions.has(t)||this.subscriptions.set(t,{disposer:function(){r.subscriptions.delete(t)},consumerHost:e});var o=this.subscriptions.get(t),a=o.disposer;t(this.value,a)}},{key:"clearCallbacks",value:function t(){this.subscriptions.clear()}}]);return t}();var i1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n){l(this,e);var r;r=s(this,e,["context-provider",{bubbles:!0,composed:!0}]),r.context=t,r.contextTarget=n;return r}return e}(D(Event)),i2=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n,r){l(this,e);var o;var a,u;o=s(this,e,[n.context!==void 0?n.initialValue:r]),o.onContextRequest=function(t){if(t.context!==o.context)return;var e;var n=(e=t.contextTarget)!==null&&e!==void 0?e:t.composedPath()[0];n!==o.host&&(t.stopPropagation(),o.addCallback(t.callback,n,t.subscribe))},o.onProviderRequest=function(t){var e;if(t.context!==o.context||((e=t.contextTarget)!==null&&e!==void 0?e:t.composedPath()[0])===o.host)return;var n=new Set;var r=true,a=false,s=undefined;try{for(var l=o.subscriptions[Symbol.iterator](),u;!(r=(u=l.next()).done);r=true){var c=T(u.value,2),d=c[0],h=c[1],p=h.consumerHost;n.has(d)||(n.add(d),p.dispatchEvent(new iK(o.context,p,d,!0)))}}catch(t){a=true;s=t}finally{try{if(!r&&l.return!=null){l.return()}}finally{if(a){throw s}}}t.stopPropagation()},o.host=t,n.context!==void 0?o.context=n.context:o.context=n,o.attachListeners(),(a=(u=o.host).addController)===null||a===void 0?void 0:a.call(u,o);return o}d(e,[{key:"attachListeners",value:function t(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function t(){this.host.dispatchEvent(new i1(this.context,this.host))}}]);return e}(i0);var i3=Symbol("computedItemContext");var i5=Symbol("computedContext");var i4=Symbol("configContext");var i6=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}];var i8=Symbol("item");var i7=Symbol("qtiContext");var i9={view:"candidate"},ot=Symbol("testContext");var oe={items:[],testOutcomeVariables:[]},on=Symbol("testContext");var or=function(t){return t.Correct="correct",t.PartiallyCorrect="partially-correct",t.Incorrect="incorrect",t}(or||{}),oi=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.disabled=!1;t.readonly=!1;t._internals=t.attachInternals();return t}d(e,[{key:"internals",get:function t(){return this._internals}},{key:"isFullCorrectResponse",get:function t(){return this._isFullCorrectResponse},set:function t(t){this._isFullCorrectResponse=t,t&&(this.disabled=!0,this.setAttribute("response-identifier",this.responseIdentifier+"_cr"))}},{key:"correctResponse",get:function t(){return this._correctResponse},set:function t(t){this._correctResponse=t}},{key:"correctness",get:function t(){var t=this.responseVariable;return!t||t.correctResponse===null?null:t.correctResponse===t.value?"correct":"incorrect"}},{key:"isInline",get:function t(){return!1}},{key:"responseVariable",get:function t(){var t=this._context.variables.filter(function(t){return t.type==="response"}),e=this.getAttribute("response-identifier");return t.find(function(t){return t.identifier===e})}},{key:"toggleCorrectResponse",value:function t(t){var e,n;(((n=this)===null||n===void 0?void 0:(e=n.configContext)===null||e===void 0?void 0:e.correctResponseMode)||"internal")==="full"?this.toggleFullCorrectResponse(t):this.toggleInternalCorrectResponse(t)}},{key:"toggleFullCorrectResponse",value:function t(t){return a(function(){var e,n,r,o,a,s,l,u,c;return $(this,function(d){switch(d.label){case 0:o=this.nextSibling,a=m(o,HTMLDivElement)&&(o===null||o===void 0?void 0:o.classList.contains("full-correct-response")),s=this.responseVariable;if(!s)return[2];if(!(t&&(((n=this)===null||n===void 0?void 0:(e=n.configContext)===null||e===void 0?void 0:e.fullCorrectResponseOnlyWhenIncorrect)===!1||this.correctness!=="correct"))){;if(!a)return[2];(l=this.parentElement)===null||l===void 0?void 0:l.removeChild(o)}if(a)return[2];u=this.cloneNode(!0),c=document.createElement("div");c.classList.add("full-correct-response"),this.isInline?c.classList.add("full-correct-response-inline"):c.classList.add("full-correct-response-block"),c.role="full-correct-response",c.appendChild(u),u.isFullCorrectResponse=!0,(r=this.parentElement)===null||r===void 0?void 0:r.insertBefore(c,this.nextSibling);return[4,u.updateComplete];case 1:d.sent(),u.response=Array.isArray(s.correctResponse)?L(s.correctResponse):s.correctResponse;return[2]}})}).call(this)}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:(e===null||e===void 0?void 0:e.cardinality)==="single"?"":[]}},{key:"toggleCandidateCorrection",value:function t(t){this.responseVariable&&(this._internals.states.delete("candidate-correct"),this._internals.states.delete("candidate-partially-correct"),this._internals.states.delete("candidate-incorrect"),t&&(this.correctness==="correct"&&this._internals.states.add("candidate-correct"),this.correctness==="partially-correct"&&this._internals.states.add("candidate-partially-correct"),this.correctness==="incorrect"&&this._internals.states.add("candidate-incorrect")))}},{key:"value",get:function t(){return JSON.stringify(this.response)},set:function t(t){this.response=t?JSON.parse(t):null}},{key:"reportValidity",value:function t(){return this._internals.reportValidity()}},{key:"reset",value:function t(){this.response=null}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),!this.isFullCorrectResponse&&this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}},{key:"saveResponse",value:function t(t){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(t)?L(t):t}}))}}]);return e}(iD);oi.formAssociated=!0,nJ([M({context:i8,subscribe:!0})],oi.prototype,"_context",2),nJ([M({context:i4,subscribe:!0})],oi.prototype,"configContext",2),nJ([n({type:String,attribute:"response-identifier"})],oi.prototype,"responseIdentifier",2),nJ([n({reflect:!0,type:Boolean})],oi.prototype,"disabled",2),nJ([n({reflect:!0,type:Boolean})],oi.prototype,"readonly",2),nJ([r()],oi.prototype,"_isFullCorrectResponse",2),nJ([r()],oi.prototype,"_correctResponse",2);var oo=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(F())}},{key:"defaultValues",value:function t(t){var e=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(e.length===0)return null;var n=e.map(function(t){return t.innerHTML.trim()});return n.length>1||t==="multiple"||t==="ordered"?n:n[0]}}]);return e}(iD);var oa=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.getVariables=function(){return Array.from(t.children).map(function(e){switch(console.debug("getVariables",e.tagName.toLowerCase()),e.tagName.toLowerCase()){case"qti-base-value":return{baseType:e.getAttribute("base-type"),value:e.textContent.trim(),cardinality:"single"};case"qti-variable":{var n;var r=e.getAttribute("identifier")||"";return r==="QTI_CONTEXT"?((n=t.qtiContext)===null||n===void 0?void 0:n.QTI_CONTEXT)?{identifier:"QTI_CONTEXT",baseType:"record",value:t.qtiContext.QTI_CONTEXT,cardinality:"record",type:"context"}:(console.warn("QTI_CONTEXT not available"),{identifier:"QTI_CONTEXT",baseType:"record",value:t.qtiContext.QTI_CONTEXT,cardinality:"record",type:"context"}):t.context.variables.find(function(t){return t.identifier===r})||null}case"qti-multiple":{var o=e.getResult();return console.debug("values",o),(o===null||o===void 0?void 0:o.length)>0?{identifier:"",baseType:o[0].baseType,value:o.map(function(t){return t.value}),cardinality:"multiple",type:"response"}:null}case"qti-ordered":{var a=e.getResult();return(a===null||a===void 0?void 0:a.length)>0?{identifier:"",baseType:a[0].baseType,value:a.map(function(t){return t.value}),cardinality:"ordered",type:"response"}:null}case"qti-correct":{var s,l;var u=e.getAttribute("identifier")||"",c=((l=t.context)===null||l===void 0?void 0:(s=l.variables)===null||s===void 0?void 0:s.find(function(t){return t.identifier===u}))||null;return{baseType:c.baseType,value:c.correctResponse,cardinality:c.cardinality}}default:{try{var d;return{baseType:"integer",value:((d=e.getResult())===null||d===void 0?void 0:d.toString())||null,cardinality:"single"}}catch(t){console.warn("default not sufficient")}return null}}}).filter(function(t){return t!==null})};return t}d(e,[{key:"render",value:function t(){return im(H(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(iD);oa.styles=rO(B()),nJ([r()],oa.prototype,"result",2),nJ([M({context:i8,subscribe:!0}),r()],oa.prototype,"context",2),nJ([M({context:i7,subscribe:!0}),r()],oa.prototype,"qtiContext",2);var os=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculate",value:function t(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function t(){throw new Error("Not implemented")}}]);return e}(oa);var ol=function(){return new Intl.NumberFormat().format(.1).replace(/\d/g,"")},ou=function(t){if(typeof t=="string")return t;var e=ol();return e==="."?t.toLocaleString():t.toString().replace(".","").replace(e,".")};var oc=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}},{key:"checkShowFeedback",value:function t(t){var e=this._context.variables.find(function(e){return e.identifier===t})||null;if(this.outcomeIdentifier!==t||!e)return;var n=!1;Array.isArray(e.value)?n=e.value.includes(this.identifier):n=!U(this.identifier)&&!U(e===null||e===void 0?void 0:e.value)&&this.identifier===e.value||!1,this.showFeedback(n)}},{key:"showFeedback",value:function t(t){this.showStatus=t&&this.showHide==="show"||!t&&this.showHide==="hide"?"on":"off"}}]);return e}(iD);nJ([n({type:String,attribute:"show-hide"})],oc.prototype,"showHide",2),nJ([n({type:String,attribute:"outcome-identifier"})],oc.prototype,"outcomeIdentifier",2),nJ([n({type:String})],oc.prototype,"identifier",2),nJ([n({type:String,attribute:!1})],oc.prototype,"showStatus",2),nJ([M({context:i8,subscribe:!0}),r()],oc.prototype,"_context",2);var od=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(iD);var oh=/*#__PURE__*/function(){"use strict";function t(){l(this,t)}d(t,null,[{key:"isPointInArea",value:function t(t,e,n){if(n!=="point")return console.warn("Base type ".concat(n," is not supported for point area mapping.")),!1;var r=T(t.split(" ").map(Number),2),o=r[0],a=r[1],s=O(e.split(",")),l=s[0],u=s.slice(1),c=u.map(Number);switch(l.toLowerCase()){case"circle":case"default":{var d=T(c,3),h=d[0],p=d[1],f=d[2];return c.length!==3?(console.warn("Invalid circle definition: ".concat(e)),!1):Math.sqrt(Math.pow(o-h,2)+Math.pow(a-p,2))<=f}case"rect":{var v=T(c,4),m=v[0],g=v[1],y=v[2],b=v[3];return c.length!==4?(console.warn("Invalid rectangle definition: ".concat(e)),!1):o>=m&&o<=y&&a>=g&&a<=b}case"ellipse":{var _=T(c,4),q=_[0],k=_[1],w=_[2],x=_[3];if(c.length!==4)return console.warn("Invalid ellipse definition: ".concat(e)),!1;var C=Math.pow(o-q,2)/Math.pow(w,2),E=Math.pow(a-k,2)/Math.pow(x,2);return C+E<=1}case"poly":{if(c.length<6||c.length%2!==0)return console.warn("Invalid polygon definition: ".concat(e)),!1;var S=[];for(var A=0;A<c.length;A+=2)S.push({x:c[A],y:c[A+1]});return this.isPointInPolygon({x:o,y:a},S)}default:return console.warn("Unsupported shape type: ".concat(l)),!1}}},{key:"isPointInPolygon",value:function t(t,e){var n=!1;for(var r=0,o=e.length-1;r<e.length;o=r++){var a=e[r].x,s=e[r].y,l=e[o].x,u=e[o].y;s>t.y!=u>t.y&&t.x<(l-a)*(t.y-s)/(u-s)+a&&(n=!n)}return n}},{key:"compareSingleValues",value:function t(t,e,n){switch(n){case"identifier":case"string":return t===e;case"integer":{var r=parseInt(t,10),o=parseInt(e,10);if(!isNaN(r)&&!isNaN(o))return r===o;console.error("Cannot convert ".concat(t," and/or ").concat(e," to int."));break}case"float":{var a=parseFloat(t),s=parseFloat(e);if(!isNaN(a)&&!isNaN(s))return a===s;console.error("couldn't convert ".concat(t," and/or ").concat(e," to float."));break}case"pair":case"directedPair":{var l=t.split(" ").sort(),u=e.split(" ").sort();if(l.length===2&&u.length===2)return n==="pair"&&(l.sort(),u.sort()),l.join(" ")===u.join(" ");console.error("compared two pair but one of the values does not have 2 values: 1: ".concat(t," 2: ").concat(e));break}}return!1}}]);return t}();var op=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n));o.testContext=oe;o.sessionContext=i9;o._updateItemInTestContext=function(t){var e;var n=t._context,r=n.identifier,a=n.variables,s=o.testContext.items.find(function(t){return(t===null||t===void 0?void 0:t.identifier)===r});if(!s){console.warn("Item IDs between assessment.xml and item.xml should match: ".concat(r," is not found!"));return}if(((e=s.variables)===null||e===void 0?void 0:e.length)===1)o._updateItemVariablesInTestContext(r,a);else{var l=L(t.variables);var u=true,c=false,d=undefined;try{var h=function(){var t=f.value;var e=l.find(function(e){return e.identifier===t.identifier});e?e.value=t.value:l.push(t)};for(var p=s.variables[Symbol.iterator](),f;!(u=(f=p.next()).done);u=true)h()}catch(t){c=true;d=t}finally{try{if(!u&&p.return!=null){p.return()}}finally{if(c){throw d}}}t.variables=l}};o._initializeEventListeners();return o}d(e,[{key:"updateItemVariables",value:function t(t,e){var n=this.testContext.items.find(function(e){return e.identifier===t});n&&(n.variables=n.variables.map(function(t){var n=e.find(function(e){return e.identifier===t.identifier});return n?k({},t,n):t}));var r=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(t,'"]'));r&&r.assessmentItem&&(r.assessmentItem.variables=e)}},{key:"_initializeEventListeners",value:function t(){var t=this;this.addEventListener("qti-assessment-test-connected",function(e){if(t.testContext=oe,t.sessionContext=i9,t.testContext&&t.testContext.items.length>0)return;t._testElement=e.detail;var n=Array.from(t._testElement.querySelectorAll("qti-assessment-item-ref")).map(function(t){return{href:t.href,identifier:t.identifier,category:t.category,variables:[{identifier:"completionStatus",value:"not_attempted",type:"outcome"}]}});t.testContext=x(k({},t.testContext),{items:n})}),this.addEventListener("qti-assessment-item-connected",function(e){var n;var r=e.detail,o=(n=r.closest("qti-assessment-item-ref"))===null||n===void 0?void 0:n.identifier;o&&(r.assessmentItemRefId=o),t._updateItemInTestContext(e.detail)}),this.addEventListener("qti-item-context-updated",function(e){t._updateItemVariablesInTestContext(e.detail.itemContext.identifier,e.detail.itemContext.variables)})}},{key:"_updateItemVariablesInTestContext",value:function t(t,e){this.testContext=x(k({},this.testContext),{items:this.testContext.items.map(function(n){return n.identifier!==t?n:x(k({},n),{variables:e.map(function(t){var e=n.variables.find(function(e){return e.identifier===t.identifier});return e?k({},e,t):t})})})}),this.dispatchEvent(new CustomEvent("qti-test-context-updated",{detail:this.testContext,bubbles:!1,composed:!1}))}}]);return e}(t);return nJ([n({attribute:!1,type:Object}),P({context:on})],e.prototype,"testContext",2),nJ([n({attribute:!1,type:Object}),P({context:ot})],e.prototype,"sessionContext",2),e},of=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(op(iD));var ov=function(t){var e=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}l(this,e);var o;o=s(this,e,L(n)),o.addEventListener("qti-register-variable",function(t){o.testContext=x(k({},o.testContext),{testOutcomeVariables:L(o.testContext.testOutcomeVariables||[]).concat([t.detail.variable])}),t.stopPropagation()}),o.addEventListener("qti-set-outcome-value",function(t){var e=t.detail,n=e.outcomeIdentifier,r=e.value;o.updateOutcomeVariable(n,r),t.stopPropagation()});return o}d(e,[{key:"outcomeProcessing",value:function t(){var t=this.querySelector("qti-outcome-processing");return t?(t===null||t===void 0?void 0:t.process(),!0):!1}},{key:"updateOutcomeVariable",value:function t(t,e){var n;var r=this.getOutcome(t);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(t,", it is not available"));return}this.testContext=x(k({},this.testContext),{testOutcomeVariables:(n=this.testContext.testOutcomeVariables)===null||n===void 0?void 0:n.map(function(n){return n.identifier!==t?n:x(k({},n),{value:r.cardinality==="single"?e:L(n.value).concat([e])})})})}},{key:"getOutcome",value:function t(t){return this.getVariable(t)}},{key:"getVariable",value:function t(t){var e;return((e=this.testContext.testOutcomeVariables)===null||e===void 0?void 0:e.find(function(e){return e.identifier===t}))||null}}]);return e}(t);return e};var om=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new CustomEvent("qti-test-connected",{detail:this}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(Q())}}]);return e}(iJ(iY(ov(op(iD)))));om=nJ([iz("qti-test")],om);var og={fromAttribute:function t(t){return t==="true"},toAttribute:function t(t){return t?"true":"false"}},oy=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.weigths=new Map;return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"assessmentItem",get:function t(){var t;return(t=this.renderRoot)===null||t===void 0?void 0:t.querySelector("qti-assessment-item")}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new CustomEvent("qti-assessment-item-ref-connected",{bubbles:!0,composed:!0,detail:{identifier:this.identifier,href:this.href,category:this.category}}));return[2]}})}).call(this)}},{key:"render",value:function t(){return this.myTemplate?this.myTemplate({xmlDoc:this.xmlDoc}):this.xmlDoc}}]);return e}(iD);nJ([n({type:String})],oy.prototype,"category",2),nJ([n({type:String})],oy.prototype,"identifier",2),nJ([n({type:Boolean,converter:og})],oy.prototype,"required",2),nJ([n({type:Boolean,converter:og})],oy.prototype,"fixed",2),nJ([n({type:String})],oy.prototype,"href",2),nJ([n({type:Object,attribute:!1})],oy.prototype,"xmlDoc",2);customElements.get("qti-assessment-item-ref")||customElements.define("qti-assessment-item-ref",oy);var ob={fromAttribute:function t(t){return t==="true"},toAttribute:function t(t){return t?"true":"false"}},o_=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._title="";return t}d(e,[{key:"title",get:function t(){return this._title},set:function t(t){this._title=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:this._title=this.getAttribute("title")||"",r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new Event("qti-assessment-section-connected",{bubbles:!0,composed:!0}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(W())}}]);return e}(iD);nJ([n({type:String})],o_.prototype,"identifier",2),nJ([n({type:String})],o_.prototype,"required",2),nJ([n({type:Boolean,converter:ob})],o_.prototype,"fixed",2),nJ([n({type:Boolean,converter:ob})],o_.prototype,"visible",2),nJ([n({type:Boolean,converter:ob,attribute:"keep-together"})],o_.prototype,"keepTogether",2),nJ([M({context:on,subscribe:!0})],o_.prototype,"_testContext",2);customElements.get("qti-assessment-section")||customElements.define("qti-assessment-section",o_);var oq=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._title="";return t}d(e,[{key:"title",get:function t(){return this._title},set:function t(t){this._title=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new CustomEvent("qti-assessment-test-connected",{detail:this,bubbles:!0,composed:!0}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(G())}}]);return e}(iD);nJ([n({type:String})],oq.prototype,"identifier",2),nJ([n({type:String})],oq.prototype,"title",1),nJ([M({context:on,subscribe:!0})],oq.prototype,"_testContext",2),oq=nJ([iz("qti-assessment-test")],oq);var ok=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.identifier="";t.class="";t.navigationMode="nonlinear";t.submissionMode="individual";t._title="";return t}d(e,[{key:"title",get:function t(){return this._title},set:function t(t){this._title=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){switch(t.label){case 0:r().call(n);return[4,this.updateComplete];case 1:t.sent(),this.dispatchEvent(new Event("qti-test-part-connected",{bubbles:!0,composed:!0}));return[2]}})}).call(this)}},{key:"render",value:function t(){return im(X())}}]);return e}(iD);nJ([n({type:String})],ok.prototype,"identifier",2),nJ([n({type:String})],ok.prototype,"class",2),nJ([n({type:String,attribute:"navigation-mode"})],ok.prototype,"navigationMode",2),nJ([n({type:String,attribute:"submission-mode"})],ok.prototype,"submissionMode",2),ok=nJ([iz("qti-test-part")],ok);customElements.get("qti-test-part")||customElements.define("qti-test-part",ok);var ow=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._templateProcessing=null;t.identifier="";t.adaptive="false";t.timeDependent=null;t._handleDisabledChange=function(e,n){t._interactionElements.forEach(function(t){return t.disabled=n})};t._handleReadonlyChange=function(e,n){return t._interactionElements.forEach(function(t){return t.readonly=n})};t._context={variables:i6};t._initialContext=x(k({},t._context),{variables:t._context.variables});t._feedbackElements=[];t._interactionElements=[];t._handleRegisterVariable=function(e){e.stopImmediatePropagation(),t._context=x(k({},t._context),{variables:L(t._context.variables).concat([e.detail.variable])}),t._initialContext=t._context,e.stopPropagation()};t._handleRegisterFeedback=function(e){var n;e.stopImmediatePropagation();var r=e.detail;t._feedbackElements.push(r),(Number((n=t._context.variables.find(function(t){return t.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)||0)>0&&r.checkShowFeedback(r.outcomeIdentifier)};t._handleRegisterInteraction=function(e){e.stopImmediatePropagation(),t._interactionElements.push(e.detail.interactionElement)};t._handleEndAttempt=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.responseIdentifier,o=n.countAttempt;t.validate(),t.updateResponseVariable(r,"true"),t.processResponse(o)};t._handleSetOutcomeValue=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.outcomeIdentifier,o=n.value;t.updateOutcomeVariable(r,o),e.stopPropagation()};t._handleUpdateResponseVariable=function(e){e.stopImmediatePropagation();var n=e.detail,r=n.responseIdentifier,o=n.response;t.updateResponseVariable(r,o),t.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:t._context}}))};return t}d(e,[{key:"title",get:function t(){return this._itemTitle},set:function t(t){this._itemTitle=t,this.removeAttribute("title"),this.setAttribute("data-title",t)}},{key:"assessmentItemRefId",get:function t(){return this._context.identifier},set:function t(t){this._context=x(k({},this._context),{identifier:t})}},{key:"variables",get:function t(){return this._context.variables.map(function(t){return k({identifier:t.identifier,value:t.value,type:t.type},t.type==="outcome"&&t.identifier==="SCORE"?{externalScored:t.externalScored}:{})})},set:function t(t){var e=this;if(!Array.isArray(t)||t.some(function(t){return!("identifier"in t)})){console.warn("variables property should be an array of VariableDeclaration");return}this._context=x(k({},this._context),{variables:this._context.variables.map(function(e){var n=t.find(function(t){return t.identifier===e.identifier});return n?x(k({},e,n),{interpolationTable:e.interpolationTable}):e})}),this._context.variables.forEach(function(t){if(t.type==="response"){var n=e._interactionElements.find(function(e){return e.responseIdentifier===t.identifier});n&&(n.response=t.value)}}),this.variables.forEach(function(t){t.type==="outcome"&&e._feedbackElements.forEach(function(e){return e.checkShowFeedback(t.identifier)})})}},{key:"responses",set:function t(t){var e=true,n=false,r=undefined;if(t)try{var o,a=function(){var t=l.value;o.getResponse(t.responseIdentifier)&&o.updateResponseVariable(t.responseIdentifier,t.response);var e=o._interactionElements.find(function(e){return e.getAttribute("response-identifier")===t.responseIdentifier});e&&(e.response=t.response)};for(var s=t[Symbol.iterator](),l;!(e=(l=s.next()).done);e=true)o=this,a()}catch(t){n=true;r=t}finally{try{if(!e&&s.return!=null){s.return()}}finally{if(n){throw r}}}}},{key:"render",value:function t(){return im(J())}},{key:"connectedCallback",value:function t(){var t=this;this._attachEventListeners(),p(f(e.prototype),"connectedCallback",this).call(this),this.updateComplete.then(function(){t.dispatchEvent(new CustomEvent("qti-assessment-item-connected",{bubbles:!0,composed:!0,detail:t})),t._processTemplates()})}},{key:"disconnectedCallback",value:function t(){this._removeEventListeners(),p(f(e.prototype),"disconnectedCallback",this).call(this)}},{key:"_attachEventListeners",value:function t(){this.addEventListener("qti-register-variable",this._handleRegisterVariable),this.addEventListener("qti-register-feedback",this._handleRegisterFeedback),this.addEventListener("qti-register-interaction",this._handleRegisterInteraction),this.addEventListener("end-attempt",this._handleEndAttempt),this.addEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.addEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"_removeEventListeners",value:function t(){this.removeEventListener("qti-register-variable",this._handleRegisterVariable),this.removeEventListener("qti-register-feedback",this._handleRegisterFeedback),this.removeEventListener("qti-register-interaction",this._handleRegisterInteraction),this.removeEventListener("end-attempt",this._handleEndAttempt),this.removeEventListener("qti-set-outcome-value",this._handleSetOutcomeValue),this.removeEventListener("qti-interaction-response",this._handleUpdateResponseVariable)}},{key:"showCorrectResponse",value:function t(t){var e=true,n=false,r=undefined;try{for(var o=this._interactionElements[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s.toggleCorrectResponse(t)}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}document.querySelectorAll("item-show-correct-response").forEach(function(e){e.shown=t})}},{key:"showCandidateCorrection",value:function t(t){var e=true,n=false,r=undefined;try{for(var o=this._interactionElements[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s.toggleCandidateCorrection(t)}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}document.querySelectorAll("item-show-candidate-correction").forEach(function(e){e.shown=t})}},{key:"_processTemplates",value:function t(){this._templateProcessing=this.querySelector("qti-template-processing"),this._templateProcessing&&this._templateProcessing.process()}},{key:"processResponse",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n;this.validate(e),t&&this.updateOutcomeVariable("numAttempts",(+((n=this._context.variables.find(function(t){return t.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)+1).toString());var r=this.querySelector("qti-response-processing"),o=!!(r&&typeof r.process=="function");return o&&r.process(),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus()),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}})),o}},{key:"resetResponses",value:function t(){this._context=this._initialContext}},{key:"getResponse",value:function t(t){return this.getVariable(t)}},{key:"getOutcome",value:function t(t){return this.getVariable(t)}},{key:"getVariable",value:function t(t){return this._context.variables.find(function(e){return e.identifier===t})||null}},{key:"updateResponseVariable",value:function t(t,e){this._context=x(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==t?n:x(k({},n),{value:e})})}),this.showCandidateCorrection(!1),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,responseIdentifier:t,response:Array.isArray(e)?L(e):e}})),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}},{key:"setOutcomeVariable",value:function t(t,e){this.updateOutcomeVariable(t,e),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}}))}},{key:"updateOutcomeVariable",value:function t(t,e){var n;var r=this.getOutcome(t);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(t,", it is not available"));return}this._context=x(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==t?n:x(k({},n),{value:r.cardinality==="single"||Array.isArray(e)?e:[e]})})}),this._feedbackElements.forEach(function(e){return e.checkShowFeedback(t)}),this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:t,value:(n=this._context.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.value}}))}},{key:"validate",value:function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;var e=this._interactionElements.every(function(t){return t.validate()});return t&&this.reportValidity(),e}},{key:"reportValidity",value:function t(){var t=true,e=false,n=undefined;try{for(var r=this._interactionElements[Symbol.iterator](),o;!(t=(o=r.next()).done);t=true){var a=o.value;a.reportValidity()}}catch(t){e=true;n=t}finally{try{if(!t&&r.return!=null){r.return()}}finally{if(e){throw n}}}}},{key:"_getCompletionStatus",value:function t(){var t=this.validate(!1);return t===!0?"completed":t===!1?"incomplete":"not_attempted"}}]);return e}(iD);nJ([n({type:String})],ow.prototype,"identifier",2),nJ([n({type:String})],ow.prototype,"adaptive",2),nJ([n({type:String})],ow.prototype,"timeDependent",2),nJ([n({type:String})],ow.prototype,"title",1),nJ([n({type:Boolean})],ow.prototype,"disabled",2),nJ([nO("disabled",{waitUntilFirstUpdate:!0})],ow.prototype,"_handleDisabledChange",2),nJ([n({type:Boolean})],ow.prototype,"readonly",2),nJ([nO("readonly",{waitUntilFirstUpdate:!0})],ow.prototype,"_handleReadonlyChange",2),nJ([P({context:i8})],ow.prototype,"_context",2),ow=nJ([iz("qti-assessment-item")],ow);var ox=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t,n){l(this,e);var r;r=s(this,e,[e.eventName,{bubbles:!0,composed:!0,cancelable:!0}]);r.element=t;r.item=n;return r}return e}(D(Event));ox.eventName="qti-assessment-stimulus-ref-connected";var oC=ox,oE=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.identifier="";t.href="";return t}d(e,[{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){var t,e,o,a;return $(this,function(s){switch(s.label){case 0:r().call(n);return[4,this.updateComplete];case 1:s.sent();t=this.closest("qti-assessment-item"),e=new oC(this,t);this.dispatchEvent(e);o=t===null||t===void 0?void 0:t.querySelector('[data-stimulus-idref="'.concat(this.identifier,'"]'));a=!e.defaultPrevented&&o;if(!a)return[3,3];return[4,this.updateStimulusRef(o)];case 2:a=s.sent();s.label=3;case 3:a;return[2]}})}).call(this)}},{key:"updateStimulusRef",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:return[4,iW().load(this.href).then(function(t){return t.htmlDoc()})];case 1:e=o.sent();if(e){;r=e.querySelectorAll("qti-stimulus-body, qti-stylesheet");t.innerHTML="",(n=t).append.apply(n,L(r))}return[2]}})}).call(this)}}]);return e}(iD);nJ([n({type:String})],oE.prototype,"identifier",2),nJ([n({type:String})],oE.prototype,"href",2),oE=nJ([iz("qti-assessment-stimulus-ref")],oE);var oS=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(iD);oS=nJ([iz("qti-companion-materials-info")],oS);var oA=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(Y(),this.handleSlotChange)}},{key:"handleSlotChange",value:function t(){var t;var e;var n=Array.from((e=(t=this.firstElementChild)===null||t===void 0?void 0:t.childNodes)!==null&&e!==void 0?e:[]).find(function(t){return t.nodeType===Node.COMMENT_NODE});try{var r;this.operatorFunction=new Function("context","fn","item",(r=n===null||n===void 0?void 0:n.textContent)!==null&&r!==void 0?r:"")}catch(t){console.error("custom-operator contains invalid javascript code",t)}}},{key:"calculate",value:function t(){var t=this;var e={variable:function(e){var n,r;var o;return(o=(r=t._context)===null||r===void 0?void 0:(n=r.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.value)!==null&&o!==void 0?o:""},correct:function(e){var n,r;var o;return(o=(r=t._context)===null||r===void 0?void 0:(n=r.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.correctResponse)!==null&&o!==void 0?o:""}},n={getVariable:function(e){var n;return(n=t._context)===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier===e})},updateOutcomeVariable:function(e,n){t.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:e,value:n}}))},updateResponseVariable:function(e,n){t.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:e,response:n}}))}};return this.operatorFunction(this._context,e,n)}}]);return e}(iD);nJ([M({context:i8,subscribe:!0}),r()],oA.prototype,"_context",2),oA=nJ([iz("qti-custom-operator")],oA);var oR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(K(),this.showStatus)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return e}(oc);oR.styles=rO(Z()),oR=nJ([iz("qti-feedback-block")],oR);var oI=function(t){return t!==null&&t!==void 0?t:i_};var oT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.render=function(){return im(tt(),oI(t.showStatus))};return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return e}(oc);oT.styles=rO(te()),oT=nJ([iz("qti-feedback-inline")],oT);var oP=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tn(),this.showStatus==="on",this.closeFeedback)}},{key:"openFeedback",value:function t(){var t;var e=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("dialog");e&&!e.open&&e.showModal()}},{key:"closeFeedback",value:function t(){var t;var e=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector("dialog");e&&e.open&&(e.close(),this.showStatus="off")}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.showStatus==="on"&&this.openFeedback()}},{key:"updated",value:function t(t){t.has("showStatus")&&(this.showStatus==="on"?this.openFeedback():this.closeFeedback())}}]);return e}(oc);oP.styles=rO(tr()),oP=nJ([iz("qti-modal-feedback")],oP);var oM=rO(ti());var oO=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(to())}}]);return e}(iD);oO.styles=oM,oO=nJ([iz("qti-item-body")],oO);var oL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(ta())}},{key:"connectedCallback",value:function t(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}]);return e}(iD);oL=nJ([iz("qti-prompt")],oL);var oN=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(ts())}}]);return e}(iD);oN=nJ([iz("qti-content-body")],oN);var oU=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"handleclassNamesChange",value:function t(){var t=this;this.classNames.split(" ").forEach(function(e){switch(e){case"qti-rubric-discretionary-placement":{var n=new CustomEvent("qti-rubric:discretionary-placement",{detail:{className:e,element:t},bubbles:!0,composed:!0,cancelable:!0});if(!t.dispatchEvent(n))return;t.setAttribute("slot","qti-rubric-block")}break;case"qti-rubric-inline":t.setAttribute("slot","");break;default:break}})}},{key:"render",value:function t(){return im(tl())}}]);return e}(iD);oU.styles=rO(tu()),nJ([n({type:String})],oU.prototype,"id",2),nJ([n({type:String})],oU.prototype,"use",2),nJ([n({type:String})],oU.prototype,"view",2),nJ([n({type:String,attribute:"class"})],oU.prototype,"classNames",2),nJ([nO("classNames",{waitUntilFirstUpdate:!0})],oU.prototype,"handleclassNamesChange",1),oU=nJ([iz("qti-rubric-block")],oU);var oD=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.styleElement=null;return t}d(e,[{key:"firstUpdated",value:function t(t){var n=this;p(f(e.prototype),"firstUpdated",this).call(this,t);var r=this.getAttribute("href");if(r!==null&&fetch(r).then(function(t){return t.text()}).then(function(t){var e=n.minifyCss(t);n.styleElement=document.createElement("style"),n.styleElement.media="screen",n.styleElement.textContent="@scope {".concat(e,"}"),n.parentElement?n.parentElement.appendChild(n.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}).catch(function(t){console.error("Failed to load stylesheet:",t)}),this.textContent!==null&&this.textContent.trim()!==""){var o=this.minifyCss(this.textContent);this.styleElement=document.createElement("style"),this.styleElement.media="screen",this.styleElement.textContent="@scope {".concat(o,"}"),this.parentElement?this.parentElement.appendChild(this.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}}},{key:"minifyCss",value:function t(t){return t.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;])\s*/g,"$1").trim()}},{key:"disconnectedCallback",value:function t(){if(this.styleElement)try{this.styleElement.remove()}catch(t){console.error("Could not remove stylesheet:",t)}p(f(e.prototype),"disconnectedCallback",this).call(this)}}]);return e}(iD);oD=nJ([iz("qti-stylesheet")],oD);var oV=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return im(tc(),JSON.stringify(r,null,2))}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.defaultValues(this.cardinality),n={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,defaultValue:t,areaMapping:this.areaMapping,value:null,type:"response",candidateResponse:null};n.value=t,this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:n}}))}},{key:"correctResponse",get:function t(){var t,e=this.querySelector("qti-correct-response");if(e){var n=e.querySelectorAll("qti-value");if(this.cardinality==="single"&&n.length>0)t=n[0].textContent.trim(),n[0].remove();else if(this.cardinality!=="single"){t=[];for(var r=0;r<n.length;r++)t.push(n[r].textContent.trim()),n[r].remove()}}return t}},{key:"mapping",get:function t(){var t=this.querySelector("qti-mapping"),e=parseFloat(t===null||t===void 0?void 0:t.getAttribute("lower-bound")),n=parseFloat(t===null||t===void 0?void 0:t.getAttribute("upper-bound"));return{defaultValue:Number(t===null||t===void 0?void 0:t.getAttribute("default-value"))||0,lowerBound:isNaN(e)?null:e,upperBound:isNaN(n)?null:n,mapEntries:Array.from((t===null||t===void 0?void 0:t.querySelectorAll("qti-map-entry"))||[]).map(function(t){return{mapKey:t.getAttribute("map-key")||"",mappedValue:Number(t.getAttribute("mapped-value"))||0,caseSensitive:t.hasAttribute("case-sensitive")?t.getAttribute("case-sensitive")!=="false":!1}})}}},{key:"areaMapping",get:function t(){var t=this.querySelector("qti-area-mapping"),e=Number(t===null||t===void 0?void 0:t.getAttribute("default-value"))||0,n=parseFloat(t===null||t===void 0?void 0:t.getAttribute("lower-bound")),r=parseFloat(t===null||t===void 0?void 0:t.getAttribute("upper-bound")),o=Array.from((t===null||t===void 0?void 0:t.querySelectorAll("qti-area-map-entry"))||[]).map(function(t){return{shape:t.getAttribute("shape")||"default",coords:t.getAttribute("coords")||"",mappedValue:Number(t.getAttribute("mapped-value"))||0,defaultValue:Number(t.getAttribute("default-value"))||0}});return{defaultValue:e,lowerBound:isNaN(n)?null:n,upperBound:isNaN(r)?null:r,areaMapEntries:o}}}]);return e}(oo);oV.styles=[rO(td())],nJ([n({type:String,attribute:"base-type"})],oV.prototype,"baseType",2),nJ([n({type:String})],oV.prototype,"identifier",2),nJ([n({type:String})],oV.prototype,"cardinality",2),nJ([M({context:i8,subscribe:!0}),r()],oV.prototype,"itemContext",2),oV=nJ([iz("qti-response-declaration")],oV);var o$=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.externalScored=null;return t}d(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return im(th(),JSON.stringify(r,null,2))}},{key:"interpolationTable",get:function t(){var t=this.querySelector("qti-interpolation-table");if(t){var e=new Map;var n=true,r=false,o=undefined;try{for(var a=t.querySelectorAll("qti-interpolation-table-entry")[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;!l.getAttribute("source-value")&&l.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");var u=parseFloat(l.getAttribute("source-value")),c=parseFloat(l.getAttribute("target-value"));(isNaN(u)||isNaN(c))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),e.set(u,c)}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return e}return null}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.defaultValues(this.cardinality),n={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,defaultValue:t,type:"outcome",value:null,interpolationTable:this.interpolationTable,externalScored:this.externalScored};n.value=t,(n.value===null||n.value==null)&&(n.baseType==="integer"||n.baseType==="float")&&(n.value="0"),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:n}}))}}]);return e}(oo);o$.styles=[rO(tp())],nJ([n({type:String,attribute:"base-type"})],o$.prototype,"baseType",2),nJ([n({type:String,attribute:"external-scored"})],o$.prototype,"externalScored",2),nJ([n({type:String})],o$.prototype,"identifier",2),nJ([n({type:String})],o$.prototype,"cardinality",2),nJ([M({context:i8,subscribe:!0}),r()],o$.prototype,"itemContext",2),o$=nJ([iz("qti-outcome-declaration")],o$);var oz='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-match>\n <qti-variable identifier="RESPONSE"></qti-variable>\n <qti-correct identifier="RESPONSE"></qti-correct>\n </qti-match>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">1</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',oj='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0.0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response identifier="RESPONSE"> </qti-map-response>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>',oF='<qti-response-processing>\n <qti-response-condition>\n <qti-response-if>\n <qti-is-null>\n <qti-variable identifier="RESPONSE"></qti-variable>\n </qti-is-null>\n <qti-set-outcome-value identifier="SCORE">\n <qti-base-value base-type="float">0</qti-base-value>\n </qti-set-outcome-value>\n </qti-response-if>\n <qti-response-else>\n <qti-set-outcome-value identifier="SCORE">\n <qti-map-response-point identifier="RESPONSE"></qti-map-response-point>\n </qti-set-outcome-value>\n </qti-response-else>\n </qti-response-condition>\n</qti-response-processing>';var oH=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tf())}},{key:"process",value:function t(){if(!this.closest("qti-assessment-item"))return;var t=L(this.children);var e=true,n=false,r=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;s.process()}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}}},{key:"firstUpdated",value:function t(t){if(this.getAttribute("template")){var e=this.getAttribute("template").split("/"),n=e[e.length-1].replace(".xml","");switch(this.innerHTML="",n){case"map_response":{this.appendChild(this.fragmentFromString(oj).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(oF).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(oz).firstElementChild.firstElementChild);break}}}},{key:"fragmentFromString",value:function t(t){return document.createRange().createContextualFragment(t)}}]);return e}(iD);oH.styles=[rO(tv())],oH=nJ([iz("qti-response-processing")],oH);var oB=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tm())}}]);return e}(oP);oB.styles=rO(tg()),oB=nJ([iz("qti-test-feedback")],oB);var oQ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.identifier=void 0;t.initContext=[];t.qtiContext={QTI_CONTEXT:{testIdentifier:"",candidateIdentifier:"",environmentIdentifier:"default"}};t.configContext={};t.autoScoreItems=!1;t.addEventListener("qti-assessment-test-connected",t._handleTestConnected.bind(t)),t.addEventListener("qti-assessment-item-connected",t._handleItemConnected.bind(t)),t.addEventListener("qti-interaction-changed",t._handleInteractionChanged.bind(t)),t.addEventListener("test-end-attempt",t._handleTestEndAttempt.bind(t)),t.addEventListener("test-show-correct-response",t._handleTestShowCorrectResponse.bind(t)),t.addEventListener("test-show-candidate-correction",t._handleTestShowCandidateCorrection.bind(t)),t.addEventListener("test-update-outcome-variable",t._handleTestUpdateOutcomeVariable.bind(t));return t}d(e,[{key:"_handleTestEndAttempt",value:function t(t){var e;var n=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this._sessionContext.navItemRefId,'"]')).assessmentItem,r=((e=this.configContext)===null||e===void 0?void 0:e.reportValidityAfterScoring)===!0;n.processResponse(!0,r)}},{key:"_handleTestShowCorrectResponse",value:function t(t){var e=this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this._sessionContext.navItemRefId,'"]')).assessmentItem;e&&e.showCorrectResponse(t.detail)}},{key:"_handleTestShowCandidateCorrection",value:function t(t){this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(this._sessionContext.navItemRefId,'"]')).assessmentItem.showCandidateCorrection(t.detail)}},{key:"_handleTestUpdateOutcomeVariable",value:function t(t){this._testElement.querySelector('qti-assessment-item-ref[identifier="'.concat(t.detail.assessmentItemRefId,'"]')).assessmentItem.setOutcomeVariable(t.detail.outcomeVariableId,t.detail.value)}},{key:"_handleInteractionChanged",value:function t(t){if(this.autoScoreItems){var e=t.composedPath()[0].closest("qti-assessment-item"),n=e.variables.find(function(t){return t.identifier==="SCORE"});if(n&&n.externalScored===null&&e.adaptive==="false"){var r;var o=((r=this.configContext)===null||r===void 0?void 0:r.reportValidityAfterScoring)===!0;e.processResponse(!0,o)}}}},{key:"render",value:function t(){return im(ty())}},{key:"_handleTestConnected",value:function t(t){var e=this;var n,r,o;if(this._testElement=t.detail,!((n=this.qtiContext.QTI_CONTEXT)===null||n===void 0?void 0:n.testIdentifier)){var a=this.qtiContext.QTI_CONTEXT||{testIdentifier:"",candidateIdentifier:"not set",environmentIdentifier:"default"};this.qtiContext={QTI_CONTEXT:x(k({},a),{testIdentifier:this._testElement.identifier,environmentIdentifier:a.environmentIdentifier||"default"})}}this._testElement.querySelectorAll('qti-context-declaration[identifier="QTI_CONTEXT"]').forEach(function(t){var n=e._extractDefaultValues(t);Object.keys(n).length>0&&(e.qtiContext={QTI_CONTEXT:k({},n,e.qtiContext.QTI_CONTEXT)})});var s=Array.from(((r=this._testElement)===null||r===void 0?void 0:r.querySelectorAll("qti-test-part"))||[]);this.computedContext={identifier:this._testElement.identifier,title:this._testElement.title,view:(o=this._sessionContext)===null||o===void 0?void 0:o.view,testParts:s.map(function(t){var n=L(t.querySelectorAll("qti-assessment-section"));return{active:!1,identifier:t.identifier,navigationMode:t.navigationMode,submissionMode:t.submissionMode,sections:n.map(function(t){var n=L(t.querySelectorAll("qti-assessment-item-ref"));return{active:!1,identifier:t.identifier,title:t.title,items:n.map(function(t){var n,r;return x(k({},(n=e.initContext)===null||n===void 0?void 0:n.find(function(e){return e.identifier===t.identifier})),{active:!1,identifier:t.identifier,categories:t.category?(r=t.category)===null||r===void 0?void 0:r.split(" "):[],href:t.href,variables:[]})})}})}})}}},{key:"_extractDefaultValues",value:function t(t){var e={},n=t.querySelector("qti-default-value");return n&&n.querySelectorAll("qti-value[field-identifier]").forEach(function(t){var n;var r=t.getAttribute("field-identifier"),o=t.getAttribute("base-type")||"string",a=((n=t.textContent)===null||n===void 0?void 0:n.trim())||"";if(r){var s=a;switch(o){case"integer":s=parseInt(a,10);break;case"float":case"duration":s=parseFloat(a);break;case"boolean":s=a.toLowerCase()==="true";break;case"string":default:s=a;break}e[r]=s}}),e}},{key:"_handleItemConnected",value:function t(t){var e=t.detail;this.computedContext=x(k({},this.computedContext),{testParts:this.computedContext.testParts.map(function(t){return x(k({},t),{sections:t.sections.map(function(t){return x(k({},t),{items:t.items.map(function(t){var n;if(t.identifier!==e.parentElement.getAttribute("identifier"))return t;var r=(n=e.querySelector("qti-outcome-declaration[identifier='SCORE']"))===null||n===void 0?void 0:n.getAttribute("externalScored"),o=e.querySelectorAll("qti-response-declaration"),a=Array.from(o).some(function(t){return t.querySelector("qti-correct-response")}),s=Array.from(o).some(function(t){var e=t.querySelector("qti-mapping"),n=t.querySelector("qti-area-mapping");return(e===null||e===void 0?void 0:e.querySelector("qti-map-entry"))||(n===null||n===void 0?void 0:n.querySelector("qti-area-map-entry"))}),l=a||s,u=!!e.querySelector("qti-response-processing");return x(k({},t),{assessmentItemIdentifier:e.getAttribute("identifier"),label:e.getAttribute("label"),title:e.title,externalScored:r,adaptive:e.adaptive=="true"||!1,timeDependent:e.timeDependent=="true"||!1,variables:e.variables,hasCorrectResponse:l,hasResponseProcessing:u})})})})})})})}},{key:"willUpdate",value:function t(t){var e=this;var n;if(!this.computedContext)return;var r=1;this.computedContext=x(k({},this.computedContext),{view:(n=this._sessionContext)===null||n===void 0?void 0:n.view,testParts:this.computedContext.testParts.map(function(t){var n;return x(k({},t),{active:((n=e._sessionContext)===null||n===void 0?void 0:n.navPartId)===t.identifier||!1,sections:t.sections.map(function(t){var n;return x(k({},t),{active:((n=e._sessionContext)===null||n===void 0?void 0:n.navSectionId)===t.identifier||!1,completed:t.items.every(function(t){var n;return((n=e._testContext.items.find(function(e){return e.identifier===t.identifier}))===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier==="completionStatus"}).value)==="completed"}),items:t.items.map(function(t){var n,o,a,s,l,u,c,d,h,p,f,v,m,g;var y=(n=e._testContext)===null||n===void 0?void 0:n.items.find(function(e){return e.identifier===t.identifier}),b=k({},t,y,(o=e.initContext)===null||o===void 0?void 0:o.find(function(e){return e.identifier===t.identifier})),_=(s=b.variables)===null||s===void 0?void 0:(a=s.find(function(t){return t.identifier=="SCORE"}))===null||a===void 0?void 0:a.value,q=_==null?null:parseFloat(_===null||_===void 0?void 0:_.toString()),w=(u=b.variables)===null||u===void 0?void 0:(l=u.find(function(t){return t.identifier==="completionStatus"}))===null||l===void 0?void 0:l.value,C=((d=b.variables)===null||d===void 0?void 0:(c=d.find(function(t){return t.identifier==="RESPONSE"}))===null||c===void 0?void 0:c.value)||"",E=((p=b.variables)===null||p===void 0?void 0:(h=p.find(function(t){return t.identifier==="numAttempts"}))===null||h===void 0?void 0:h.value)||0,S=((f=e._sessionContext)===null||f===void 0?void 0:f.navItemRefId)===b.identifier||!1,A=t.categories.includes((v=e.configContext)===null||v===void 0?void 0:v.infoItemCategory)?null:r++,R=(g=t.variables)===null||g===void 0?void 0:(m=g.find(function(t){return t.identifier=="MAXSCORE"}))===null||m===void 0?void 0:m.value,I=R==null?null:parseFloat(R===null||R===void 0?void 0:R.toString());return x(k({},b),{completionStatus:w,numAttempts:E,score:q,response:C,index:A,active:S,maxScore:I})})})})})})}),this.dispatchEvent(new CustomEvent("qti-computed-context-updated",{detail:this.computedContext,bubbles:!0}))}}]);return e}(iD);nJ([n({type:String})],oQ.prototype,"identifier",2),nJ([r()],oQ.prototype,"initContext",2),nJ([r(),P({context:i7})],oQ.prototype,"qtiContext",2),nJ([r(),P({context:i4})],oQ.prototype,"configContext",2),nJ([r(),M({context:on,subscribe:!0})],oQ.prototype,"_testContext",2),nJ([r(),M({context:ot,subscribe:!0})],oQ.prototype,"_sessionContext",2),nJ([r(),P({context:i5})],oQ.prototype,"computedContext",2),nJ([n({type:Boolean,attribute:"auto-score-items"})],oQ.prototype,"autoScoreItems",2),oQ=nJ([iz("test-navigation")],oQ);var oW=rO(tb()),oG=rO(t_(),oW),oX=rO(tq()),oJ=rO(tk(),oW);var oY=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._internalDisabled=!0;t._internals=t.attachInternals(),t._internals.role="button",t._internals.ariaLabel="Next item",t.addEventListener("click",function(e){e.preventDefault(),t._internalDisabled||t._requestItem(t.sectionItems[t.itemIndex+1].identifier)});return t}d(e,[{key:"_handleTestElementChange",value:function t(t,e){e&&(this._internalDisabled=!1)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.checkDisabled()}},{key:"willUpdate",value:function t(t){var e;if(!this.computedContext)return;var n=(e=this.computedContext)===null||e===void 0?void 0:e.testParts.find(function(t){return t.active});n&&(this.sectionItems=n.sections.flatMap(function(t){return t.items}),this.itemIndex=this.sectionItems.findIndex(function(t){return t.active}),this.checkDisabled())}},{key:"checkDisabled",value:function t(){var t;this._internalDisabled=!this.computedContext||this.itemIndex<0||this.itemIndex>=((t=this.sectionItems)===null||t===void 0?void 0:t.length)-1}},{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:t}}))}},{key:"render",value:function t(){return im(tw())}}]);return e}(iD);oY.styles=rO(tx(),oG,oX),nJ([n({type:Boolean,reflect:!0,attribute:"disabled"})],oY.prototype,"_internalDisabled",2),nJ([M({context:i5,subscribe:!0})],oY.prototype,"computedContext",2),nJ([nO("computedContext")],oY.prototype,"_handleTestElementChange",1),oY=nJ([iz("test-next")],oY);var oK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._internalDisabled=!0;t.addEventListener("click",function(e){e.preventDefault(),t._internalDisabled||t._requestItem(t.sectionItems[t.itemIndex-1].identifier)});return t}d(e,[{key:"_handleTestElementChange",value:function t(t,e){e&&(this._internalDisabled=!1)}},{key:"willUpdate",value:function t(t){var e;if(!this.computedContext)return;var n=(e=this.computedContext)===null||e===void 0?void 0:e.testParts.find(function(t){return t.active});n&&(this.sectionItems=n.sections.flatMap(function(t){return t.items}),this.itemIndex=this.sectionItems.findIndex(function(t){return t.active}),this.checkDisabled())}},{key:"checkDisabled",value:function t(){this._internalDisabled=!this.computedContext||this.itemIndex===0||this.itemIndex===-1}},{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:t}}))}},{key:"render",value:function t(){return im(tC())}}]);return e}(iD);oK.styles=rO(tE(),oG,oX),nJ([n({type:Boolean,reflect:!0,attribute:"disabled"})],oK.prototype,"_internalDisabled",2),nJ([M({context:i5,subscribe:!0})],oK.prototype,"computedContext",2),nJ([nO("computedContext")],oK.prototype,"_handleTestElementChange",1),oK=nJ([iz("test-prev")],oK);var oZ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.label="view";t._handleViewOptionsChange=function(){t.updateViewOptions()};t._viewOptions=oZ.DEFAULT_VIEW_OPTIONS;return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.updateViewOptions()}},{key:"updateViewOptions",value:function t(){if(this.viewOptions){var t=this.viewOptions.split(",").map(function(t){return t.trim()});this._viewOptions=t.filter(function(t){return oZ.DEFAULT_VIEW_OPTIONS.includes(t)})}else this._viewOptions=oZ.DEFAULT_VIEW_OPTIONS}},{key:"_switchView",value:function t(t){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:t}))}},{key:"render",value:function t(){var t=this;return im(tA(),this.label,function(e){var n=e.target;t._switchView(n.value)},this._viewOptions.map(function(e){return im(tS(),e,e===t.sessionContext.view,e)}))}}]);return e}(iD);oZ.DEFAULT_VIEW_OPTIONS=["author","candidate","proctor","scorer","testConstructor","tutor"],nJ([M({context:ot,subscribe:!0})],oZ.prototype,"sessionContext",2),nJ([n({type:String})],oZ.prototype,"label",2),nJ([n({type:String,attribute:"view-options"})],oZ.prototype,"viewOptions",2),nJ([nO("viewOptions",{waitUntilFirstUpdate:!0})],oZ.prototype,"_handleViewOptionsChange",2),nJ([r()],oZ.prototype,"_viewOptions",2),oZ=nJ([iz("test-view")],oZ);var o0=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.itemId=null;t.addEventListener("click",function(){return t._requestItem(t.itemId)});return t}d(e,[{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"item",id:t}}))}},{key:"render",value:function t(){return im(tR())}}]);return e}(iD);o0.styles=rO(tI(),oG,oX),nJ([n({type:String,attribute:"item-id"})],o0.prototype,"itemId",2),o0=nJ([iz("test-item-link")],o0);var o1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t.addEventListener("click",function(){return t.dispatchEvent(new CustomEvent("test-end-attempt",{bubbles:!0}))});return t}d(e,[{key:"render",value:function t(){return im(tT())}}]);return e}(iD);o1.styles=rO(tP(),oG,oX),o1=nJ([iz("test-end-attempt")],o1);var o2=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.shown=!1;t.disabled=!1;t.showCorrectText="Show correct response";t.hideCorrectText="Hide correct response";t.noCorrectResponseText="No correct response specified";return t}d(e,[{key:"willUpdate",value:function t(t){var e;var n=(e=this.computedContext)===null||e===void 0?void 0:e.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(this._previousActiveItem!==n&&(this.shown=!1,this._previousActiveItem=n),n){var r,o;var a=!!(n===null||n===void 0?void 0:(r=n.variables)===null||r===void 0?void 0:r.some(function(t){return t.correctResponse})),s=!!(n===null||n===void 0?void 0:(o=n.variables)===null||o===void 0?void 0:o.some(function(t){var e,n,r,o;return((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.length)>0||((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.length)>0}));this.disabled=!a&&!s}else this.disabled=!0}},{key:"_toggleState",value:function t(){this.disabled||(this.shown=!this.shown,this.dispatchEvent(new CustomEvent("test-show-correct-response",{detail:this.shown,bubbles:!0})))}},{key:"_getDisplayedText",value:function t(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCorrectText:this.showCorrectText}},{key:"render",value:function t(){return im(tM(),this._toggleState,this._getDisplayedText())}}]);return e}(iD);o2.styles=rO(tO(),oG,oX),nJ([M({context:i5,subscribe:!0})],o2.prototype,"computedContext",2),nJ([n({type:Boolean,reflect:!0})],o2.prototype,"shown",2),nJ([n({type:Boolean,reflect:!0})],o2.prototype,"disabled",2),nJ([n({type:String})],o2.prototype,"showCorrectText",2),nJ([n({type:String})],o2.prototype,"hideCorrectText",2),nJ([n({type:String})],o2.prototype,"noCorrectResponseText",2),o2=nJ([iz("test-show-correct-response")],o2);var o3=["this"],o5=["+","-","!"],o4=["=","+","-","*","/","%","^","==","!=",">","<",">=","<=","||","&&","??","&","===","!==","|","|>"],o6={"!":0,":":0,",":0,")":0,"]":0,"}":0,"|>":1,"?":2,"??":3,"||":4,"&&":5,"|":6,"^":7,"&":8,"!=":9,"==":9,"!==":9,"===":9,">=":10,">":10,"<=":10,"<":10,"+":11,"-":11,"%":12,"/":12,"*":12,"(":13,"[":13,".":13,"{":13},o8=13;var o7=["==","!=","<=",">=","||","&&","??","|>"],o9=["===","!=="],at;(function(t){t[t.STRING=1]="STRING",t[t.IDENTIFIER=2]="IDENTIFIER",t[t.DOT=3]="DOT",t[t.COMMA=4]="COMMA",t[t.COLON=5]="COLON",t[t.INTEGER=6]="INTEGER",t[t.DECIMAL=7]="DECIMAL",t[t.OPERATOR=8]="OPERATOR",t[t.GROUPER=9]="GROUPER",t[t.KEYWORD=10]="KEYWORD",t[t.ARROW=11]="ARROW"})(at||(at={}));var ae=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return{kind:t,value:e,precedence:n}},an=function(t){return t===9||t===10||t===13||t===32},ar=function(t){return t===95||t===36||(t&=-33,65<=t&&t<=90)},ai=function(t){return ar(t)||as(t)},ao=function(t){return o3.indexOf(t)!==-1},aa=function(t){return t===34||t===39},as=function(t){return 48<=t&&t<=57},al=function(t){return t===43||t===45||t===42||t===47||t===33||t===38||t===37||t===60||t===61||t===62||t===63||t===94||t===124},au=function(t){return t===40||t===41||t===91||t===93||t===123||t===125},ac=function(t){return t.replace(/\\(.)/g,function(t,e){switch(e){case"n":return"\n";case"r":return"\r";case"t":return" ";case"b":return"\b";case"f":return"\f";default:return e}})},ad,ah,ap,af,av,am,ag,ay,ab,a_,aq,ak,aw,ax,aC,aE,aS,aA=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);nZ(this,av);nZ(this,ad);nZ(this,ah,-1);nZ(this,ap,0);nZ(this,af);n0(this,ad,e),n1(this,av,am).call(this)}d(t,[{key:"nextToken",value:function t(){for(;an(nK(this,af));)n1(this,av,am).call(this,!0);if(aa(nK(this,af)))return n1(this,av,ab).call(this);if(ar(nK(this,af)))return n1(this,av,a_).call(this);if(as(nK(this,af)))return n1(this,av,aq).call(this);if(nK(this,af)===46)return n1(this,av,ak).call(this);if(nK(this,af)===44)return n1(this,av,aw).call(this);if(nK(this,af)===58)return n1(this,av,ax).call(this);if(al(nK(this,af)))return n1(this,av,aE).call(this);if(au(nK(this,af)))return n1(this,av,aS).call(this);if(n1(this,av,am).call(this),nK(this,af)!==void 0)throw new Error("Expected end of input, got ".concat(nK(this,af)))}}]);return t}();ad=new WeakMap,ah=new WeakMap,ap=new WeakMap,af=new WeakMap,av=new WeakSet,am=function t(t){n2(this,ah)._++,nK(this,ah)<nK(this,ad).length?(n0(this,af,nK(this,ad).charCodeAt(nK(this,ah))),t===!0&&n0(this,ap,nK(this,ah))):n0(this,af,void 0)},ag=function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;var e=nK(this,ad).substring(nK(this,ap),nK(this,ah)+t);return t===0&&n1(this,av,ay).call(this),e},ay=function t(){n0(this,ap,nK(this,ah))},ab=function t(){var t="unterminated string",e=nK(this,af);for(n1(this,av,am).call(this,!0);nK(this,af)!==e;){if(nK(this,af)===void 0)throw new Error(t);if(nK(this,af)===92&&(n1(this,av,am).call(this),nK(this,af)===void 0))throw new Error(t);n1(this,av,am).call(this)}var n=ae(at.STRING,ac(n1(this,av,ag).call(this)));return n1(this,av,am).call(this),n},a_=function t(){do n1(this,av,am).call(this);while(ai(nK(this,af)));var t=n1(this,av,ag).call(this),e=ao(t)?at.KEYWORD:at.IDENTIFIER;return ae(e,t)},aq=function t(){do n1(this,av,am).call(this);while(as(nK(this,af)));return nK(this,af)===46?n1(this,av,ak).call(this):ae(at.INTEGER,n1(this,av,ag).call(this))},ak=function t(){return n1(this,av,am).call(this),as(nK(this,af))?n1(this,av,aC).call(this):(n1(this,av,ay).call(this),ae(at.DOT,".",o8))},aw=function t(){return n1(this,av,am).call(this,!0),ae(at.COMMA,",")},ax=function t(){return n1(this,av,am).call(this,!0),ae(at.COLON,":")},aC=function t(){do n1(this,av,am).call(this);while(as(nK(this,af)));return ae(at.DECIMAL,n1(this,av,ag).call(this))},aE=function t(){n1(this,av,am).call(this);var t=n1(this,av,ag).call(this,2);if(o9.indexOf(t)!==-1)n1(this,av,am).call(this),n1(this,av,am).call(this);else{if(t=n1(this,av,ag).call(this,1),t==="=>")return n1(this,av,am).call(this),ae(at.ARROW,t);o7.indexOf(t)!==-1&&n1(this,av,am).call(this)}return t=n1(this,av,ag).call(this),ae(at.OPERATOR,t,o6[t])},aS=function t(){var t=String.fromCharCode(nK(this,af)),e=ae(at.GROUPER,t,o6[t]);return n1(this,av,am).call(this,!0),e};var aR=function(t,e){return new a0(t,e).parse()},aI,aT,aP,aM,aO,aL,aN,aU,aD,aV,a$,az,aj,aF,aH,aB,aQ,aW,aG,aX,aJ,aY,aK,aZ,a0=/*#__PURE__*/function(){"use strict";function t(e,n){l(this,t);nZ(this,aL);nZ(this,aI);nZ(this,aT);nZ(this,aP);nZ(this,aM);nZ(this,aO);n0(this,aT,new aA(e)),n0(this,aP,n)}d(t,[{key:"parse",value:function t(){return n1(this,aL,aN).call(this),n1(this,aL,aU).call(this)}},{key:"_matches",value:function t(t,e){return!(t&&nK(this,aI)!==t||e&&nK(this,aO)!==e)}}]);return t}();aI=new WeakMap,aT=new WeakMap,aP=new WeakMap,aM=new WeakMap,aO=new WeakMap,aL=new WeakSet,aN=function t(t,e){var n,r;if(!this._matches(t,e))throw new Error("Expected kind ".concat(t," (").concat(e,"), was ").concat((n=nK(this,aM))===null||n===void 0?void 0:n.kind," (").concat((r=nK(this,aM))===null||r===void 0?void 0:r.value,")"));var o=nK(this,aT).nextToken();n0(this,aM,o),n0(this,aI,o===null||o===void 0?void 0:o.kind),n0(this,aO,o===null||o===void 0?void 0:o.value)},aU=function t(){if(!nK(this,aM))return nK(this,aP).empty();var t=n1(this,aL,az).call(this);return t===void 0?void 0:n1(this,aL,aD).call(this,t,0)},aD=function t(t,e){if(t===void 0)throw new Error("Expected left to be defined.");for(;nK(this,aM);)if(this._matches(at.GROUPER,"(")){var n=n1(this,aL,aG).call(this);t=nK(this,aP).invoke(t,void 0,n)}else if(this._matches(at.GROUPER,"[")){var r=n1(this,aL,aX).call(this);t=nK(this,aP).index(t,r)}else if(this._matches(at.DOT)){n1(this,aL,aN).call(this);var o=n1(this,aL,az).call(this);t=n1(this,aL,aV).call(this,t,o)}else{if(this._matches(at.KEYWORD))break;if(this._matches(at.OPERATOR)&&nK(this,aM).precedence>=e)t=nK(this,aO)==="?"?n1(this,aL,aj).call(this,t):n1(this,aL,a$).call(this,t,nK(this,aM));else break}return t},aV=function t(t,e){if(e===void 0)throw new Error("expected identifier");if(e.type==="ID")return nK(this,aP).getter(t,e.value);if(e.type==="Invoke"&&e.receiver.type==="ID"){var n=e.receiver;return nK(this,aP).invoke(t,n.value,e.arguments)}else throw new Error("expected identifier: ".concat(e))},a$=function t(t,e){if(o4.indexOf(e.value)===-1)throw new Error("unknown operator: ".concat(e.value));n1(this,aL,aN).call(this);var n=n1(this,aL,az).call(this);for(;(nK(this,aI)===at.OPERATOR||nK(this,aI)===at.DOT||nK(this,aI)===at.GROUPER)&&nK(this,aM).precedence>e.precedence;)n=n1(this,aL,aD).call(this,n,nK(this,aM).precedence);return nK(this,aP).binary(t,e.value,n)},az=function t(){if(this._matches(at.OPERATOR)){var t=nK(this,aO);if(n1(this,aL,aN).call(this),t==="+"||t==="-"){if(this._matches(at.INTEGER))return n1(this,aL,aK).call(this,t);if(this._matches(at.DECIMAL))return n1(this,aL,aZ).call(this,t)}if(o5.indexOf(t)===-1)throw new Error("unexpected token: ".concat(t));var e=n1(this,aL,aD).call(this,n1(this,aL,aF).call(this),o8);return nK(this,aP).unary(t,e)}return n1(this,aL,aF).call(this)},aj=function t(t){n1(this,aL,aN).call(this,at.OPERATOR,"?");var e=n1(this,aL,aU).call(this);n1(this,aL,aN).call(this,at.COLON);var n=n1(this,aL,aU).call(this);return nK(this,aP).ternary(t,e,n)},aF=function t(){switch(nK(this,aI)){case at.KEYWORD:var t=nK(this,aO);if(t==="this")return n1(this,aL,aN).call(this),nK(this,aP).id(t);throw o3.indexOf(t)!==-1?new Error("unexpected keyword: ".concat(t)):new Error("unrecognized keyword: ".concat(t));case at.IDENTIFIER:return n1(this,aL,aQ).call(this);case at.STRING:return n1(this,aL,aY).call(this);case at.INTEGER:return n1(this,aL,aK).call(this);case at.DECIMAL:return n1(this,aL,aZ).call(this);case at.GROUPER:return nK(this,aO)==="("?n1(this,aL,aJ).call(this):nK(this,aO)==="{"?n1(this,aL,aB).call(this):nK(this,aO)==="["?n1(this,aL,aH).call(this):void 0;case at.COLON:throw new Error('unexpected token ":"');default:return}},aH=function t(){var t=[];do{if(n1(this,aL,aN).call(this),this._matches(at.GROUPER,"]"))break;t.push(n1(this,aL,aU).call(this))}while(this._matches(at.COMMA));return n1(this,aL,aN).call(this,at.GROUPER,"]"),nK(this,aP).list(t)},aB=function t(){var t={};do{if(n1(this,aL,aN).call(this),this._matches(at.GROUPER,"}"))break;var e=nK(this,aO);(this._matches(at.STRING)||this._matches(at.IDENTIFIER))&&n1(this,aL,aN).call(this),n1(this,aL,aN).call(this,at.COLON),t[e]=n1(this,aL,aU).call(this)}while(this._matches(at.COMMA));return n1(this,aL,aN).call(this,at.GROUPER,"}"),nK(this,aP).map(t)},aQ=function t(){var t=nK(this,aO);if(t==="true")return n1(this,aL,aN).call(this),nK(this,aP).literal(!0);if(t==="false")return n1(this,aL,aN).call(this),nK(this,aP).literal(!1);if(t==="null")return n1(this,aL,aN).call(this),nK(this,aP).literal(null);if(t==="undefined")return n1(this,aL,aN).call(this),nK(this,aP).literal(void 0);var e=n1(this,aL,aW).call(this),n=n1(this,aL,aG).call(this);return n?nK(this,aP).invoke(e,void 0,n):e},aW=function t(){if(!this._matches(at.IDENTIFIER))throw new Error("expected identifier: ".concat(nK(this,aO)));var t=nK(this,aO);return n1(this,aL,aN).call(this),nK(this,aP).id(t)},aG=function t(){if(!this._matches(at.GROUPER,"("))return;var t=[];do{if(n1(this,aL,aN).call(this),this._matches(at.GROUPER,")"))break;var e=n1(this,aL,aU).call(this);t.push(e)}while(this._matches(at.COMMA));return n1(this,aL,aN).call(this,at.GROUPER,")"),t},aX=function t(){n1(this,aL,aN).call(this);var t=n1(this,aL,aU).call(this);return n1(this,aL,aN).call(this,at.GROUPER,"]"),t},aJ=function t(){var t=n1(this,aL,aG).call(this);if(this._matches(at.ARROW)){n1(this,aL,aN).call(this);var e;var n=n1(this,aL,aU).call(this),r=(e=t===null||t===void 0?void 0:t.map(function(t){return t.value}))!==null&&e!==void 0?e:[];return nK(this,aP).arrowFunction(r,n)}else return nK(this,aP).paren(t[0])},aY=function t(){var t=nK(this,aP).literal(nK(this,aO));return n1(this,aL,aN).call(this),t},aK=function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";var e=nK(this,aP).literal(parseInt("".concat(t).concat(nK(this,aO)),10));return n1(this,aL,aN).call(this),e},aZ=function t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";var e=nK(this,aP).literal(parseFloat("".concat(t).concat(nK(this,aO))));return n1(this,aL,aN).call(this),e};var a1=Object.hasOwn,a2=Object.fromEntries,a3={"+":function(t,e){return t+e},"-":function(t,e){return t-e},"*":function(t,e){return t*e},"/":function(t,e){return t/e},"%":function(t,e){return t%e},"==":function(t,e){return t==e},"!=":function(t,e){return t!=e},"===":function(t,e){return t===e},"!==":function(t,e){return t!==e},">":function(t,e){return t>e},">=":function(t,e){return t>=e},"<":function(t,e){return t<e},"<=":function(t,e){return t<=e},"||":function(t,e){return t||e},"&&":function(t,e){return t&&e},"??":function(t,e){return t!==null&&t!==void 0?t:e},"|":function(t,e){return e(t)},"|>":function(t,e){return e(t)}},a5={"+":function(t){return t},"-":function(t){return-t},"!":function(t){return!t}},a4=/*#__PURE__*/function(){"use strict";function t(){l(this,t)}d(t,[{key:"empty",value:function t(){return{type:"Empty",evaluate:function t(t){return t},getIds:function t(t){return t}}}},{key:"literal",value:function t(t){return{type:"Literal",value:t,evaluate:function t(t){return this.value},getIds:function t(t){return t}}}},{key:"id",value:function t(t){return{type:"ID",value:t,evaluate:function t(t){return this.value==="this"?t:t===null||t===void 0?void 0:t[this.value]},getIds:function t(t){return t.push(this.value),t}}}},{key:"unary",value:function t(t,e){var n=a5[t];return{type:"Unary",operator:t,child:e,evaluate:function t(t){return n(this.child.evaluate(t))},getIds:function t(t){return this.child.getIds(t)}}}},{key:"binary",value:function t(t,e,n){var r=a3[e];return{type:"Binary",operator:e,left:t,right:n,evaluate:function t(t){if(this.operator==="="){if(this.left.type!=="ID"&&this.left.type!=="Getter"&&this.left.type!=="Index")throw new Error("Invalid assignment target: ".concat(this.left));var e=this.right.evaluate(t),n,o;return this.left.type==="Getter"?(n=this.left.receiver.evaluate(t),o=this.left.name):this.left.type==="Index"?(n=this.left.receiver.evaluate(t),o=this.left.argument.evaluate(t)):this.left.type==="ID"&&(n=t,o=this.left.value),n===void 0?void 0:n[o]=e}return r(this.left.evaluate(t),this.right.evaluate(t))},getIds:function t(t){return this.left.getIds(t),this.right.getIds(t),t}}}},{key:"getter",value:function t(t,e){return{type:"Getter",receiver:t,name:e,evaluate:function t(t){var e;return(e=this.receiver.evaluate(t))===null||e===void 0?void 0:e[this.name]},getIds:function t(t){return this.receiver.getIds(t),t}}}},{key:"invoke",value:function t(t,e,n){if(e!=null&&typeof e!="string")throw new Error("method not a string");return{type:"Invoke",receiver:t,method:e,arguments:n,evaluate:function t(t){var n;var r,o;var a=this.receiver.evaluate(t),s=this.method?a:(r=t===null||t===void 0?void 0:t.this)!==null&&r!==void 0?r:t,l=this.method?a===null||a===void 0?void 0:a[e]:a,u=((o=this.arguments)!==null&&o!==void 0?o:[]).map(function(e){return e===null||e===void 0?void 0:e.evaluate(t)});return l===null||l===void 0?void 0:(n=l.apply)===null||n===void 0?void 0:n.call(l,s,u)},getIds:function t(t){var e;return this.receiver.getIds(t),(e=this.arguments)===null||e===void 0?void 0:e.forEach(function(e){return e===null||e===void 0?void 0:e.getIds(t)}),t}}}},{key:"paren",value:function t(t){return t}},{key:"index",value:function t(t,e){return{type:"Index",receiver:t,argument:e,evaluate:function t(t){var e;return(e=this.receiver.evaluate(t))===null||e===void 0?void 0:e[this.argument.evaluate(t)]},getIds:function t(t){return this.receiver.getIds(t),t}}}},{key:"ternary",value:function t(t,e,n){return{type:"Ternary",condition:t,trueExpr:e,falseExpr:n,evaluate:function t(t){return this.condition.evaluate(t)?this.trueExpr.evaluate(t):this.falseExpr.evaluate(t)},getIds:function t(t){return this.condition.getIds(t),this.trueExpr.getIds(t),this.falseExpr.getIds(t),t}}}},{key:"map",value:function t(t){return{type:"Map",entries:t,evaluate:function e(e){var n={};if(t&&this.entries)for(var r in t){var o=this.entries[r];o&&(n[r]=o.evaluate(e))}return n},getIds:function e(e){if(t&&this.entries)for(var n in t){var r=this.entries[n];r&&r.getIds(e)}return e}}}},{key:"list",value:function t(t){return{type:"List",items:t,evaluate:function t(t){var e;return(e=this.items)===null||e===void 0?void 0:e.map(function(e){return e===null||e===void 0?void 0:e.evaluate(t)})},getIds:function t(t){var e;return(e=this.items)===null||e===void 0?void 0:e.forEach(function(e){return e===null||e===void 0?void 0:e.getIds(t)}),t}}}},{key:"arrowFunction",value:function t(t,e){return{type:"ArrowFunction",params:t,body:e,evaluate:function t(t){var e=this.params,n=this.body;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++){o[a]=arguments[a]}var s=a2(e.map(function(t,e){return[t,o[e]]})),l=new Proxy(t!==null&&t!==void 0?t:{},{set:function t(t,e,n){return a1(s,e)&&(s[e]=n),t[e]=n},get:function t(t,e){return a1(s,e)?s[e]:t[e]}});return n.evaluate(l)}},getIds:function t(t){var e=this;return this.body.getIds(t).filter(function(t){return!e.params.includes(t)})}}}}]);return t}();var a6=null,a8={boundAttributeSuffix:iM.M,marker:iM.P,markerMatch:iM.A,HTML_RESULT:iM.C,getTemplateHtml:iM.L,overrideDirectiveResolve:function(t,e){var n=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){l(this,n);return s(this,n,arguments)}d(n,[{key:"_$AS",value:function t(t,n){return e(this,n)}}]);return n}(t);return n},patchDirectiveResolve:function(t,e){if(t.prototype._$AS.name!==e.name){a6!==null&&a6!==void 0?a6:a6=t.prototype._$AS.name;for(var n=t.prototype;n!==Object.prototype;n=Object.getPrototypeOf(n))if(n.hasOwnProperty(a6))return void(n[a6]=e);throw Error("Internal error: It is possible that both dev mode and production mode Lit was mixed together during SSR. Please comment on the issue: https://github.com/lit/lit/issues/4527")}},setDirectiveClass:function t(t,e){t._$litDirective$=e},getAttributePartCommittedValue:function(t,e,n){var r=ib;return t.j=function(t){return r=t},t._$AI(e,t,n),r},connectedDisconnectable:function(t){return x(k({},t),{_$AU:!0})},resolveDirective:iM.V,AttributePart:iM.H,PropertyPart:iM.B,BooleanAttributePart:iM.N,EventPart:iM.U,ElementPart:iM.F,TemplateInstance:iM.R,isIterable:iM.D,ChildPart:iM.I};var a7=a8.AttributePart,a9=a8.PropertyPart,st=a8.BooleanAttributePart,se=a8.EventPart,sn=new a4,sr=new Map,si=function(t){return t.replace(/-(-|\w)/g,function(t,e){return e.toUpperCase()})},so=function(t,e){var n=sr.get(t);if(n===void 0){if(sr.has(t))return;if(t=t.trim(),t.startsWith("{{")&&t.endsWith("}}")){var r=t.substring(2,t.length-2).trim();n=new a0(r,sn).parse(),sr.set(t,n)}}return n===null||n===void 0?void 0:n.evaluate(e)},sa=function(t,e,n,r){var o=t.getAttribute("if");if(o!==null&&so(o,e))return sp(t,e,n,r)},ss=RegExp("(?<!\\\\){{(.*?)(?:(?<!\\\\)}})","g"),sl=function(t){return/(?:\\{{)|(?:\\}})/g.test(t)},su=function(t){return t.replaceAll(/\\{{/g,"{{").replace(/\\}}/g,"}}")},sc=function(t,e,n,r){var o=t.getAttribute("repeat");if(o!==null){var a=so(o,e);if(!a[Symbol.iterator])return i_;var s=sv(t),l=-1,u=[];var c=true,d=false,h=undefined;try{for(var p=a[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;l++;var m=Object.create(e);var g;m.item=v,m.index=l,m.this=(g=e.this)!==null&&g!==void 0?g:e;var y=[];var b=true,_=false,q=undefined;try{for(var k=s.parts[Symbol.iterator](),w;!(b=(w=k.next()).done);b=true){var x=w.value;var C;var E=x.update(m,n,r);x.type===1?(C=y).push.apply(C,L(E)):y.push(E)}}catch(t){_=true;q=t}finally{try{if(!b&&k.return!=null){k.return()}}finally{if(_){throw q}}}var S={_$litType$:s,values:y};u.push(S)}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}return u}},sd={if:sa,repeat:sc},sh=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sd,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var o=sv(t).renderers;if(r){var a=sv(r).renderers,s=o.super;s!==void 0?n=x(k({},o,n),{super:function(t,e,n){return n=x(k({},a,n),{super:function(t,e,n){return sp(r,t,e,n)}}),s(t,e,n)}}):(n=k({},a,o,n),t=r)}else n=k({},o,n);return function(r){return sp(t,r,e,n)}};var sp=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:sd,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};var o=sv(t),a=[];var s=true,l=false,u=undefined;try{for(var c=o.parts[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;var p;var f=h.update(e,n,r);h.type===1?(p=a).push.apply(p,L(f)):a.push(f)}}catch(t){l=true;u=t}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}return{_$litType$:o,values:a}},sf=new Map,sv=function(t){var e=sf.get(t);return e===void 0&&sf.set(t,e=sm(t)),e},sm=function(t){var e=function(){if(o.nodeType===Node.COMMENT_NODE)a++;else if(o.nodeType===Node.ELEMENT_NODE){a++;var t=o;if(t.tagName==="TEMPLATE"){var e=t.getAttribute("type"),l=t.getAttribute("name"),u=t.getAttribute("call");if(u!==null||e!==null||l!==null){t.parentNode.insertBefore(document.createComment(""),t),s.push(t);var c=void 0;if(u!==null){var d=u.trim(),h=d.startsWith("{{")&&d.endsWith("}}");c=function(e,n,r){var o;var a=t.getAttribute("data"),s=a===null?void 0:so(a,e);return(o=h?so(d,e):r[u])===null||o===void 0?void 0:o(s,n,r)}}else e!==null?c=function(n,r,o){var a=r[e];return a===null||a===void 0?void 0:a(t,n,r,o)}:(l==="super"?n.renderers.super=function(e,n,r){var o=r.super,a=sv(t);return r=k({},r,a.renderers),o(e,n,r)}:n.renderers[l]=function(e,n,r){return sp(t,e,n,r)},c=function(t,e,n){var r=n[l];return r===null||r===void 0?void 0:r(t,e,n)});n.parts.push({type:2,index:a,update:c});return"continue"}}var p=t.getAttributeNames();var f=true,v=false,m=undefined;try{var g=function(){var e=b.value;var r=t.getAttribute(e),o=r.split(ss);if(o.length===1){sl(r)&&t.setAttribute(e,su(r));return"continue"}t.removeAttribute(e);var s=e,l=a7,u=e[0];u==="."?(s=si(e.substring(1)),l=a9):u==="?"?(s=e.substring(1),l=st):u==="@"&&(s=si(e.substring(1)),l=se);var c=[su(o[0])],d=[];for(var h=1;h<o.length;h+=2){var p=o[h];d.push(aR(p,sn)),c.push(su(o[h+1]))}n.parts.push({type:1,index:a,name:s,strings:c,ctor:l,update:function(t,e,n){return d.map(function(e){return e.evaluate(t)})}})};for(var y=p[Symbol.iterator](),b;!(f=(b=y.next()).done);f=true)g()}catch(t){v=true;m=t}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(v){throw m}}}}else if(o.nodeType===Node.TEXT_NODE){var _=function(t){var e=x[t],o=aR(e,sn);n.parts.push({type:2,index:++a,update:function(t,e){return o.evaluate(t)}});var s=new Text(x[t+1].replace("\\{{","{{"));q.parentNode.insertBefore(s,q.nextSibling),q.parentNode.insertBefore(document.createComment(""),q.nextSibling),q=s,r.currentNode=s};var q=o,w=q.textContent,x=w.split(ss);x.length>1?q.textContent=su(x[0]):sl(w)&&(q.textContent=su(w));for(var C=1;C<x.length;C+=2)_(C)}};var n={h:void 0,el:t.cloneNode(!0),parts:[],renderers:{}},r=document.createTreeWalker(n.el.content,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_COMMENT),o=r.currentNode,a=-1,s=[];for(;(o=r.nextNode())!==null;)e();var l=true,u=false,c=undefined;try{for(var d=s[Symbol.iterator](),h;!(l=(h=d.next()).done);l=true){var p=h.value;p.remove()}}catch(t){u=true;c=t}finally{try{if(!l&&d.return!=null){d.return()}}finally{if(u){throw c}}}return n};var sg=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._internals=t.attachInternals(),t._internals.ariaLabel="pagination";return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");this.myTemplate=sh(t)}},{key:"render",value:function t(){var t=this;if(!this.computedContext)return im(tL());var e=this.computedContext.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})});return im(tN(),e.map(function(e){return t.myTemplate({item:e,view:t.computedContext.view})}))}}]);return e}(iD);nJ([M({context:i5,subscribe:!0})],sg.prototype,"computedContext",2),sg=nJ([iz("test-paging-buttons-stamp")],sg);var sy=iM.I,sb=function(t){return t===null||(typeof t==="undefined"?"undefined":N(t))!="object"&&typeof t!="function"};var s_=function(t){return t.strings===void 0},sq=function(){return document.createComment("")},sk=function(t,e,n){var r=t._$AA.parentNode,o=e===void 0?t._$AB:e._$AA;if(n===void 0){var a=r.insertBefore(sq(),o),s=r.insertBefore(sq(),o);n=new sy(a,s,t,t.options)}else{var l=n._$AB.nextSibling,u=n._$AM,c=u!==t;if(c){var d;var h;(d=n._$AQ)===null||d===void 0?void 0:d.call(n,t),n._$AM=t,n._$AP!==void 0&&(h=t._$AU)!==u._$AU&&n._$AP(h)}if(l!==o||c){var p=n._$AA;for(;p!==l;){var f=p.nextSibling;r.insertBefore(p,o),p=f}}}return n},sw=function(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t;return t._$AI(e,n),t},sx={},sC=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sx;return t._$AH=e},sE=function(t){return t._$AH},sS=function(t){t._$AR(),t._$AA.remove()};var sA={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},sR=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++){n[r]=arguments[r]}return{_$litDirective$:t,values:n}}},sI=/*#__PURE__*/function(){"use strict";function t(e){l(this,t)}d(t,[{key:"_$AU",get:function t(){return this._$AM._$AU}},{key:"_$AT",value:function t(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}},{key:"_$AS",value:function t(t,e){return this.update(t,e)}},{key:"update",value:function t(t,e){return this.render.apply(this,L(e))}}]);return t}();var sT=function(t,e){var n;var r=t._$AN;if(r===void 0)return!1;var o=true,a=false,s=undefined;try{for(var l=r[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;(n=c._$AO)===null||n===void 0?void 0:n.call(c,e,!1),sT(c,e)}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return!0},sP=function(t){var e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while((n===null||n===void 0?void 0:n.size)===0)},sM=function(t){for(var e;e=t._$AM;t=e){var n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),sO(e)}};var sO=function(t){var e,n;t.type==sA.CHILD&&((e=t._$AP)!==null&&e!==void 0?e:t._$AP=nN,(n=t._$AQ)!==null&&n!==void 0?n:t._$AQ=nL)},sL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t._$AN=void 0;return t}d(e,[{key:"_$AT",value:function t(t,n,r){p(f(e.prototype),"_$AT",this).call(this,t,n,r),sM(this),this.isConnected=t._$AU}},{key:"_$AO",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n,r,o,a;t!==this.isConnected&&(this.isConnected=t,t?(n=(r=this).reconnected)===null||n===void 0?void 0:n.call(r):(o=(a=this).disconnected)===null||o===void 0?void 0:o.call(a)),e&&(sT(this,t),sP(this))}},{key:"setValue",value:function t(t){if(s_(this._$Ct))this._$Ct._$AI(t,this);else{var e=L(this._$Ct._$AH);e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}},{key:"disconnected",value:function t(){}},{key:"reconnected",value:function t(){}}]);return e}(sI);var sN=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.G=e}d(t,[{key:"disconnect",value:function t(){this.G=void 0}},{key:"reconnect",value:function t(t){this.G=t}},{key:"deref",value:function t(){return this.G}}]);return t}(),sU=/*#__PURE__*/function(){"use strict";function t(){l(this,t);this.Y=void 0,this.Z=void 0}d(t,[{key:"get",value:function t(){return this.Y}},{key:"pause",value:function t(){var t=this;var e;(e=this.Y)!==null&&e!==void 0?e:this.Y=new Promise(function(e){return t.Z=e})}},{key:"resume",value:function t(){var t,e;(t=(e=this).Z)===null||t===void 0?void 0:t.call(e),this.Y=this.Z=void 0}}]);return t}();var sD=function(t){return!sb(t)&&typeof t.then=="function"},sV=0x3fffffff,s$=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments),t._$Cwt=sV,t._$Cbt=[],t._$CK=new sN(t),t._$CX=new sU;return t}d(e,[{key:"render",value:function t(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++){e[n]=arguments[n]}var r;return(r=e.find(function(t){return!sD(t)}))!==null&&r!==void 0?r:ib}},{key:"update",value:function t(t,e){var n,r=function(t){var r=e[t];if(!sD(r))return{v:(n._$Cwt=t,r)};t<s&&r===o[t]||(n._$Cwt=sV,s=0,Promise.resolve(r).then(function(t){return a(function(){var e,n;return $(this,function(o){switch(o.label){case 0:if(!u.get())return[3,3];return[4,u.get()];case 1:o.sent();o.label=2;case 2:return[3,0];case 3:e=l.deref();if(e!==void 0){n=e._$Cbt.indexOf(r);n>-1&&n<e._$Cwt&&(e._$Cwt=n,e.setValue(t))}return[2]}})})()}))};var o=this._$Cbt,s=o.length;this._$Cbt=e;var l=this._$CK,u=this._$CX;this.isConnected||this.disconnected();for(var c=0;c<e.length&&!(c>this._$Cwt);c++){var d=(n=this,r(c));if(N(d)==="object")return d.v}return ib}},{key:"disconnected",value:function t(){this._$CK.disconnect(),this._$CX.pause()}},{key:"reconnected",value:function t(){this._$CK.reconnect(this),this._$CX.resume()}}]);return e}(sL),sz=sR(s$);var sj="@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;\n\n:root,\n:host {\n /* Active colors */\n --qti-bg-active: #ffecec;\n --qti-border-active: #f86d70;\n\n /* Correct colors */\n --qti-correct-light: #c8e6c9;\n --qti-correct: #66bb6a;\n\n /** Partially correct colors */\n --qti-partially-correct-light: #fff3e0;\n --qti-partially-correct: #ffeb3b;\n\n /* Incorrect colors */\n --qti-incorrect-light: #ef9a9a;\n --qti-incorrect: #ef5350;\n\n /* Validation colors */\n --qti-validation-error-bg: #fffbeb;\n --qti-validation-text: #92400e;\n\n /* Gap size */\n --qti-gap-size: 1rem;\n\n /* Background colors */\n --qti-bg: white;\n --qti-hover-bg: #f9fafb;\n\n /* Light theme colors */\n --qti-light-bg-active: #f0f0f0; /* Light gray */\n --qti-light-border-active: #d0d0d0; /* Medium gray */\n\n /* Dark theme colors */\n --qti-dark-bg-active: #1f2937; /* Dark gray */\n --qti-dark-border-active: #64748b; /* Medium gray */\n\n /* Disabled colors */\n --qti-disabled-bg: #f3f4f6;\n --qti-disabled-color: #45484f;\n\n /* Border properties */\n --qti-border-thickness: 2px;\n --qti-border-style: solid;\n --qti-border-color: #c6cad0;\n --qti-border-radius: 0.3rem;\n --qti-drop-border-radius: calc(var(--qti-border-radius) + var(--qti-border-thickness));\n\n /* Focus & active states */\n --qti-focus-border-width: 5px;\n --qti-focus-color: #bddcff7e;\n\n /* Class-specific variables */\n\n /* Form elements */\n --qti-form-size: 1rem;\n\n /* Order buttons */\n --qti-order-size: 2rem;\n\n /* Generic padding for all elements */\n --qti-padding-vertical: 0.5rem; /* py-2 */\n --qti-padding-horizontal: 0.5rem; /* px-2 */\n\n /* Dropzones */\n --qti-dropzone-padding: 0rem;\n}\n\n/* SVG masks and backgrounds */\n\n.chevron {\n background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px;\n}\n\n.handle {\n background-image: radial-gradient(\n circle at center,\n rgb(0 0 0 / 10%) 0,\n rgb(0 0 0 / 20%) 2px,\n rgb(255 255 255 / 0%) 2px,\n rgb(255 255 255 / 0%) 100%\n );\n background-repeat: repeat-y;\n background-position: left center;\n background-size: 14px 8px;\n}\n\n.check-mask {\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n}\n\n/*\n Following are classes that can be applied to elements and element states, so they are not used directly\n The @apply directive is used to apply these classes to elements\n*/\n\n/* Apply .bordered to an element */\n\n.bordered {\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .form rules for checkbox and radiobutton */\n\n.form {\n\n /* background-color: var(--qti-bg); */\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .button rules for button-like elements, such as drags and buttons */\n\n.button {\n\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .select for the select dropdown element */\n\n.select {\n\n border-radius: var(--qti-border-radius);\n position: relative;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n padding-right: calc(var(--qti-padding-horizontal) + 1.5rem); /* 1.5rem for the chevron */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px;\n}\n\n/* Apply .text for the input text and textarea */\n\n.text {\n\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .spot for hotspot shapes */\n\n.spot {\n\n width: 100%;\n height: 100%;\n background-color: transparent;\n margin: 0 !important;\n padding: 0 !important;\n border: 0 !important;\n box-sizing: border-box !important;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .point for circular small hotspots */\n\n.point {\n\n box-sizing: border-box;\n border-radius: 100%;\n border: 1px solid white;\n background-color: black;\n opacity: 0.5;\n padding: 0;\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .drag for draggable elements */\n\n.drag {\n\n box-sizing: border-box;\n transition:\n transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n cursor: grab;\n background-color: var(--qti-bg);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border-radius: var(--qti-border-radius);\n\n /* padding-left: calc(var(--qti-padding-horizontal) + 0.5rem) !important; */\n\n /* 1.5rem for the drag */\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n}\n\n/* Apply .dragging for the dragging state of a draggable element */\n\n.dragging {\n pointer-events: none;\n rotate: -2deg;\n box-shadow:\n 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n}\n\n/* Apply .drop for an element where you can drop the draggable */\n\n.drop {\n /* @apply bordered; */\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n}\n\n/* Apply .dropping for an indicator where you can drop the draggable */\n\n.dropping {\n background-color: var(--qti-bg-active);\n}\n\n/* Apply .order for a small circular button */\n\n.order {\n\n display: grid;\n place-content: center;\n\n /* background-color: var(--qti-bg-active); */\n box-sizing: border-box;\n border-radius: 100%;\n width: var(--qti-order-size);\n height: var(--qti-order-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .check-size for radio and checkbox size */\n\n.check-size {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n}\n\n/* Apply .check for checkbox */\n\n.check {\n gap: 0.5rem;\n background-color: var(--qti-bg);\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n outline: none;\n cursor: pointer;\n}\n\n/* Apply .check-radio for outer circle of the radio buttons */\n\n.check-radio {\n\n border-radius: 100%;\n\n display: grid;\n\n place-content: center;\n\n width: var(--qti-form-size);\n\n height: var(--qti-form-size);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n}\n\n/* Apply .check-radio-checked for the inner checked radio */\n\n.check-radio-checked {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n}\n\n/* Apply .check-checkbox for outer square of the checkbox */\n\n.check-checkbox {\n\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n}\n\n/* Apply .check-checkbox-checked for the inner checkmark */\n\n.check-checkbox-checked {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n}\n\n/* Apply .hov for hover state */\n\n.hov {\n /* background-color: var(--qti-hover-bg); */\n}\n\n/* Apply .foc for focus state */\n\n.foc {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n}\n\n/* Apply .act for active state */\n\n.act {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n}\n\n.act-bg {\n background-color: var(--qti-bg-active);\n}\n\n.act-bor {\n border-color: var(--qti-border-active);\n}\n\n/* Apply .rdo for readonly state */\n\n.rdo {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n}\n\n/* Apply .dis for disabled state */\n\n.dis {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n}\n\n/* base */\n\n/* ============================\n QTI 3 shared css\n 1. Display\n 2. Special Flex styles\n 3. Margin\n 4. Padding\n 5. Horizontal Alignment styles\n 6. Vertical Alignment styles\n 7. Height\n 8. Width\n 9. Text-Indent\n 10. List Style\n 11. Layout\n 12. Other QTI 3 presentation utilities\n ============================ */\n\n/* ==========\n Display css\n =========== */\n\n.qti-display-inline {\n display: inline;\n}\n\n.qti-display-inline-block {\n display: inline-block;\n}\n\n.qti-display-block {\n display: block;\n}\n\n.qti-display-flex {\n display: flex;\n}\n\n.qti-display-inline-flex {\n display: inline-flex;\n}\n\n.qti-display-grid {\n display: grid;\n}\n\n.qti-display-inline-grid {\n display: inline-grid;\n}\n\n.qti-display-table {\n display: table;\n}\n\n.qti-display-table-cell {\n display: table-cell;\n}\n\n.qti-display-table-row {\n display: table-row;\n}\n\n.qti-display-list-item {\n display: list-item;\n}\n\n.qti-display-inherit {\n display: inherit;\n}\n\n/* \n * hidden to screen readers and sighted\n */\n\n.qti-hidden {\n display: none;\n}\n\n/*\n * visible to screen readers, hidden to sighted\n */\n\n.qti-visually-hidden {\n position: fixed !important;\n overflow: hidden;\n clip: rect(1px 1px 1px 1px);\n height: 1px;\n width: 1px;\n border: 0;\n margin: -1px;\n}\n\n/* =============================\n Special flex styles\n ============================= */\n\n.qti-flex-direction-column {\n flex-direction: column;\n}\n\n.qti-flex-direction-row {\n flex-direction: row;\n}\n\n.qti-flex-grow-1 {\n flex-grow: 1;\n}\n\n.qti-flex-grow-0 {\n flex-grow: 0;\n}\n\n/* =========\n Margin css\n ========== */\n\n/**\n * For margin Top and Bottom and Left and Right\n */\n\n.qti-margin-0 {\n margin: 0 !important;\n}\n\n.qti-margin-1 {\n margin: 0.25rem !important;\n}\n\n.qti-margin-2 {\n margin: 0.5rem !important;\n}\n\n.qti-margin-3 {\n margin: 1rem !important;\n}\n\n.qti-margin-4 {\n margin: 1.5rem !important;\n}\n\n.qti-margin-5 {\n margin: 3rem !important;\n}\n\n.qti-margin-auto {\n margin: auto !important;\n}\n\n/*\n For margin Left and Right\n */\n\n.qti-margin-x-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.qti-margin-x-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.qti-margin-x-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.qti-margin-x-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.qti-margin-x-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.qti-margin-x-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.qti-margin-x-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n/*\n For margin Top and Bottom\n */\n\n.qti-margin-y-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.qti-margin-y-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.qti-margin-y-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.qti-margin-y-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.qti-margin-y-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.qti-margin-y-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.qti-margin-y-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n/*\n For margin Top\n */\n\n.qti-margin-t-0 {\n margin-top: 0 !important;\n}\n\n.qti-margin-t-1 {\n margin-top: 0.25rem !important;\n}\n\n.qti-margin-t-2 {\n margin-top: 0.5rem !important;\n}\n\n.qti-margin-t-3 {\n margin-top: 1rem !important;\n}\n\n.qti-margin-t-4 {\n margin-top: 1.5rem !important;\n}\n\n.qti-margin-t-5 {\n margin-top: 3rem !important;\n}\n\n.qti-margin-t-auto {\n margin-top: auto !important;\n}\n\n/* \n For margin Bottom\n */\n\n.qti-margin-b-0 {\n margin-bottom: 0 !important;\n}\n\n.qti-margin-b-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.qti-margin-b-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.qti-margin-b-3 {\n margin-bottom: 1rem !important;\n}\n\n.qti-margin-b-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.qti-margin-b-5 {\n margin-bottom: 3rem !important;\n}\n\n.qti-margin-b-auto {\n margin-bottom: auto !important;\n}\n\n/*\n For margin Start LTR\n */\n\n.qti-margin-s-0 {\n margin-left: 0 !important;\n}\n\n.qti-margin-s-1 {\n margin-left: 0.25rem !important;\n}\n\n.qti-margin-s-2 {\n margin-left: 0.5rem !important;\n}\n\n.qti-margin-s-3 {\n margin-left: 1rem !important;\n}\n\n.qti-margin-s-4 {\n margin-left: 1.5rem !important;\n}\n\n.qti-margin-s-5 {\n margin-left: 3rem !important;\n}\n\n.qti-margin-s-auto {\n margin-left: auto !important;\n}\n\n/* \n For margin End LTR\n */\n\n.qti-margin-e-0 {\n margin-right: 0 !important;\n}\n\n.qti-margin-e-1 {\n margin-right: 0.25rem !important;\n}\n\n.qti-margin-e-2 {\n margin-right: 0.5rem !important;\n}\n\n.qti-margin-e-3 {\n margin-right: 1rem !important;\n}\n\n.qti-margin-e-4 {\n margin-right: 1.5rem !important;\n}\n\n.qti-margin-e-5 {\n margin-right: 3rem !important;\n}\n\n.qti-margin-e-auto {\n margin-right: auto !important;\n}\n\n/* =========\n Padding css\n ========== */\n\n/*\n For padding Top and Bottom and Left and Right\n */\n\n.qti-padding-0 {\n padding: 0 !important;\n}\n\n.qti-padding-1 {\n padding: 0.25rem !important;\n}\n\n.qti-padding-2 {\n padding: 0.5rem !important;\n}\n\n.qti-padding-3 {\n padding: 1rem !important;\n}\n\n.qti-padding-4 {\n padding: 1.5rem !important;\n}\n\n.qti-padding-5 {\n padding: 3rem !important;\n}\n\n/*\n For padding Left and Right\n */\n\n.qti-padding-x-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.qti-padding-x-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.qti-padding-x-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.qti-padding-x-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.qti-padding-x-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.qti-padding-x-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n/*\n For padding Top and Bottom\n */\n\n.qti-padding-y-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.qti-padding-y-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.qti-padding-y-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.qti-padding-y-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.qti-padding-y-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.qti-padding-y-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n/*\n For padding Top\n */\n\n.qti-padding-t-0 {\n padding-top: 0 !important;\n}\n\n.qti-padding-t-1 {\n padding-top: 0.25rem !important;\n}\n\n.qti-padding-t-2 {\n padding-top: 0.5rem !important;\n}\n\n.qti-padding-t-3 {\n padding-top: 1rem !important;\n}\n\n.qti-padding-t-4 {\n padding-top: 1.5rem !important;\n}\n\n.qti-padding-t-5 {\n padding-top: 3rem !important;\n}\n\n/*\n For padding Bottom\n */\n\n.qti-padding-b-0 {\n padding-bottom: 0 !important;\n}\n\n.qti-padding-b-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.qti-padding-b-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.qti-padding-b-3 {\n padding-bottom: 1rem !important;\n}\n\n.qti-padding-b-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.qti-padding-b-5 {\n padding-bottom: 3rem !important;\n}\n\n/*\n For padding Start LTR\n */\n\n.qti-padding-s-0 {\n padding-left: 0 !important;\n}\n\n.qti-padding-s-1 {\n padding-left: 0.25rem !important;\n}\n\n.qti-padding-s-2 {\n padding-left: 0.5rem !important;\n}\n\n.qti-padding-s-3 {\n padding-left: 1rem !important;\n}\n\n.qti-padding-s-4 {\n padding-left: 1.5rem !important;\n}\n\n.qti-padding-s-5 {\n padding-left: 3rem !important;\n}\n\n/*\n For padding End LTR\n */\n\n.qti-padding-e-0 {\n padding-right: 0 !important;\n}\n\n.qti-padding-e-1 {\n padding-right: 0.25rem !important;\n}\n\n.qti-padding-e-2 {\n padding-right: 0.5rem !important;\n}\n\n.qti-padding-e-3 {\n padding-right: 1rem !important;\n}\n\n.qti-padding-e-4 {\n padding-right: 1.5rem !important;\n}\n\n.qti-padding-e-5 {\n padding-right: 3rem !important;\n}\n\n/* ====================\n Horizontal alignment\n ==================== */\n\n.qti-align-left {\n text-align: left;\n}\n\n.qti-align-center {\n text-align: center;\n}\n\n.qti-align-right {\n text-align: right;\n}\n\n/* ==================\n Vertical alignment\n ================== */\n\n.qti-valign-top {\n vertical-align: top;\n}\n\n.qti-valign-middle {\n vertical-align: middle;\n}\n\n.qti-valign-baseline {\n vertical-align: baseline;\n}\n\n.qti-valign-bottom {\n vertical-align: bottom;\n}\n\n/* =============\n Height styles\n ============= */\n\n.qti-height-0 {\n height: 0;\n}\n\n.qti-height-px {\n height: 1px;\n}\n\n.qti-height-0p5 {\n height: 0.125rem;\n}\n\n.qti-height-1 {\n height: 0.25rem;\n}\n\n.qti-height-1p5 {\n height: 0.375rem;\n}\n\n.qti-height-2 {\n height: 0.5rem;\n}\n\n.qti-height-2p5 {\n height: 0.625rem;\n}\n\n.qti-height-3 {\n height: 0.75rem;\n}\n\n.qti-height-3p5 {\n height: 0.875rem;\n}\n\n.qti-height-4 {\n height: 1rem;\n}\n\n.qti-height-5 {\n height: 1.25rem;\n}\n\n.qti-height-6 {\n height: 1.5rem;\n}\n\n.qti-height-7 {\n height: 1.75rem;\n}\n\n.qti-height-8 {\n height: 2rem;\n}\n\n.qti-height-9 {\n height: 2.25rem;\n}\n\n.qti-height-10 {\n height: 2.5rem;\n}\n\n.qti-height-11 {\n height: 2.75rem;\n}\n\n.qti-height-12 {\n height: 3rem;\n}\n\n.qti-height-14 {\n height: 3.5rem;\n}\n\n.qti-height-16 {\n height: 4rem;\n}\n\n.qti-height-20 {\n height: 5rem;\n}\n\n.qti-height-24 {\n height: 6rem;\n}\n\n.qti-height-28 {\n height: 7rem;\n}\n\n.qti-height-32 {\n height: 8rem;\n}\n\n.qti-height-36 {\n height: 9rem;\n}\n\n.qti-height-40 {\n height: 10rem;\n}\n\n.qti-height-44 {\n height: 11rem;\n}\n\n.qti-height-48 {\n height: 12rem;\n}\n\n.qti-height-52 {\n height: 13rem;\n}\n\n.qti-height-56 {\n height: 14rem;\n}\n\n.qti-height-60 {\n height: 15rem;\n}\n\n.qti-height-64 {\n height: 16rem;\n}\n\n.qti-height-72 {\n height: 18rem;\n}\n\n.qti-height-80 {\n height: 20rem;\n}\n\n.qti-height-96 {\n height: 24rem;\n}\n\n.qti-height-1-2 {\n height: 50%;\n}\n\n.qti-height-1-3 {\n height: 33.3333%;\n}\n\n.qti-height-2-3 {\n height: 66.6667%;\n}\n\n.qti-height-1-4 {\n height: 25%;\n}\n\n.qti-height-2-4 {\n height: 50%;\n}\n\n.qti-height-3-4 {\n height: 75%;\n}\n\n.qti-height-1-5 {\n height: 20%;\n}\n\n.qti-height-2-5 {\n height: 40%;\n}\n\n.qti-height-3-5 {\n height: 60%;\n}\n\n.qti-height-4-5 {\n height: 80%;\n}\n\n.qti-height-1-6 {\n height: 16.6667%;\n}\n\n.qti-height-2-6 {\n height: 33.3333%;\n}\n\n.qti-height-3-6 {\n height: 50%;\n}\n\n.qti-height-4-6 {\n height: 66.6667%;\n}\n\n.qti-height-5-6 {\n height: 83.3333%;\n}\n\n.qti-height-auto {\n height: auto;\n}\n\n.qti-height-full {\n height: 100%;\n}\n\n/* ============\n Width styles\n ============ */\n\n.qti-width-0 {\n width: 0;\n}\n\n.qti-width-px {\n width: 1px;\n}\n\n.qti-width-0p5 {\n width: 0.125rem;\n}\n\n.qti-width-1 {\n width: 0.25rem;\n}\n\n.qti-width-1p5 {\n width: 0.375rem;\n}\n\n.qti-width-2 {\n width: 0.5rem;\n}\n\n.qti-width-2p5 {\n width: 0.625rem;\n}\n\n.qti-width-3 {\n width: 0.75rem;\n}\n\n.qti-width-3p5 {\n width: 0.875rem;\n}\n\n.qti-width-4 {\n width: 1rem;\n}\n\n.qti-width-5 {\n width: 1.25rem;\n}\n\n.qti-width-6 {\n width: 1.5rem;\n}\n\n.qti-width-7 {\n width: 1.75rem;\n}\n\n.qti-width-8 {\n width: 2rem;\n}\n\n.qti-width-9 {\n width: 2.25rem;\n}\n\n.qti-width-10 {\n width: 2.5rem;\n}\n\n.qti-width-11 {\n width: 2.75rem;\n}\n\n.qti-width-12 {\n width: 3rem;\n}\n\n.qti-width-14 {\n width: 3.5rem;\n}\n\n.qti-width-16 {\n width: 4rem;\n}\n\n.qti-width-20 {\n width: 5rem;\n}\n\n.qti-width-24 {\n width: 6rem;\n}\n\n.qti-width-28 {\n width: 7rem;\n}\n\n.qti-width-32 {\n width: 8rem;\n}\n\n.qti-width-36 {\n width: 9rem;\n}\n\n.qti-width-40 {\n width: 10rem;\n}\n\n.qti-width-44 {\n width: 11rem;\n}\n\n.qti-width-48 {\n width: 12rem;\n}\n\n.qti-width-52 {\n width: 13rem;\n}\n\n.qti-width-56 {\n width: 14rem;\n}\n\n.qti-width-60 {\n width: 15rem;\n}\n\n.qti-width-64 {\n width: 16rem;\n}\n\n.qti-width-72 {\n width: 18rem;\n}\n\n.qti-width-80 {\n width: 20rem;\n}\n\n.qti-width-96 {\n width: 24rem;\n}\n\n.qti-width-auto {\n width: auto;\n}\n\n.qti-width-1-2 {\n width: 50%;\n}\n\n.qti-width-1-3 {\n width: 33.3333%;\n}\n\n.qti-width-2-3 {\n width: 66.6667%;\n}\n\n.qti-width-1-4 {\n width: 25%;\n}\n\n.qti-width-2-4 {\n width: 50%;\n}\n\n.qti-width-3-4 {\n width: 75%;\n}\n\n.qti-width-1-5 {\n width: 20%;\n}\n\n.qti-width-2-5 {\n width: 40%;\n}\n\n.qti-width-3-5 {\n width: 60%;\n}\n\n.qti-width-4-5 {\n width: 80%;\n}\n\n.qti-width-1-6 {\n width: 16.6667%;\n}\n\n.qti-width-2-6 {\n width: 33.3333%;\n}\n\n.qti-width-3-6 {\n width: 50%;\n}\n\n.qti-width-4-6 {\n width: 66.6667%;\n}\n\n.qti-width-5-6 {\n width: 83.3333%;\n}\n\n.qti-width-1-12 {\n width: 8.3333%;\n}\n\n.qti-width-2-12 {\n width: 16.6667%;\n}\n\n.qti-width-3-12 {\n width: 25%;\n}\n\n.qti-width-4-12 {\n width: 33.3333%;\n}\n\n.qti-width-5-12 {\n width: 41.6667%;\n}\n\n.qti-width-6-12 {\n width: 50%;\n}\n\n.qti-width-7-12 {\n width: 58.3333%;\n}\n\n.qti-width-8-12 {\n width: 66.6667%;\n}\n\n.qti-width-9-12 {\n width: 75%;\n}\n\n.qti-width-10-12 {\n width: 83.3333%;\n}\n\n.qti-width-11-12 {\n width: 91.6667%;\n}\n\n.qti-width-full,\n.qti-fullwidth {\n width: 100%;\n}\n\n/* ==================\n Text Indent styles\n ================== */\n\n.qti-text-indent-0 {\n text-indent: 0;\n}\n\n.qti-text-indent-px {\n text-indent: 1px;\n}\n\n.qti-text-indent-0p5 {\n text-indent: 0.125rem;\n}\n\n.qti-text-indent-1 {\n text-indent: 0.25rem;\n}\n\n.qti-text-indent-1p5 {\n text-indent: 0.375rem;\n}\n\n.qti-text-indent-2 {\n text-indent: 0.5rem;\n}\n\n.qti-text-indent-2p5 {\n text-indent: 0.625rem;\n}\n\n.qti-text-indent-3 {\n text-indent: 0.75rem;\n}\n\n.qti-text-indent-3p5 {\n text-indent: 0.875rem;\n}\n\n.qti-text-indent-4 {\n text-indent: 1rem;\n}\n\n.qti-text-indent-5 {\n text-indent: 1.25rem;\n}\n\n.qti-text-indent-6 {\n text-indent: 1.5rem;\n}\n\n.qti-text-indent-7 {\n text-indent: 1.75rem;\n}\n\n.qti-text-indent-8 {\n text-indent: 2rem;\n}\n\n.qti-text-indent-12 {\n text-indent: 3rem;\n}\n\n.qti-text-indent-16 {\n text-indent: 4rem;\n}\n\n.qti-text-indent-20 {\n text-indent: 5rem;\n}\n\n.qti-text-indent-24 {\n text-indent: 6rem;\n}\n\n.qti-text-indent-28 {\n text-indent: 7rem;\n}\n\n.qti-text-indent-32 {\n text-indent: 8rem;\n}\n\n/* =================\n List Style styles\n ================= */\n\n.qti-list-style-type-none {\n list-style-type: none;\n}\n\n.qti-list-style-type-disc {\n list-style-type: disc;\n}\n\n.qti-list-style-type-circle {\n list-style-type: circle;\n}\n\n.qti-list-style-type-square {\n list-style-type: square;\n}\n\n.qti-list-style-type-decimal {\n list-style-type: decimal;\n}\n\n.qti-list-style-type-decimal-leading-zero {\n list-style-type: decimal-leading-zero;\n}\n\n.qti-list-style-type-lower-alpha {\n list-style-type: lower-alpha;\n}\n\n.qti-list-style-type-upper-alpha {\n list-style-type: upper-alpha;\n}\n\n.qti-list-style-type-lower-roman {\n list-style-type: lower-roman;\n}\n\n.qti-list-style-type-upper-roman {\n list-style-type: upper-roman;\n}\n\n.qti-list-style-type-lower-latin {\n list-style-type: lower-latin;\n}\n\n.qti-list-style-type-upper-latin {\n list-style-type: upper-latin;\n}\n\n.qti-list-style-type-lower-greek {\n list-style-type: lower-greek;\n}\n\n.qti-list-style-type-arabic-indic {\n list-style-type: arabic-indic;\n}\n\n.qti-list-style-type-armenian {\n list-style-type: armenian;\n}\n\n.qti-list-style-type-lower-armenian {\n list-style-type: lower-armenian;\n}\n\n.qti-list-style-type-upper-armenian {\n list-style-type: upper-armenian;\n}\n\n.qti-list-style-type-bengali {\n list-style-type: bengali;\n}\n\n.qti-list-style-type-cambodian {\n list-style-type: cambodian;\n}\n\n.qti-list-style-type-simp-chinese-formal {\n list-style-type: simp-chinese-formal;\n}\n\n.qti-list-style-type-simp-chinese-informal {\n list-style-type: simp-chinese-informal;\n}\n\n.qti-list-style-type-trad-chinese-formal {\n list-style-type: trad-chinese-formal;\n}\n\n.qti-list-style-type-trad-chinese-informal {\n list-style-type: trad-chinese-informal;\n}\n\n.qti-list-style-type-cjk-ideographic {\n list-style-type: cjk-ideographic;\n}\n\n.qti-list-style-type-cjk-heavenly-stem {\n list-style-type: cjk-heavenly-stem;\n}\n\n.qti-list-style-type-cjk-earthly-branch {\n list-style-type: cjk-earthly-branch;\n}\n\n.qti-list-style-type-devanagari {\n list-style-type: devanagari;\n}\n\n.qti-list-style-type-ethiopic-halehame-ti-er {\n list-style-type: ethiopic-halehame-ti-er;\n}\n\n.qti-list-style-type-ethiopic-halehame-ti-et {\n list-style-type: ethiopic-halehame-ti-et;\n}\n\n.qti-list-style-type-ethiopic-halehame-am {\n list-style-type: ethiopic-halehame-am;\n}\n\n.qti-list-style-type-ethiopic-halehame {\n list-style-type: ethiopic-halehame;\n}\n\n.qti-list-style-type-georgian {\n list-style-type: georgian;\n}\n\n.qti-list-style-type-gujarati {\n list-style-type: gujarati;\n}\n\n.qti-list-style-type-gurmukhi {\n list-style-type: gurmukhi;\n}\n\n.qti-list-style-type-hangul {\n list-style-type: hangul;\n}\n\n.qti-list-style-type-hangul-consonant {\n list-style-type: hangul-consonant;\n}\n\n.qti-list-style-type-hebrew {\n list-style-type: hebrew;\n}\n\n.qti-list-style-type-hiragana {\n list-style-type: hiragana;\n}\n\n.qti-list-style-type-hiragana-iroha {\n list-style-type: hiragana-iroha;\n}\n\n.qti-list-style-type-khmer {\n list-style-type: khmer;\n}\n\n.qti-list-style-type-korean-hangul-formal {\n list-style-type: korean-hangul-formal;\n}\n\n.qti-list-style-type-korean-hanja-formal {\n list-style-type: korean-hanja-formal;\n}\n\n.qti-list-style-type-korean-hanja-informal {\n list-style-type: korean-hanja-informal;\n}\n\n.qti-list-style-type-lao {\n list-style-type: lao;\n}\n\n.qti-list-style-type-malayalam {\n list-style-type: malayalam;\n}\n\n.qti-list-style-type-mongolian {\n list-style-type: mongolian;\n}\n\n.qti-list-style-type-myanmar {\n list-style-type: myanmar;\n}\n\n.qti-list-style-type-oriya {\n list-style-type: oriya;\n}\n\n.qti-list-style-type-persian {\n list-style-type: persian;\n}\n\n.qti-list-style-type-thai {\n list-style-type: thai;\n}\n\n.qti-list-style-type-tibetan {\n list-style-type: tibetan;\n}\n\n.qti-list-style-type-telugu {\n list-style-type: telugu;\n}\n\n.qti-list-style-type-urdu {\n list-style-type: urdu;\n}\n\n/* =========================\n Other QTI 3 Presentation Utilities\n ========================= */\n\n.qti-bordered {\n border: 1px solid var(--table-border-color);\n}\n\n.qti-underline {\n text-decoration: underline;\n text-decoration-color: var(--foreground);\n}\n\n.qti-italic {\n font-style: italic;\n}\n\n.qti-well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: var(--well-bg);\n border: var(--well-border);\n border-radius: 4px;\n box-shadow: var(--well-box-shadow);\n}\n\n/* Set writing-mode to vertical-rl \n Typical for CJK vertical text */\n\n.qti-writing-mode-vertical-rl {\n writing-mode: vertical-rl;\n}\n\n/* Set writing-mode to vertical-lr\n Typical for Mongolian vertical text */\n\n.qti-writing-mode-vertical-lr {\n writing-mode: vertical-lr;\n}\n\n/* Set writing-mode to horizontal-tb \n Browser default */\n\n.qti-writing-mode-horizontal-tb {\n writing-mode: horizontal-tb;\n}\n\n/* Float an element left */\n\n.qti-float-left {\n float: left;\n}\n\n/* Float an element right */\n\n.qti-float-right {\n float: right;\n}\n\n/* Remove a float */\n\n.qti-float-none {\n float: none;\n}\n\n/* Clearfix Hack to apply to a container of \n floated content that overflows the container. */\n\n.qti-float-clearfix::after {\n content: '';\n clear: both;\n display: table;\n}\n\n.qti-float-clear-left\n .qti-float-clear-right\n .qti-float-clear-both\n \n /* Set text-orientation to upright */\n .qti-text-orientation-upright {\n text-orientation: upright;\n}\n\n@layer qti-base {\n .qti-layout-row {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n gap: 2.1276595745%;\n }\n\n .qti-layout-row [class*='qti-layout-col']:not(:empty) {\n box-sizing: border-box;\n }\n\n .qti-layout-row [class*='qti-layout-col']:empty {\n width: 0;\n overflow: hidden; /* to fully collapse if there’s padding or borders */\n }\n\n .qti-layout-col1 {\n width: 6.3829787234%;\n }\n\n .qti-layout-col2 {\n width: 14.8936170213%;\n }\n\n .qti-layout-col3 {\n width: 23.4042553191%;\n }\n\n .qti-layout-col4 {\n width: 31.914893617%;\n }\n\n .qti-layout-col5 {\n width: 40.4255319149%;\n }\n\n .qti-layout-col6 {\n width: 48.9361702128%;\n }\n\n .qti-layout-col7 {\n width: 57.4468085106%;\n }\n\n .qti-layout-col8 {\n width: 65.9574468085%;\n }\n\n .qti-layout-col9 {\n width: 74.4680851064%;\n }\n\n .qti-layout-col10 {\n width: 82.9787234043%;\n }\n\n .qti-layout-col11 {\n width: 91.4893617021%;\n }\n\n .qti-layout-col12 {\n width: 100%;\n }\n\n .qti-layout-offset1 {\n margin-left: 8.5106382979%;\n }\n\n .qti-layout-offset2 {\n margin-left: 17.0212765957%;\n }\n\n .qti-layout-offset3 {\n margin-left: 25.5319148936%;\n }\n\n .qti-layout-offset4 {\n margin-left: 34.0425531915%;\n }\n\n .qti-layout-offset5 {\n margin-left: 42.5531914894%;\n }\n\n .qti-layout-offset6 {\n margin-left: 51.0638297872%;\n }\n\n .qti-layout-offset7 {\n margin-left: 59.5744680851%;\n }\n\n .qti-layout-offset8 {\n margin-left: 68.085106383%;\n }\n\n .qti-layout-offset9 {\n margin-left: 76.5957446809%;\n }\n\n .qti-layout-offset10 {\n margin-left: 85.1063829787%;\n }\n\n .qti-layout-offset11 {\n margin-left: 93.6170212766%;\n }\n\n .qti-layout-offset12 {\n margin-left: 102.1276595745%;\n }\n\n @media (width <= 767px) {\n [class*='qti-layout-col'] {\n width: 100%;\n }\n }\n}\n\n[view],\nqti-outcome-declaration,\nqti-response-declaration {\n display: none;\n}\n\n[view].show {\n display: block;\n}\n\n:host {\n box-sizing: border-box;\n}\n\n/* components */\n\n@layer qti-components {\n qti-choice-interaction {\n &.qti-input-control-hidden {\n & qti-simple-choice {\n position: relative; /* Add position relative here instead of a separate rule */\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n /* Add styling for correct responses with border instead of checkmark */\n &:state(correct-response),\n &[data-correct-response='true'] {\n border: 3px solid var(--qti-correct) !important;\n padding-right: 30px;\n\n &::after {\n content: '\\02714';\n color: var(--qti-correct);\n position: absolute;\n top: 5px;\n right: 5px;\n font-size: 1.2em;\n font-weight: bold;\n }\n }\n border-radius: var(--qti-border-radius);\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none\n }\n }\n\n &:not(.qti-input-control-hidden) {\n & qti-simple-choice {\n\n &:not([aria-disabled='true'], [aria-readonly='true'], :state(--checked)):hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n &:state(readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n &::part(cha) {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n }\n\n &:state(radio)::part(ch) {\n border-radius: 100%;\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(radio):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n }\n\n &:state(checkbox)::part(ch) {\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(checkbox):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n }\n\n gap: 0.5rem;\n\n background-color: var(--qti-bg);\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n outline: none;\n\n cursor: pointer\n }\n }\n\n & qti-simple-choice {\n width: -moz-fit-content;\n width: fit-content;\n cursor: pointer;\n\n /* Keep the checkmark for non-hidden input controls */\n &:state(correct-response),\n &[data-correct-response='true'] {\n &::after {\n content: '\\02714';\n color: var(--qti-correct);\n }\n }\n }\n\n & qti-simple-choice > p {\n margin: 0 !important;\n padding: 0 !important;\n }\n }\n\n .hover-border {\n border: 2px solid #000; /* Adjust the border style and color as needed */\n }\n\n qti-graphic-gap-match-interaction {\n position: relative;\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n & qti-gap-img,\n qti-gap-text {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: grab;\n }\n\n & qti-associable-hotspot {\n display: flex;\n justify-content: center;\n align-items: center;\n border: 2px solid transparent;\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &[active] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active)\n }\n\n &[disabled] {\n\n &:not(:empty) {\n cursor: default !important;\n }\n\n cursor: not-allowed;\n\n background-color: var(--qti-disabled-bg);\n\n color: var(--qti-disabled-color);\n\n border-color: var(--qti-border-color);\n\n outline: 4px solid var(--qti-disabled-bg)\n }\n\n &:empty::after {\n padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */\n content: '\\0000a0'; /* when empty, put a space in it */\n }\n\n &:not(:empty) {\n padding: 0;\n width: auto;\n }\n\n &:not(:empty) > * {\n flex: 1;\n transform: rotate(0); /* rotate-0 */\n box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */\n }\n }\n\n & img {\n margin: 0;\n padding: 0;\n }\n }\n\n qti-text-entry-interaction {\n &:state(candidate-correct) {\n &::part(input) {\n background-color: var(--qti-correct);\n }\n }\n\n &:state(candidate-partially-correct) {\n &::part(input) {\n background-color: var(--qti-partially-correct);\n }\n }\n\n &:state(candidate-incorrect) {\n &::part(input) {\n background-color: var(--qti-incorrect);\n }\n }\n\n &::part(input) {\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:hover {\n }\n\n &:focus-within {\n &::part(input) {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n border-color: var(--qti-border-active);\n }\n }\n }\n\n qti-extended-text-interaction {\n &::part(textarea) {\n border-radius: 0;\n cursor: text;\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n background: var(--qti-bg);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:hover {\n }\n\n &:focus-within {\n &::part(textarea) {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n border-color: var(--qti-border-active);\n }\n }\n }\n\n qti-gap-match-interaction {\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n & qti-gap-text {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n & qti-gap {\n\n &[disabled] {\n\n &:not(:empty) {\n cursor: default !important;\n }\n\n cursor: not-allowed;\n\n background-color: var(--qti-disabled-bg);\n\n color: var(--qti-disabled-color);\n\n border-color: var(--qti-border-color);\n\n outline: 4px solid var(--qti-disabled-bg)\n }\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n border-color: var(--qti-dark-border-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &[active] {\n\n /* Light theme override */\n .qti-selections-light {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active)\n }\n\n display: inline-flex;\n align-items: center;\n\n &:empty::after {\n padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */\n content: '\\0000a0'; /* when empty, put a space in it */\n }\n\n &:not(:empty) {\n display: inline-flex;\n padding: 0;\n width: auto;\n }\n\n &:not(:empty) > * {\n flex: 1;\n transform: rotate(0); /* rotate-0 */\n box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */\n }\n\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n\n border-radius: var(--qti-border-radius);\n\n position: relative;\n\n background-color: var(--qti-bg)\n }\n }\n\n qti-hotspot-interaction {\n & qti-hotspot-choice {\n &[shape='circle'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n }\n\n &:state(--readonly),\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &:state(--disabled),\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='rect'] {\n\n /* &:hover {\n @apply hov;\n } */\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='poly'] {\n &:hover::after {\n content: '';\n width: 100%;\n height: 100%;\n background: repeating-linear-gradient(\n 45deg,\n var(--qti-border-active),\n var(--qti-border-active) 5px,\n transparent 5px,\n transparent 10px\n );\n display: block;\n }\n\n &:state(--checked)::after,\n &[aria-checked='true']::after {\n content: '';\n width: 100%;\n height: 100%;\n background: repeating-linear-gradient(\n 45deg,\n transparent,\n transparent 5px,\n var(--qti-border-active) 5px,\n var(--qti-border-active) 10px\n );\n display: block;\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n }\n }\n\n qti-hottext-interaction {\n /* &:not(.qti-input-control-hidden),\n &:not(.qti-unselected-hidden) { */\n qti-hottext {\n display: inline-flex;\n align-items: center;\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(cha) {\n width: calc(var(--qti-form-size) - 6px);\n height: calc(var(--qti-form-size) - 6px);\n }\n\n &:state(radio)::part(ch) {\n border-radius: 100%;\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(radio):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n border-radius: 100%;\n }\n\n &:state(checkbox)::part(ch) {\n display: flex;\n place-items: center;\n border-radius: var(--qti-border-radius);\n display: grid;\n place-content: center;\n width: var(--qti-form-size);\n height: var(--qti-form-size);\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n outline: none;\n }\n\n &:state(checkbox):state(--checked)::part(cha) {\n background-color: var(--qti-border-active);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E\");\n }\n\n &:state(correct-response),\n &[data-correct-response='true'] {\n &::after {\n content: '\\02714';\n color: #16a34a; /* text-green-600 */\n }\n }\n\n gap: 0.5rem;\n\n background-color: var(--qti-bg);\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n outline: none;\n\n cursor: pointer\n }\n\n &.qti-input-control-hidden {\n qti-hottext {\n /* --qti-padding-md: 0.1rem;\n --qti-padding-lg: 0.2rem;\n --qti-border-radius-md: 0.3rem;\n --qti-border-thickness: 1px;\n --qti-font-weight-semibold: 400; */\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n /* @layer qti-variants { */\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n border-radius: var(--qti-border-radius);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n /* } */\n }\n\n &.qti-unselected-hidden {\n qti-hottext {\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n cursor: pointer;\n\n &::part(ch) {\n display: none;\n }\n\n &:state(--checked) {\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n }\n }\n\n qti-inline-choice-interaction {\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n &::part(select) {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n border-radius: var(--qti-border-radius);\n\n position: relative;\n\n -webkit-appearance: none;\n\n -moz-appearance: none;\n\n appearance: none;\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n padding-right: calc(var(--qti-padding-horizontal) + 1.5rem);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n\n background: url(\"data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat center right 6px\n }\n }\n\n qti-match-interaction.qti-match-tabular {\n /* Table element */\n &::part(table) {\n border-collapse: collapse;\n width: 100%;\n }\n\n /* Row headers - take up remaining space */\n &::part(r-header) {\n background-color: var(--qti-bg-active, #f8f8f8);\n font-weight: 500;\n text-align: center;\n padding: 8px 15px;\n border: 1px solid #ddd;\n width: auto; /* Let it expand naturally */\n word-wrap: break-word; /* Allow long words to break */\n white-space: wrap; /* Allow text to wrap to multiple lines */\n min-width: 4rem; /* Allow column to shrink below content width */\n }\n\n /* Column headers - minimal width */\n &::part(c-header) {\n background-color: var(--qti-bg-active, #f8f8f8);\n font-weight: 500;\n text-align: left;\n padding: 8px;\n border: 1px solid #ddd;\n width: 8rem; /* Force minimal width */\n white-space: normal; /* Prevent wrapping */\n }\n\n /* Table rows */\n &::part(row) {\n border-bottom: 1px solid #ddd;\n }\n\n /* Input cells - minimal width */\n &::part(input-cell) {\n text-align: center;\n vertical-align: middle;\n height: 48px;\n border: 1px solid #ddd;\n padding: 8px;\n width: 1%; /* Force minimal width */\n }\n\n /* Radio button styling */\n &::part(rb) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n border: 2px solid var(--qti-border-active, #2196f3);\n background-color: transparent !important;\n margin: 0 auto;\n cursor: pointer;\n display: block;\n }\n\n /* Radio button checked state */\n &::part(rb-checked) {\n box-shadow: inset 0 0 0 6px var(--qti-border-active, #2196f3);\n }\n\n /* Checkbox styling */\n &::part(cb) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 24px;\n height: 24px;\n border-radius: 3px;\n border: 2px solid var(--qti-border-active, #2196f3);\n background-color: transparent !important;\n margin: 0 auto;\n cursor: pointer;\n display: block;\n }\n\n /* Checkbox checked state - only change border if we're adding an SVG checkmark */\n &::part(cb-checked) {\n background-color: var(--qti-border-active, #2196f3) !important;\n }\n\n &::part(checkmark) {\n position: absolute;\n width: 18px;\n height: 18px;\n top: 3px;\n left: 3px;\n pointer-events: none;\n }\n\n /* Correct answers for both types */\n &::part(rb-correct) {\n border-color: var(--qti-correct, #4caf50);\n }\n\n &::part(rb-checked rb-correct) {\n box-shadow: inset 0 0 0 6px var(--qti-correct, #4caf50);\n }\n\n &::part(cb-correct) {\n border-color: var(--qti-correct, #4caf50);\n }\n\n &::part(cb-checked cb-correct) {\n background-color: var(--qti-correct, #4caf50) !important;\n }\n\n /* Incorrect answers for both types */\n &::part(rb-incorrect) {\n border-color: var(--qti-incorrect, #f44336);\n }\n\n &::part(rb-checked rb-incorrect) {\n box-shadow: inset 0 0 0 6px var(--qti-incorrect, #f44336);\n }\n\n &::part(cb-incorrect) {\n border-color: var(--qti-incorrect, #f44336);\n }\n\n &::part(cb-checked cb-incorrect) {\n background-color: var(--qti-incorrect, #f44336) !important;\n }\n }\n\n qti-match-interaction:not(.qti-match-tabular) {\n &:state(--dragzone-enabled) qti-simple-match-set:first-of-type {\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-active) qti-simple-match-set:first-of-type {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n /* The draggables */\n & qti-simple-match-set:first-of-type {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start; /* Prevents children from stretching */\n gap: var(--qti-gap-size);\n border: 2px solid transparent;\n\n & qti-simple-associable-choice {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n /* The droppables */\n & qti-simple-match-set:last-of-type {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n grid-auto-flow: unset;\n grid-auto-columns: unset;\n gap: var(--qti-gap-size);\n\n & > qti-simple-associable-choice {\n /* a droppable qti-simple-associable-choice */\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n grid-row: unset;\n box-sizing: border-box;\n\n & img {\n max-width: 100%;\n height: auto;\n }\n\n &[enabled] {\n &::part(dropslot) {\n background-color: var(--qti-bg-active);\n }\n }\n\n &[disabled] {\n &::part(dropslot) {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n }\n\n &[active] {\n &::part(dropslot) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n }\n\n &::part(dropslot) {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n padding: var(--qti-dropzone-padding);\n margin-top: 0.5rem;\n gap: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n }\n\n & > *:not(qti-simple-associable-choice) {\n pointer-events: none;\n }\n\n & > qti-simple-associable-choice {\n\n &:state(candidate-correct) {\n background-color: var(--qti-correct);\n }\n\n &:state(candidate-incorrect) {\n background-color: var(--qti-incorrect);\n }\n\n &::part(dropslot) {\n display: none;\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n flex-basis: fit-content;\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n }\n }\n }\n }\n\n qti-order-interaction {\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n\n &::part(qti-simple-choice),\n & qti-simple-choice {\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &::part(qti-simple-choice) {\n display: flex;\n overflow: hidden;\n align-items: center;\n width: 100%;\n text-overflow: ellipsis;\n }\n\n &::part(drops) {\n gap: 0.5rem; /* gap-2 */\n }\n\n &::part(drags) {\n gap: 0.5rem; /* gap-2 */\n }\n\n &::part(drop-list) {\n\n &[enabled] {\n\n /* Light theme override */\n .qti-selections-light {\n border-color: var(--qti-light-border-active);\n }\n\n /* Dark theme override */\n .qti-selections-dark {\n border-color: var(--qti-dark-border-active);\n }\n background-color: var(--qti-bg-active)\n }\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n display: flex;\n min-height: 4rem;\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n }\n\n &::part(active) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n & drop-list {\n &[shape='circle'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='square'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n }\n\n qti-associate-interaction {\n /* General styles for active and enabled states */\n &:state(--dragzone-active) slot[name='qti-simple-associable-choice'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled) slot[name='qti-simple-associable-choice'] {\n background-color: var(--qti-bg-active);\n }\n\n & qti-simple-associable-choice, /* drags when in lightdom */\n &::part(qti-simple-associable-choice) /* drags when in shadowdom */ {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[dragging] {\n pointer-events: none;\n rotate: -2deg;\n box-shadow: 0 8px 12px rgb(0 0 0 / 20%),\n 0 4px 8px rgb(0 0 0 / 10%);\n }\n\n box-sizing: border-box;\n\n transition: transform 200ms ease-out,\n box-shadow 200ms ease-out,\n rotate 200ms ease-out;\n\n cursor: grab;\n\n background-color: var(--qti-bg);\n\n padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);\n\n border-radius: var(--qti-border-radius);\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n /* display: flex;\n overflow: hidden;\n align-items: center; */\n\n /* &::part(drop-container) {\n display: flex;\n flex-direction: column;\n gap: var(--qti-gap-size);\n } */\n\n &::part(drop-list) {\n\n display: grid;\n height: 3rem;\n min-width: 10rem;\n border: var(--qti-border-thickness) dashed var(--qti-border-color);\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><circle cx=\"10\" cy=\"10\" r=\"7\" stroke=\"%23CCCCCC\" stroke-width=\"1\" fill=\"transparent\" /></svg>')\n center no-repeat;\n border-radius: var(--qti-border-radius);\n position: relative;\n background-color: var(--qti-bg);\n }\n\n &::part(drop-list):focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &::part(drop-list)[dragging] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n /* &::part(drop-list) {\n @apply act;\n } */\n }\n\n qti-graphic-order-interaction {\n & qti-hotspot-choice {\n width: 100%;\n height: 100%;\n background-color: rgb(128 128 128 / 30%);\n padding: 0;\n\n &:hover {\n background-color: rgb(128 128 128 / 70%);\n }\n\n &:focus {\n background-color: rgb(128 128 128 / 70%);\n }\n\n &:state(--checked),\n &[aria-checked='true'] {\n background-color: rgb(128 128 128 / 70%);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n &[aria-ordervalue] {\n display: grid;\n place-content: center;\n }\n\n &[aria-ordervalue]::after {\n content: attr(aria-ordervalue) !important;\n }\n\n &[aria-ordercorrectvalue] {\n display: grid;\n place-content: center;\n }\n\n /* When both attributes are present */\n &[aria-ordercorrectvalue][aria-ordervalue]::after {\n content: 'C=' attr(aria-ordercorrectvalue) ' R=' attr(aria-ordervalue) !important;\n color: var(--qti-correct);\n }\n\n /* When only aria-ordercorrectvalue is present */\n &[aria-ordercorrectvalue]:not([aria-ordervalue])::after {\n content: 'C=' attr(aria-ordercorrectvalue) !important;\n color: var(--qti-correct);\n }\n }\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n }\n\n qti-graphic-associate-interaction {\n position: relative;\n display: block;\n\n & qti-associable-hotspot {\n &[shape='circle'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n\n &[shape='square'] {\n\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n &[aria-checked='true'] {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &[aria-readonly='true'] {\n cursor: pointer;\n background-color: var(--qti-bg);\n outline: 0;\n border: none;\n }\n\n &[aria-disabled='true'] {\n cursor: not-allowed;\n background-color: var(--qti-disabled-bg);\n color: var(--qti-disabled-color);\n border-color: var(--qti-border-color);\n outline: 4px solid var(--qti-disabled-bg);\n }\n\n width: 100%;\n\n height: 100%;\n\n background-color: transparent;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n box-sizing: border-box;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none\n }\n }\n\n &.qti-selections-light {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-light-bg-active);\n border-color: var(--qti-light-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-light-bg-active);\n }\n }\n\n &.qti-selections-dark {\n &:state(--dragzone-active)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n border-color: var(--qti-dark-border-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-dark-bg-active);\n }\n }\n\n /* General styles for active and enabled states */\n &:state(--dragzone-active)::part(drags) {\n border-color: var(--qti-border-active);\n background-color: var(--qti-bg-active);\n }\n\n &:state(--dragzone-enabled)::part(drags) {\n background-color: var(--qti-bg-active);\n }\n }\n\n qti-slider-interaction {\n --qti-tick-color: rgb(229 231 235 / 100%);\n --qti-tick-width: 1px;\n }\n\n qti-select-point-interaction {\n &::part(point) {\n &:hover {\n }\n\n &:focus {\n box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);\n }\n\n box-sizing: border-box;\n\n border-radius: 100%;\n\n border: 1px solid white;\n\n background-color: black;\n\n opacity: 0.5;\n\n padding: 0;\n\n border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);\n\n outline: none;\n }\n\n &::part(correct) {\n background-color: var(--qti-correct);\n }\n\n &::part(incorrect) {\n background-color: var(--qti-incorrect);\n }\n }\n\n qti-position-object-stage {\n & qti-position-object-interaction {\n /* no styles necessary, only layout styles, defined in the component */\n }\n }\n\n qti-prompt {\n margin: 0.5rem 0; /* my-2 */\n display: block;\n width: 100%;\n }\n}\n\nqti-test-part:not(:has(qti-assessment-item)),\nqti-assessment-section:not(:has(qti-assessment-item)),\nqti-assessment-item-ref:not(:has(qti-assessment-item)) {\n display: none;\n}\n\nqti-hottext-interaction::part(message),\nqti-choice-interaction::part(message),\nqti-association-interaction::part(message),\nqti-graphic-association-interaction::part(message),\nqti-graphic-gap-match-interaction::part(message),\nqti-graphic-order-interaction::part(message),\nqti-math-interaction::part(message) {\n display: none;\n color: var(--qti-validation-text, #000);\n background-color: var(--qti-validation-error-bg, #fff);\n padding: 10px;\n border: 3px solid var(--qti-validation-text, #000);\n border-radius: 4px;\n margin-top: 8px;\n}\n\ndiv.full-correct-response {\n border: 1px solid #39a7c0;\n background-color: #d9e8ee;\n}\n\ndiv.full-correct-response-block {\n display: block;\n margin-top: var(--qti-padding-vertical);\n padding: 0.5rem;\n}\n\ndiv.full-correct-response-inline {\n display: inline-block;\n margin-left: var(--qti-padding-horizontal);\n margin-right: var(--qti-padding-horizontal);\n padding: 0.2rem;\n}\n";var sF=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.testURL=null;t.testDoc=null;t.testXML=null;t.templateContent=null;return t}d(e,[{key:"handleTestURLChange",value:function t(){return a(function(){var t,e,n,r,o;return $(this,function(a){switch(a.label){case 0:if(!this.testURL)return[3,7];a.label=1;case 1:a.trys.push([1,6,,7]);return[4,iX().load(this.testURL)];case 2:t=a.sent(),e=this.closest("qti-test");if(!(e===null||e===void 0?void 0:e.postLoadTestTransformCallback))return[3,5];n=t.htmlDoc().querySelector("qti-assessment-test");r=n;if(!r)return[3,4];return[4,e.postLoadTestTransformCallback(t,n)];case 3:r=t=a.sent();a.label=4;case 4:r;a.label=5;case 5:this.testDoc=t.htmlDoc();return[3,7];case 6:o=a.sent();console.error("Error loading or parsing XML:",o);return[3,7];case 7:return[2]}})}).call(this)}},{key:"handleTestXMLChange",value:function t(){if(this.testXML)try{this.testDoc=iX().parse(this.testXML).htmlDoc()}catch(t){console.error("Error parsing XML:",t)}}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){r().call(n),this.initializeTemplateContent(),this.applyStyles(),this.testURL&&this.handleTestURLChange(),this.testXML&&this.handleTestXMLChange();return[2]})}).call(this)}},{key:"initializeTemplateContent",value:function t(){var t=this.querySelector("template");this.templateContent=t?t.content:im(tU())}},{key:"applyStyles",value:function t(){var t=new CSSStyleSheet;t.replaceSync(sj),this.shadowRoot.adoptedStyleSheets=[t]}},{key:"render",value:function t(){return im(tV(),this.templateContent,sz(this.testDoc,im(tD())))}}]);return e}(iD);nJ([n({type:String,attribute:"test-url"})],sF.prototype,"testURL",2),nJ([r()],sF.prototype,"testDoc",2),nJ([r()],sF.prototype,"testXML",2),nJ([nO("testURL",{waitUntilFirstUpdate:!0})],sF.prototype,"handleTestURLChange",1),nJ([nO("testXML",{waitUntilFirstUpdate:!0})],sF.prototype,"handleTestXMLChange",1),sF=nJ([iz("test-container")],sF);var sH=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t;var e=(t=this.computedContext)===null||t===void 0?void 0:t.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(!e||!e.variables)return im(t$());var n=e.variables.filter(function(t){return t.type==="response"}),r=e.variables.filter(function(t){return t.type==="outcome"}),o=function(t,e){return im(tj(),e,t.map(function(t){var e,n,r,o;var a=t.correctResponse?Array.isArray(t.correctResponse)?t.correctResponse.join(", "):t.correctResponse:"",s=((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.map(function(t){return"".concat(t.mapKey,"=").concat(t.mappedValue,"pt")}).join(", "))||"",l=((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.map(function(t){return"".concat(t.shape,"(").concat(t.coords,")=").concat(t.mappedValue,"pt")}).join(", "))||"";return im(tz(),t.identifier,Array.isArray(t.value)?t.value.join(", "):t.value,t.cardinality,t.baseType,a||s||l)}))};return im(tF(),o(n,"Response Variables"),o(r,"Outcome Variables"))}}]);return e}(iD);sH.styles=rO(tH()),nJ([M({context:i5,subscribe:!0})],sH.prototype,"computedContext",2),sH=nJ([iz("test-print-item-variables")],sH);var sB=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._internals=t.attachInternals(),t._internals.ariaLabel="pagination";return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");this.myTemplate=sh(t)}},{key:"render",value:function t(){var t=this;if(!this.computedContext)return im(tB());var e=this.computedContext.testParts.flatMap(function(t){return t.sections});return im(tQ(),e.map(function(e){return t.myTemplate({item:e})}))}}]);return e}(iD);nJ([M({context:i5,subscribe:!0})],sB.prototype,"computedContext",2),sB=nJ([iz("test-section-buttons-stamp")],sB);var sQ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.sectionId=null;t.addEventListener("click",function(){return t._requestItem(t.sectionId)});return t}d(e,[{key:"_requestItem",value:function t(t){this.dispatchEvent(new CustomEvent("qti-request-navigation",{composed:!0,bubbles:!0,detail:{type:"section",id:t}}))}},{key:"render",value:function t(){return im(tW())}}]);return e}(iD);sQ.styles=rO(tG(),oG,oX),nJ([n({type:String,attribute:"section-id"})],sQ.prototype,"sectionId",2),sQ=nJ([iz("test-section-link")],sQ);var sW=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(tX(),JSON.stringify(this.computedContext,null,2))}}]);return e}(iD);nJ([r(),M({context:i5,subscribe:!0})],sW.prototype,"computedContext",2),sW=nJ([iz("test-print-context")],sW);var sG=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.debug=!1;t.stampContext={view:"candidate",activeItem:{},activeSection:{items:[]},activeTestpart:{items:[],sections:[]},test:{}};return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");if(!t){this.myTemplate=null;return}this.myTemplate=sh(t)}},{key:"willUpdate",value:function t(t){if(!this.computedContext)return;var e=this.computedContext.testParts.find(function(t){return t.active}),n=e===null||e===void 0?void 0:e.sections.find(function(t){return t.active}),r=n===null||n===void 0?void 0:n.items.find(function(t){return t.active}),o=r||{},a=o.variables,s=C(o,["variables"]);if(!e||!n||!r)return;var l=x(k({},e),{items:e.sections.flatMap(function(t){return t.items.map(function(t){var e=t.variables,n=C(t,["variables"]);return n})}),sections:e.sections.map(function(t){return x(k({},t),{items:t.items.map(function(t){var e=t.variables,n=C(t,["variables"]);return n})})})}),u=x(k({},n),{items:n.items.map(function(t){var e=t.variables,n=C(t,["variables"]);return n})}),c=this.computedContext,d=c.testParts,h=C(c,["testParts"]);this.stampContext={view:this.computedContext.view,activeItem:s,activeSection:u,activeTestpart:l,test:h},this.dispatchEvent(new CustomEvent("qti-stamp-context-updated",{detail:this.stampContext,bubbles:!0}))}},{key:"render",value:function t(){return im(tY(),this.debug?im(tJ(),JSON.stringify(this.stampContext,null,2)):i_,this.myTemplate?this.myTemplate(this.stampContext):i_)}}]);return e}(iD);nJ([n({type:Boolean,reflect:!0})],sG.prototype,"debug",2),nJ([r(),M({context:i5,subscribe:!0})],sG.prototype,"computedContext",2),nJ([r()],sG.prototype,"stampContext",2),sG=nJ([iz("test-stamp")],sG);var sX=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.view="";t.disabled=!1;t.myTemplate=null;t.addEventListener("click",function(e){var n=e.target,r=parseFloat(n.value);n.tagName==="INPUT"&&t._changeOutcomeScore(r)});return t}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");if(!t){this.myTemplate=null;return}this.myTemplate=sh(t)}},{key:"_changeOutcomeScore",value:function t(t){var e,n;var r=(e=((n=this.computedContext)===null||n===void 0?void 0:n.testParts.find(function(t){return t.active})).sections.flatMap(function(t){return t.items}).find(function(t){return t.active}))===null||e===void 0?void 0:e.identifier;this.dispatchEvent(new CustomEvent("test-update-outcome-variable",{detail:{assessmentItemRefId:r,outcomeVariableId:"SCORE",value:t},bubbles:!0}))}},{key:"render",value:function t(){var t,e;var n=(t=this.computedContext)===null||t===void 0?void 0:t.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(!n||!n.variables)return im(tK());var r=(e=n.variables.find(function(t){return t.identifier=="MAXSCORE"}))===null||e===void 0?void 0:e.value,o=n.variables.find(function(t){return t.identifier=="SCORE"}),a=o===null||o===void 0?void 0:o.value,s=(o===null||o===void 0?void 0:o.externalScored)!=="human";if(!r||!o)return i_;var l=L(Array(Number(r)+1).keys());return im(tZ(),this.myTemplate?this.myTemplate({scores:l,score:a,disabled:s}):i_)}}]);return e}(iD);nJ([n({type:String,attribute:"view"})],sX.prototype,"view",2),nJ([n({type:Boolean})],sX.prototype,"disabled",2),nJ([M({context:i5,subscribe:!0})],sX.prototype,"computedContext",2),sX=nJ([iz("test-scoring-buttons")],sX);var sJ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"createRenderRoot",value:function t(){return this}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this);var t=this.querySelector("template");if(!t){this.myTemplate=null;return}this.myTemplate=sh(t)}},{key:"_switchView",value:function t(t){this.dispatchEvent(new CustomEvent("on-test-switch-view",{composed:!0,bubbles:!0,detail:t}))}},{key:"firstUpdated",value:function t(t){var e=this;this.addEventListener("click",function(){var t;((t=e.sessionContext)===null||t===void 0?void 0:t.view)==="scorer"?e._switchView("candidate"):e._switchView("scorer")})}},{key:"render",value:function t(){var t;return im(t0(),this.myTemplate?this.myTemplate({view:(t=this.sessionContext)===null||t===void 0?void 0:t.view}):i_)}}]);return e}(iD);nJ([M({context:ot,subscribe:!0})],sJ.prototype,"sessionContext",2),sJ=nJ([iz("test-view-toggle")],sJ);var sY=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.view=null;return t}d(e,[{key:"render",value:function t(){var t,e;var n=(t=this.computedContext)===null||t===void 0?void 0:t.testParts.flatMap(function(t){return t.sections.flatMap(function(t){return t.items})}).find(function(t){return t.active});if(!n||!n.variables)return im(t1());if(n.category==="dep-informational")return im(t2(),this.dataset.informational);var r=n===null||n===void 0?void 0:(e=n.variables.find(function(t){return t.identifier==="completionStatus"}))===null||e===void 0?void 0:e.value,o=n===null||n===void 0?void 0:n.variables.find(function(t){return t.identifier=="SCORE"}),a=parseFloat(o===null||o===void 0?void 0:o.value),s=n.externalScored;return im(t3(),r!=="completed"?this.dataset.textNoResponse:!s&&a!==void 0&&!Number.isNaN(a)?a>0?this.dataset.textCorrect:this.dataset.textIncorrect:s==="externalMachine"?Number.isNaN(a)||a===void 0?this.dataset.scoreUnknown:"We hebben je antwoord ".concat(a===0?"geen punten":a==1?"\xe9\xe9n punt":"".concat(a," punten")," gegeven. Je kunt je score zelf aanpassen als je denkt dat dat niet klopt."):s==="human"?Number.isNaN(a)?"":"Deze score heb je zelf toegekend.":this.dataset.inProgress)}}]);return e}(iD);nJ([M({context:i5,subscribe:!0})],sY.prototype,"computedContext",2),nJ([n({type:String,attribute:"view"})],sY.prototype,"view",2),sY=nJ([iz("test-scoring-feedback")],sY);var sK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t.addEventListener("click",function(){t.dispatchEvent(new CustomEvent("test-end-attempt",{bubbles:!0})),t.dispatchEvent(new CustomEvent("test-show-correct-response",{detail:!0,bubbles:!0}));var e=t.closest("qti-test").querySelector("test-container");Array.from(e.shadowRoot.querySelectorAll("[view]")).forEach(function(t){t.classList.toggle("show",!0)})});return t}d(e,[{key:"render",value:function t(){return im(t5())}}]);return e}(iD);sK.styles=rO(t4(),oG,oX),sK=nJ([iz("test-check-item")],sK);var sZ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.itemURL=null;t.itemDoc=null;t.itemXML=null;t.templateContent=null;return t}d(e,[{key:"handleItemURLChange",value:function t(){return a(function(){var t,e;return $(this,function(n){switch(n.label){case 0:if(!this.itemURL)return[3,4];n.label=1;case 1:n.trys.push([1,3,,4]);return[4,iW().load(this.itemURL)];case 2:t=n.sent();this.itemDoc=t.htmlDoc();return[3,4];case 3:e=n.sent();console.error("Error loading or parsing XML:",e);return[3,4];case 4:return[2]}})}).call(this)}},{key:"handleItemXMLChange",value:function t(){if(this.itemXML)try{this.itemDoc=iW().parse(this.itemXML).htmlDoc()}catch(t){console.error("Error parsing XML:",t)}}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){r().call(n),this.initializeTemplateContent(),this.applyStyles(),this.itemURL&&this.handleItemURLChange(),this.itemXML&&this.handleItemXMLChange();return[2]})}).call(this)}},{key:"initializeTemplateContent",value:function t(){var t=this.querySelector("template");this.templateContent=t?t.content:im(t6())}},{key:"applyStyles",value:function t(){var t=new CSSStyleSheet;t.replaceSync(sj),this.shadowRoot.adoptedStyleSheets=[t]}},{key:"render",value:function t(){return im(t7(),this.templateContent,sz(this.itemDoc,im(t8())))}}]);return e}(iD);nJ([n({type:String,attribute:"item-url"})],sZ.prototype,"itemURL",2),nJ([r()],sZ.prototype,"itemDoc",2),nJ([r()],sZ.prototype,"itemXML",2),nJ([nO("itemURL",{waitUntilFirstUpdate:!0})],sZ.prototype,"handleItemURLChange",1),nJ([nO("itemXML",{waitUntilFirstUpdate:!0})],sZ.prototype,"handleItemXMLChange",1),sZ=nJ([iz("item-container")],sZ);var s0=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.label="Correct response mode";t._options={internal:"Internal",full:"Full (copy)"};return t}d(e,[{key:"_switchMode",value:function t(t){this.dispatchEvent(new CustomEvent("item-switch-correct-response-mode",{detail:t,bubbles:!0}))}},{key:"render",value:function t(){var t=this;return im(et(),this.label,function(e){var n=e.target;t._switchMode(n.value)},Object.keys(this._options).map(function(e){var n;return im(t9(),e,e===((n=t.itemContext)===null||n===void 0?void 0:n.correctResponseMode),t._options[e])}))}}]);return e}(iD);nJ([M({context:i4,subscribe:!0})],s0.prototype,"itemContext",2),nJ([n({type:String})],s0.prototype,"label",2),nJ([r()],s0.prototype,"_options",2),s0=nJ([iz("item-correct-response-mode")],s0);var s1=rO(ee()),s2=rO(en(),s1),s3=rO(er()),s5=rO(ei(),s1);var s4=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.shown=!1;t.disabled=!1;t.showCandidateCorrectionText="Show candidate correction";t.hideCandidateCorrectionText="Hide candidate correction";t.noCorrectResponseText="No correct response specified";t._hasCorrectResponse=!1;t._previousActiveItem="";return t}d(e,[{key:"updated",value:function t(){var t;if(!this._hasCorrectResponse||this._previousActiveItem!==((t=this.computedContext)===null||t===void 0?void 0:t.identifier)){var e,n,r;this._previousActiveItem=(e=this.computedContext)===null||e===void 0?void 0:e.identifier;var o=!!((n=this.computedContext)===null||n===void 0?void 0:n.variables.some(function(t){return t.correctResponse})),a=!!((r=this.computedContext)===null||r===void 0?void 0:r.variables.some(function(t){var e,n,r,o;return((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.length)>0||((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.length)>0}));this._hasCorrectResponse=o||a}this.disabled=!this._hasCorrectResponse}},{key:"_toggleState",value:function t(){this.disabled||this.dispatchEvent(new CustomEvent("item-show-candidate-correction",{detail:!this.shown,bubbles:!0}))}},{key:"_getDisplayedText",value:function t(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCandidateCorrectionText:this.showCandidateCorrectionText}},{key:"render",value:function t(){return im(eo(),this._toggleState,this._getDisplayedText())}}]);return e}(iD);s4.styles=rO(ea(),s2,s3),nJ([M({context:i3,subscribe:!0})],s4.prototype,"computedContext",2),nJ([n({type:Boolean,reflect:!0})],s4.prototype,"shown",2),nJ([n({type:Boolean,reflect:!0})],s4.prototype,"disabled",2),nJ([n({type:String})],s4.prototype,"showCandidateCorrectionText",2),nJ([n({type:String})],s4.prototype,"hideCandidateCorrectionText",2),nJ([n({type:String})],s4.prototype,"noCorrectResponseText",2),s4=nJ([iz("item-show-candidate-correction")],s4);var s6=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.shown=!1;t.disabled=!1;t.showCorrectText="Show correct response";t.hideCorrectText="Hide correct response";t.noCorrectResponseText="No correct response specified";t._hasCorrectResponse=!1;t._previousActiveItem="";return t}d(e,[{key:"updated",value:function t(){var t;if(!this._hasCorrectResponse||this._previousActiveItem!==((t=this.computedContext)===null||t===void 0?void 0:t.identifier)){var e,n,r;this._previousActiveItem=(e=this.computedContext)===null||e===void 0?void 0:e.identifier;var o=!!((n=this.computedContext)===null||n===void 0?void 0:n.variables.some(function(t){return t.correctResponse})),a=!!((r=this.computedContext)===null||r===void 0?void 0:r.variables.some(function(t){var e,n,r,o;return((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.length)>0||((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.length)>0}));this._hasCorrectResponse=o||a}this.disabled=!this._hasCorrectResponse}},{key:"_toggleState",value:function t(){this.disabled||this.dispatchEvent(new CustomEvent("item-show-correct-response",{detail:!this.shown,bubbles:!0}))}},{key:"_getDisplayedText",value:function t(){return this.disabled?this.noCorrectResponseText:this.shown?this.hideCorrectText:this.showCorrectText}},{key:"render",value:function t(){return im(es(),this._toggleState,this._getDisplayedText())}}]);return e}(iD);s6.styles=rO(el(),s2,s3),nJ([M({context:i3,subscribe:!0})],s6.prototype,"computedContext",2),nJ([n({type:Boolean,reflect:!0})],s6.prototype,"shown",2),nJ([n({type:Boolean,reflect:!0})],s6.prototype,"disabled",2),nJ([n({type:String})],s6.prototype,"showCorrectText",2),nJ([n({type:String})],s6.prototype,"hideCorrectText",2),nJ([n({type:String})],s6.prototype,"noCorrectResponseText",2),s6=nJ([iz("item-show-correct-response")],s6);var s8=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t=this.computedContext;if(!t||!t.variables)return im(eu());var e=t.variables.filter(function(t){return t.type==="response"}),n=t.variables.filter(function(t){return t.type==="outcome"}),r=function(t,e){return im(ed(),e,t.map(function(t){var e,n,r,o;var a=t.correctResponse?Array.isArray(t.correctResponse)?t.correctResponse.join(", "):t.correctResponse:"",s=((n=t.mapping)===null||n===void 0?void 0:(e=n.mapEntries)===null||e===void 0?void 0:e.map(function(t){return"".concat(t.mapKey,"=").concat(t.mappedValue,"pt")}).join(", "))||"",l=((o=t.areaMapping)===null||o===void 0?void 0:(r=o.areaMapEntries)===null||r===void 0?void 0:r.map(function(t){return"".concat(t.shape,"(").concat(t.coords,")=").concat(t.mappedValue,"pt")}).join(", "))||"";return im(ec(),t.identifier,Array.isArray(t.value)?t.value.join(", "):t.value,t.cardinality,t.baseType,a||s||l)}))};return im(eh(),r(e,"Response Variables"),r(n,"Outcome Variables"))}}]);return e}(iD);s8.styles=rO(ep()),nJ([M({context:i3,subscribe:!0})],s8.prototype,"computedContext",2),s8=nJ([iz("item-print-variables")],s8);var s7=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.configContext={};t._onItemContextChanged=t._handleItemContextChanged.bind(t);t._onAssessmentItemConnected=t._handleAssessmentItemConnected.bind(t);t._onHandleShowCorrectResponse=t._handleShowCorrectResponse.bind(t);t._onHandleShowCandidateCorrection=t._handleShowCandidateCorrection.bind(t);t._onHandleSwitchCorrectResponseMode=t._handleSwitchCorrectResponseMode.bind(t);t.addEventListener("qti-item-context-updated",t._onItemContextChanged),t.addEventListener("qti-assessment-item-connected",t._onAssessmentItemConnected),t.addEventListener("item-show-correct-response",t._onHandleShowCorrectResponse),t.addEventListener("item-show-candidate-correction",t._onHandleShowCandidateCorrection),t.addEventListener("item-switch-correct-response-mode",t._onHandleSwitchCorrectResponseMode);return t}d(e,[{key:"_handleItemContextChanged",value:function t(t){var e,n;this._updateItemVariablesInTestContext(t.detail.itemContext.identifier,((n=t.detail)===null||n===void 0?void 0:(e=n.itemContext)===null||e===void 0?void 0:e.variables)||[])}},{key:"_handleAssessmentItemConnected",value:function t(t){var e,n;var r=t.detail._context.variables;this._qtiAssessmentItem=t.detail,this.computedContext=((e=this.computedContext)===null||e===void 0?void 0:e.identifier)===this._qtiAssessmentItem.identifier?x(k({},this.computedContext),{title:this._qtiAssessmentItem.title}):{identifier:this._qtiAssessmentItem.identifier,title:this._qtiAssessmentItem.title,adaptive:((n=this._qtiAssessmentItem.getAttribute("adaptive"))===null||n===void 0?void 0:n.toLowerCase())==="true"||!1,variables:r,correctResponseMode:"internal"},this._updateItemVariablesInTestContext(this._qtiAssessmentItem.identifier,r||[])}},{key:"_handleShowCorrectResponse",value:function t(t){this._qtiAssessmentItem&&this._qtiAssessmentItem.showCorrectResponse(t.detail)}},{key:"_handleShowCandidateCorrection",value:function t(t){this._qtiAssessmentItem&&this._qtiAssessmentItem.showCandidateCorrection(t.detail)}},{key:"_handleSwitchCorrectResponseMode",value:function t(t){this._handleShowCorrectResponse(new CustomEvent("item-show-correct-response",{detail:!1,bubbles:!0})),this.configContext=x(k({},this.configContext),{correctResponseMode:t.detail})}},{key:"_updateItemVariablesInTestContext",value:function t(t,e){var n,r;var o=e===null||e===void 0?void 0:(n=e.find(function(t){return t.identifier=="SCORE"}))===null||n===void 0?void 0:n.value,a=parseFloat(o===null||o===void 0?void 0:o.toString()),s=e===null||e===void 0?void 0:(r=e.find(function(t){return t.identifier==="completionStatus"}))===null||r===void 0?void 0:r.value,l=a!==void 0&&!isNaN(a)&&a>0,u=a!==void 0&&!isNaN(a)&&a<=0,c=s==="completed";this.computedContext=x(k({},this.computedContext),{identifier:t,correct:l,incorrect:u,completed:c,variables:e})}},{key:"render",value:function t(){return im(ef())}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-item-context-changed",this._onItemContextChanged),this.removeEventListener("qti-assessment-item-connected",this._onAssessmentItemConnected)}}]);return e}(iD);nJ([r(),P({context:i3})],s7.prototype,"computedContext",2),nJ([r(),P({context:i4})],s7.prototype,"configContext",2),s7=nJ([iz("qti-item")],s7);var s9=function(t,e,n){var r=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(t);return r};var lt=function(t,e,r,o){var u=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){l(this,n);var t;t=s(this,n,arguments);t.observer=null;t.droppableObsever=null;t.resizeObserver=null;t.draggables=[];t.droppables=[];t.dragContainers=[];t.dragClone=null;t.dragSource=null;t.touchStartPoint=null;t.isDraggable=!1;t.cloneOffset={x:0,y:0};t.isDragging=!1;t.allDropzones=[];t.lastTarget=null;t.currentDropTarget=null;t.onMove=t.handleTouchMove.bind(t);t.onEnd=t.handleTouchEnd.bind(t);t.onCancel=t.handleTouchCancel.bind(t);t.MIN_DRAG_DISTANCE=5;t.DRAG_CLONE_OPACITY=1;t.MAX_DRAGGABLE_WIDTH=600;t.dataTransfer={data:{},setData:function t(t,e){this.data[t]=e},getData:function t(t){return this.data[t]},effectAllowed:"move"};t.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};t.minAssociations=1;t.maxAssociations=0;t.draggablesModified=function(e,n){if(t.isMatchTabular())return;var r=true,o=false,a=undefined;try{var s=function(){var e=u.value;t.draggables.includes(e)&&(t.draggables=t.draggables.filter(function(t){return t!==e}),e.removeAttribute("tabindex"),e.removeEventListener("touchstart",t.handleTouchStart.bind(t)),e.removeEventListener("mousedown",t.handleTouchStart.bind(t)))};for(var l=n[Symbol.iterator](),u;!(r=(u=l.next()).done);r=true)s()}catch(t){o=true;a=t}finally{try{if(!r&&l.return!=null){l.return()}}finally{if(o){throw a}}}var c=true,d=false,h=undefined;try{for(var p=e[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;t.draggables.includes(v)||(t.draggables.push(v),v.setAttribute("tabindex","0"),v.hasTouchStartListener||(v.addEventListener("touchstart",t.handleTouchStart.bind(t),{passive:!1}),v.addEventListener("mousedown",t.handleTouchStart.bind(t),{passive:!1}),v.hasTouchStartListener=!0))}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}var m=0;t.draggables.forEach(function(e){e.style.viewTransitionName="drag-".concat(m,"-").concat(t.getAttribute("identifier")||crypto.randomUUID()),e.setAttribute("qti-draggable","true"),m++})};t.droppablesModified=function(e,n){if(!t.isMatchTabular()){var r=true,o=false,a=undefined;try{var s=function(){var e=u.value;t.droppables.includes(e)&&(t.droppables=t.droppables.filter(function(t){return t!==e}),t.allDropzones=t.allDropzones.filter(function(t){return t!==e}))};for(var l=n[Symbol.iterator](),u;!(r=(u=l.next()).done);r=true)s()}catch(t){o=true;a=t}finally{try{if(!r&&l.return!=null){l.return()}}finally{if(o){throw a}}}var c=true,d=false,h=undefined;try{for(var p=e[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;t.droppables.includes(v)||(t.droppables.push(v),t.allDropzones.push(v))}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}var m=true,g=false,y=undefined;try{for(var b=t.droppables[Symbol.iterator](),_;!(m=(_=b.next()).done);m=true){var q=_.value;t.dataset.choicesContainerWidth&&(q.style.width="".concat(t.dataset.choicesContainerWidth,"px"),q.style.boxSizing="border-box")}}catch(t){g=true;y=t}finally{try{if(!m&&b.return!=null){b.return()}}finally{if(g){throw y}}}}};return t}d(n,[{key:"handleDraggableContainerChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.dragContainersModified(t||[],e||[])}},{key:"dragContainersModified",value:function t(t,e){var n=true,r=false,o=undefined;try{var a,s=function(){var t=u.value;a.dragContainers.includes(t)&&(a.dragContainers=a.dragContainers.filter(function(e){return e!==t}),a.allDropzones=a.allDropzones.filter(function(e){return e!==t}))};for(var l=e[Symbol.iterator](),u;!(n=(u=l.next()).done);n=true)a=this,s()}catch(t){r=true;o=t}finally{try{if(!n&&l.return!=null){l.return()}}finally{if(r){throw o}}}var c=true,d=false,h=undefined;try{for(var p=t[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;this.dragContainers.includes(v)||(this.dragContainers.push(v),this.allDropzones.push(v))}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}}},{key:"handleDraggablesChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.draggablesModified(t||[],e||[])}},{key:"handleDroppablesChange",value:function t(t,e){this.isMatchTabular()||(t.length>0||e.length>0)&&this.droppablesModified(t||[],e||[])}},{key:"firstUpdated",value:function t(t){var a=this;var s,l,u;if(p(f(n.prototype),"firstUpdated",this).call(this,t),this.isMatchTabular())return;this.hasAttribute("disabled")||(document.addEventListener("mousemove",this.onMove,{passive:!1}),document.addEventListener("mouseup",this.onEnd,{passive:!1}),document.addEventListener("touchmove",this.onMove,{passive:!1}),document.addEventListener("touchend",this.onEnd,{passive:!1}),document.addEventListener("touchcancel",this.onCancel,{passive:!1}));var c=Array.from(this.querySelectorAll(e)||[]).concat(Array.from(((s=this.shadowRoot)===null||s===void 0?void 0:s.querySelectorAll(e))||[])),d=Array.from(this.querySelectorAll(r)||[]).concat(Array.from(((l=this.shadowRoot)===null||l===void 0?void 0:l.querySelectorAll(r))||[])),h=Array.from(this.querySelectorAll(o)||[]).concat(Array.from(((u=this.shadowRoot)===null||u===void 0?void 0:u.querySelectorAll(o))||[]));this.dragContainersModified(h,[]),this.droppablesModified(d,[]),this.draggablesModified(c,[]),this.updateMinDimensionsForDropZones(),this.observer=new MutationObserver(function(){return a.updateMinDimensionsForDropZones()}),this.observer.observe(this,{childList:!0,subtree:!0}),this.resizeObserver=new ResizeObserver(function(){return a.updateMinDimensionsForDropZones()}),this.querySelectorAll("qti-gap-text").forEach(function(t){var e;return(e=a.resizeObserver)===null||e===void 0?void 0:e.observe(t)})}},{key:"moveDraggableToDroppable",value:function t(t,e){return a(function(){var n;return $(this,function(r){n=this;if(this.isMatchTabular())return[2];(function(){t.style.transform="translate(0, 0)",e.tagName==="SLOT"?t.setAttribute("slot",e.getAttribute("name")):e.appendChild(t),n.checkAllMaxAssociations(),n.saveResponse()})();return[2]})}).call(this)}},{key:"activateDroppable",value:function t(t){this.dragContainers.includes(t)?(this._internals.states.add("--dragzone-active"),t.setAttribute("active","")):(this._internals.states.delete("--dragzone-active"),t.setAttribute("active",""))}},{key:"deactivateDroppable",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;e&&this._internals.states.add("--dragzone-active"),t.removeAttribute("active")}},{key:"connectedCallback",value:function t(){p(f(n.prototype),"connectedCallback",this).call(this)}},{key:"isMatchTabular",value:function t(){return this.classList.contains("qti-match-tabular")}},{key:"updateMinDimensionsForDropZones",value:function t(){return a(function(){var t,n,a,s,l,u,c,d,h,p,f,v,m,g,y,b,_,q,k,w,x,C,E,S,A,R,I;return $(this,function(T){switch(T.label){case 0:return[4,this.updateComplete];case 1:if(T.sent(),this.isMatchTabular())return[2];a=this.querySelectorAll(e),s=this.querySelector(o)||((t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(o)),l=this.querySelectorAll(r),u=(n=l[0])===null||n===void 0?void 0:n.parentElement,c=this.determineMaxWidth(s,u),d=0,h=0;p=true,f=false,v=undefined;T.label=2;case 2:T.trys.push([2,7,8,9]);m=a[Symbol.iterator]();T.label=3;case 3:if(!!(p=(g=m.next()).done))return[3,6];y=g.value;y.style.maxWidth=c+"px";return[4,this.measureIntrinsicSize(y)];case 4:b=T.sent(),_=b.width,q=b.height;d=Math.max(d,q),h=Math.max(h,_);T.label=5;case 5:p=true;return[3,3];case 6:return[3,9];case 7:k=T.sent();f=true;v=k;return[3,9];case 8:try{if(!p&&m.return!=null){m.return()}}finally{if(f){throw v}}return[7];case 9:u&&(u.style.gridTemplateColumns="repeat(auto-fit, minmax(calc(min(".concat(c,"px,").concat(h,"px + 2 * var(--qti-dropzone-padding))), 1fr))")),s&&(s.style.minHeight="".concat(d,"px"));w=true,x=false,C=undefined;try{for(E=l[Symbol.iterator]();!(w=(S=E.next()).done);w=true){A=S.value;A.style.minHeight="".concat(d,"px"),A.style.minWidth="".concat(h,"px");I=(R=A.shadowRoot)===null||R===void 0?void 0:R.querySelector('slot[part="dropslot"]');I&&(I.style.minHeight="".concat(d,"px"))}}catch(t){x=true;C=t}finally{try{if(!w&&E.return!=null){E.return()}}finally{if(x){throw C}}}return[2]}})}).call(this)}},{key:"determineMaxWidth",value:function t(t,e){var n=e!==null&&e!==void 0?e:t;if(!n||n.clientWidth==0)return this.MAX_DRAGGABLE_WIDTH;var r=window.getComputedStyle(n),o=parseFloat(r.paddingLeft),a=parseFloat(r.paddingRight);return Math.min(this.MAX_DRAGGABLE_WIDTH,n.clientWidth-o-a)}},{key:"measureIntrinsicSize",value:function t(t){return a(function(){var e,n;return $(this,function(r){e=t.style.position;t.style.position="fixed";n=t.getBoundingClientRect();return[2,(t.style.position=e,{width:n.width,height:n.height})]})})()}},{key:"activateDroppables",value:function t(t){if(this.isMatchTabular())return;this.dragContainers.forEach(function(e){e.setAttribute("enabled",""),e.hasAttribute("disabled")&&(e.contains(t)||e.shadowRoot&&e.shadowRoot.contains(t))&&e.removeAttribute("disabled")}),this.droppables.forEach(function(e){e.setAttribute("enabled",""),e.hasAttribute("disabled")&&(e.contains(t)||e.shadowRoot&&e.shadowRoot.contains(t))&&e.removeAttribute("disabled")})}},{key:"activateDragLocation",value:function t(){this._internals.states.add("--dragzone-enabled")}},{key:"deactivateDragLocation",value:function t(){this._internals.states.delete("--dragzone-enabled")}},{key:"deactivateDroppables",value:function t(){this.dragContainers.forEach(function(t){t.removeAttribute("enabled"),t.removeAttribute("active")}),this.droppables.forEach(function(t){t.removeAttribute("enabled"),t.removeAttribute("active")})}},{key:"disconnectedCallback",value:function t(){p(f(n.prototype),"disconnectedCallback",this).call(this),this.observer&&(this.observer.disconnect(),this.observer=null),this.droppableObsever&&(this.droppableObsever.disconnect(),this.droppableObsever=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),document.removeEventListener("mousemove",this.onMove),document.removeEventListener("mouseup",this.onEnd),document.removeEventListener("touchmove",this.onMove),document.removeEventListener("touchend",this.onEnd),document.removeEventListener("touchcancel",this.onCancel)}},{key:"handleTouchMove",value:function t(t){if(!this.isMatchTabular()&&this.isDraggable&&this.dragClone){var e=this.getEventCoordinates(t),n=e.x,r=e.y,o={clientX:n,clientY:r};this.calculateDragDistance(o)>=this.MIN_DRAG_DISTANCE&&(this.isDragging=!0,this.updateDragClonePosition(o));var a=this.findClosestDropzone();this.currentDropTarget=a,a!==this.lastTarget&&(this.lastTarget&&(this.deactivateDroppable(this.lastTarget),this.dispatchCustomEvent(this.lastTarget,"dragleave")),a&&(this.activateDroppable(a),this.dispatchCustomEvent(a,"dragenter")),this.lastTarget=a),this.currentDropTarget&&this.dispatchCustomEvent(this.currentDropTarget,"dragover"),t.preventDefault()}}},{key:"handleTouchEnd",value:function t(t){this.isMatchTabular()||((this.isDragging||this.isDraggable||this.dragClone)&&this.resetDragState(),this._internals.states.delete("--dragzone-active"),this.checkAllMaxAssociations(),this._internals.states.delete("--dragzone-enabled"),this._internals.states.delete("--dragzone-active"),this.deactivateDragLocation(),this.deactivateDroppables(),this.draggables.forEach(function(t){t.removeAttribute("dragging")}),t.preventDefault())}},{key:"handleTouchCancel",value:function t(t){this.resetDragState()}},{key:"validate",value:function t(){if(this.isMatchTabular())return null;if(!this.shadowRoot)return!1;var t=this.getValidAssociations(),e=!0,n="";this.maxAssociations>0&&t>this.maxAssociations?(e=!1,n=this.dataset.maxSelectionsMessage||"You've selected too many associations. Maximum allowed is ".concat(this.maxAssociations,".")):this.minAssociations>0&&t<this.minAssociations&&(e=!1,n=this.dataset.minSelectionsMessage||"You haven't selected enough associations. Minimum required is ".concat(this.minAssociations,"."));var r=this.lastElementChild;return this._internals.setValidity(e?{}:{customError:!0},n,r),e}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("#validation-message");return t&&(this._internals.validity.valid?(t.textContent="",t.style.display="none"):(t.textContent=this._internals.validationMessage,t.style.setProperty("display","block","important"))),this._internals.validity.valid}},{key:"checkMaxAssociations",value:function t(t){var e=this.getMatchMaxValue(t),n=t.querySelectorAll('[qti-draggable="true"]').length;return!(e===0)&&n>=e}},{key:"dropDraggableInDroppable",value:function t(t,e){var n=t.cloneNode(!0);n.removeAttribute("style"),this.moveDraggableToDroppable(n,e),this.draggablesModified([n],[]);var r=this.getMatchMaxValue(t),o=this.draggables.filter(function(e){return e.getAttribute("identifier")===t.getAttribute("identifier")});r!==0&&o.length>=r?(t.style.opacity="0.0",t.style.pointerEvents="none"):t.style.opacity="1.0"}},{key:"resetDragState",value:function t(){if(this.dragClone){var t=this.currentDropTarget!==null,e=!t||this.dragContainers.includes(this.currentDropTarget);t&&this.currentDropTarget&&!e&&this.dropDraggableInDroppable(this.dragSource,this.currentDropTarget),e&&(this.dragSource.style.opacity="1.0",this.dragSource.style.display="block",this.dragSource.style.position="static",this.dragSource.style.pointerEvents="auto",this.saveResponse()),this.dragClone.remove(),this.draggablesModified([],[this.dragClone])}this.isDragging=!1,this.isDraggable=!1,this.dragSource=null,this.dragClone=null,this.touchStartPoint=null,this.currentDropTarget=null,this.lastTarget=null,this.deactivateDroppables()}},{key:"checkAllMaxAssociations",value:function t(){var t=this;var e=this.getValidAssociations(),n=this.maxAssociations!==0&&e>=this.maxAssociations;this.droppables.forEach(function(e){n?t.disableDroppable(e):t.checkMaxAssociations(e)?t.disableDroppable(e):t.enableDroppable(e)})}},{key:"getMatchMaxValue",value:function t(t){var e=t.getAttribute("match-max");return e?parseInt(e,10):1}},{key:"disableDroppable",value:function t(t){t.setAttribute("disabled","")}},{key:"enableDroppable",value:function t(t){t.removeAttribute("disabled")}},{key:"response",get:function t(){var t;return typeof this.getResponse=="function"?t=this.getResponse():t=this.collectResponseData(),t.join(",")},set:function t(t){var e=this;if(!this.isMatchTabular())if(typeof this.getValue=="function"&&(t=this.getValue(t)),Array.isArray(t)){this.reset(!1),t===null||t===void 0?void 0:t.forEach(function(t){return e.placeResponse(t)});var n=new FormData;t.forEach(function(t){n.append(e.responseIdentifier,t)}),this._internals.setFormValue(n)}else this._internals.setFormValue(t||"")}},{key:"placeResponse",value:function t(t){var e=this;var n=O(t.split(" ").reverse()),r=n[0],o=n.slice(1),a=Array.from(this.draggables),s=Array.from(this.droppables);o.forEach(function(t){if(t==="")return;var n=a.find(function(e){return e.getAttribute("identifier")===t}),o=s.find(function(t){return t.getAttribute("identifier")===r});e.dropDraggableInDroppable(n,o)})}},{key:"getValidAssociations",value:function t(){var t=0;var e=true,n=false,r=undefined;try{for(var o=this.droppables[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;t=t+this.getDraggablesFromDroppable(s).length}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}return t}},{key:"saveResponse",value:function t(){var t;typeof this.getResponse=="function"?t=this.getResponse():t=this.collectResponseData(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:t}}))}},{key:"collectResponseData",value:function t(){var t=this;return this.droppables.map(function(e){var n=t.getDraggablesFromDroppable(e).map(function(t){return t.getAttribute("identifier")}),r=e.getAttribute("identifier");return n.map(function(t){return"".concat(t," ").concat(r)})}).flat()}},{key:"getDraggablesFromDroppable",value:function t(t){return this.draggables.map(function(t){return t.getAttribute("identifier")}).filter(function(t,e,n){return n.indexOf(t)===e}).flatMap(function(e){return Array.from(t.querySelectorAll("[identifier='".concat(e,"']")))}).filter(function(t){return!!t}).map(function(t){return t})}},{key:"reset",value:function t(){var t=this;var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.droppables.forEach(function(e){t.getDraggablesFromDroppable(e).forEach(function(e){e.remove(),t.draggablesModified([],[e])})}),this.dragContainers.forEach(function(t){Array.from(t.querySelectorAll('[qti-draggable="true"]')).forEach(function(t){t.style.opacity="1.0"})}),this.dragClone=null,this.dragSource=null,this.isDragging=!1,this.isDraggable=!1,this.currentDropTarget=null,this.lastTarget=null,e&&this.saveResponse()}},{key:"updateDragClonePosition",value:function t(t){if(!this.isDragging||!this.dragClone)return;var e=t.clientX-this.cloneOffset.x,n=t.clientY-this.cloneOffset.y,r=this.applyInteractionBoundaries(e,n,this.dragClone),o=r.newLeft,a=r.newTop;this.dragClone.style.left="".concat(o,"px"),this.dragClone.style.top="".concat(a,"px")}},{key:"applyInteractionBoundaries",value:function t(t,e,n){var r=this.getBoundingClientRect(),o=n.getBoundingClientRect(),a=o.width,s=o.height,l=Math.max(r.left,Math.min(t,r.right-a)),u=Math.max(r.top,Math.min(e,r.bottom-s));return{newLeft:l,newTop:u}}},{key:"getEventCoordinates",value:function t(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=t.touches?t.touches[0]:t;return{x:e?n.pageX:n.clientX,y:e?n.pageY:n.clientY}}},{key:"calculateDragDistance",value:function t(t){var e=Math.abs(t.clientX-this.touchStartPoint.x),n=Math.abs(t.clientY-this.touchStartPoint.y);return e+n}},{key:"getDropzoneRect",value:function t(t){var e;var n;return((n=(e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector('slot[part="dropslot"]'))!==null&&n!==void 0?n:t).getBoundingClientRect()}},{key:"findClosestDropzone",value:function t(){var t=this;var e=this.allDropzones.filter(function(t){return!t.hasAttribute("disabled")});if(!this.dragClone||e.length===0)return null;var n=this.dragClone.getBoundingClientRect(),r=null,o=0,a=function(e){var a=true,s=false,l=undefined;try{for(var u=e[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=t.getDropzoneRect(d),p=t.calculateOverlapArea(n,h);p>o&&(o=p,r=d)}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}};if(a(this.droppables.filter(function(t){return!t.hasAttribute("disabled")})),r||a(this.dragContainers.filter(function(t){return!t.hasAttribute("disabled")})),!r){var s=Number.POSITIVE_INFINITY;var l=true,u=false,c=undefined;try{for(var d=e[Symbol.iterator](),h;!(l=(h=d.next()).done);l=true){var p=h.value;var f=this.getDropzoneRect(p),v=Math.hypot(n.left-f.left,n.top-f.top);v<s&&(s=v,r=p)}}catch(t){u=true;c=t}finally{try{if(!l&&d.return!=null){d.return()}}finally{if(u){throw c}}}}return r}},{key:"calculateOverlapArea",value:function t(t,e){var n=Math.max(0,Math.min(t.right,e.right)-Math.max(t.left,e.left)),r=Math.max(0,Math.min(t.bottom,e.bottom)-Math.max(t.top,e.top));return n*r}},{key:"dispatchCustomEvent",value:function t(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t)return;var r=new CustomEvent(e,{bubbles:n,cancelable:!0});r.dataTransfer=this.dataTransfer,t.dispatchEvent(r)}},{key:"appendClone",value:function t(){document.body.appendChild(this.dragClone)}},{key:"handleTouchStart",value:function t(t){var e=this;if(this.isMatchTabular()||m(t,MouseEvent)&&t.button!==0||this.isDragging)return;var n=this.getEventCoordinates(t),r=n.x,o=n.y;this.touchStartPoint={x:r,y:o},this.dragSource=t.currentTarget,this.isDraggable=!0,this._internals.states.add("--dragzone-enabled"),this._internals.states.add("--dragzone-active"),this.activateDragLocation(),this.activateDroppables(this.dragSource);var a=this.findDraggableInDraggableContainer(this.dragSource.getAttribute("identifier")),s=this.droppables.some(function(t){return Array.from(t.children).some(function(t){return t===e.dragSource})}),l=this.dragSource.getBoundingClientRect();s&&(this.dragSource.remove(),this.draggablesModified([],[this.dragSource]),this.dragSource=a),this.cloneOffset.x=r-l.left,this.cloneOffset.y=o-l.top,this.dragClone=a.cloneNode(!0);var u=window.getComputedStyle(a);for(var c=0;c<u.length;c++){var d=u[c];this.dragClone.style.setProperty(d,u.getPropertyValue(d))}var h=a.getBoundingClientRect();this.dragClone.style.width="".concat(h.width,"px"),this.dragClone.style.height="".concat(h.height,"px"),l&&this.setDragCloneStyles(l),this.dragClone.style.display="block",this.dragClone.style.opacity="1",this.appendClone();var p=this.getMatchMaxValue(this.dragSource),f=this.draggables.filter(function(t){return t.getAttribute("identifier")===e.dragSource.getAttribute("identifier")});p!==0&&f.length>=p?(a.style.opacity="0.0",a.style.pointerEvents="none"):a.style.opacity="1.0",t.preventDefault(),this.dragClone.setAttribute("dragging","")}},{key:"findDraggableInDraggableContainer",value:function t(t){var n=this.dragContainers.flat();var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;if(u.getAttribute("identifier")===t)return u;var c=void 0;m(u,HTMLSlotElement)?c=Array.from((u===null||u===void 0?void 0:u.assignedElements())||[]):c=Array.from(u.querySelectorAll(e));var d=c.find(function(e){return e.getAttribute("identifier")===t});if(d)return d}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}},{key:"setDragCloneStyles",value:function t(t){this.dragClone.style.position="fixed",this.dragClone.style.top="".concat(t.top,"px"),this.dragClone.style.left="".concat(t.left,"px"),this.dragClone.style.setProperty("box-sizing","border-box","important"),this.dragClone.style.zIndex="9999",this.dragClone.style.pointerEvents="none",this.dragClone.style.opacity=this.DRAG_CLONE_OPACITY.toString(),this.dragClone.style.display="block"}}]);return n}(s9(t,r,e));return nJ([n({attribute:!1,type:Object})],u.prototype,"configuration",2),nJ([n({type:Number,reflect:!0,attribute:"min-associations"})],u.prototype,"minAssociations",2),nJ([n({type:Number,reflect:!0,attribute:"max-associations"})],u.prototype,"maxAssociations",2),nJ([nM(o)],u.prototype,"handleDraggableContainerChange",1),nJ([nM(e)],u.prototype,"handleDraggablesChange",1),nJ([nM(r)],u.prototype,"handleDroppablesChange",1),u};var le=rO(ev());var ln=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._childrenMap=[];t._registerChoiceHandler=t._registerChoice.bind(t),t.addEventListener("register-qti-simple-associable-choice",t._registerChoiceHandler);return t}d(e,[{key:"_registerChoice",value:function t(t){var e=t.target;this._childrenMap.push(e)}},{key:"render",value:function t(){return im(eg(),this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map(function(t,e){return im(em(),e,e,e,e)}))}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-qti-simple-associable-choice",this._registerChoiceHandler)}}]);return e}(lt(oi,"qti-simple-associable-choice",".dl","slot[name='qti-simple-associable-choice']"));ln.styles=le,nJ([r()],ln.prototype,"_childrenMap",2),ln=nJ([iz("qti-associate-interaction")],ln);var lr=function(t,e){var a=/*#__PURE__*/function(t){"use strict";v(n,t);function n(){l(this,n);var t;t=s(this,n,arguments);t._choiceElements=[];t.minChoices=0;t.maxChoices=1;t._handleDisabledChange=function(e,n){t._choiceElements.forEach(function(t){return t.disabled=n})};t._handleReadonlyChange=function(e,n){t._choiceElements.forEach(function(t){return t.readonly=n})};t.response="";t._handleValueChange=function(){t._internals.setFormValue(t.value),t._updateChoiceSelection()};return t}d(n,[{key:"_handleMaxChoicesChange",value:function t(t,e){this._determineInputType()}},{key:"value",get:function t(){return Array.isArray(this.response)&&this.response.length===0||this.response===""?null:Array.isArray(this.response)?this.response.join(","):this.response},set:function t(t){this.maxChoices>1&&(typeof t=="string"||t===null)?this.response=t?t.toString().split(","):[]:this.response=t||""}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;if(e===null||e===void 0?void 0:e.correctResponse){var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];this._choiceElements.forEach(function(e){e.internals.states.delete("correct-response"),e.internals.states.delete("incorrect-response"),t&&n.length>0&&(n.includes(e.identifier)?e.internals.states.add("correct-response"):e.internals.states.add("incorrect-response"))})}}},{key:"toggleCandidateCorrection",value:function t(t){var e=this.responseVariable;if(!(e===null||e===void 0?void 0:e.correctResponse))return;var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse],r=Array.isArray(e.value)?e.value:[e.value];this._choiceElements.forEach(function(e){e.internals.states.delete("candidate-correct"),e.internals.states.delete("candidate-incorrect"),t&&r.includes(e.identifier)&&(n.includes(e.identifier)?e.internals.states.add("candidate-correct"):e.internals.states.add("candidate-incorrect"))})}},{key:"connectedCallback",value:function t(){p(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("register-".concat(e),this._registerChoiceElement),this.addEventListener("unregister-".concat(e),this._unregisterChoiceElement),this.addEventListener("activate-".concat(e),this._choiceElementSelectedHandler)}},{key:"disconnectedCallback",value:function t(){p(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-".concat(e),this._registerChoiceElement),this.removeEventListener("unregister-".concat(e),this._unregisterChoiceElement),this.removeEventListener("activate-".concat(e),this._choiceElementSelectedHandler)}},{key:"validate",value:function t(){var t=this;var e=this._choiceElements.filter(function(e){return t._getChoiceChecked(e)}),n=e.length,r=!0,o="";return this.maxChoices!==0&&n>this.maxChoices?(r=!1,o=this.dataset.maxSelectionsMessage||"Please select no more than ".concat(this.maxChoices," ").concat(this.maxChoices===1?"option":"options",".")):n<this.minChoices&&(r=!1,o=this.dataset.minSelectionsMessage||"Please select at least ".concat(this.minChoices," ").concat(this.minChoices===1?"option":"options",".")),e.length>0&&this._internals.setValidity(r?{}:{customError:!0},o,e[n-1]||this._choiceElements[0]||this),r}},{key:"reportValidity",value:function t(){return this._validationMessageElement&&(this._internals.validity.valid?(this._validationMessageElement.textContent="",this._validationMessageElement.style.display="none"):(this._validationMessageElement.textContent=this._internals.validationMessage,this._validationMessageElement.style.setProperty("display","block","important"))),this._internals.validity.valid}},{key:"_registerChoiceElement",value:function t(t){t.stopPropagation();var e=t.target;e.disabled=this.disabled,this._choiceElements.push(e),this._setInputType(e)}},{key:"_unregisterChoiceElement",value:function t(t){t.stopPropagation();var e=t.target;this._choiceElements=this._choiceElements.filter(function(t){return t!==e})}},{key:"_determineInputType",value:function t(){var t=this;this._choiceElements.forEach(function(e){t._setInputType(e)})}},{key:"_setInputType",value:function t(t){this._internals.role=this.maxChoices===1?"radiogroup":null;var e=this.maxChoices===1?"radio":"checkbox";t.internals.role=e,t.internals.states.delete(e==="radio"?"checkbox":"radio"),t.internals.states.add(e)}},{key:"_choiceElementSelectedHandler",value:function t(t){var e=this;var n;this._toggleChoiceChecked(t.target),this.maxChoices===1?this._choiceElements.forEach(function(n){n.identifier!==t.detail.identifier&&e._setChoiceChecked(n,!1)}):this.maxChoices!==0&&((n=this._configContext)===null||n===void 0?void 0:n.disableAfterIfMaxChoicesReached)&&(this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}).length>=this.maxChoices?this._choiceElements.forEach(function(t){e._getChoiceChecked(t)||(t.disabled=!0)}):this._choiceElements.forEach(function(t){return t.disabled=!1})),this._handleChoiceSelection()}},{key:"_setChoiceChecked",value:function t(t,e){var n;((n=t.internals)===null||n===void 0?void 0:n.states)&&(e?(t.internals.states.add("--checked"),t.internals.ariaChecked="true"):(t.internals.states.delete("--checked"),t.internals.ariaChecked="false"))}},{key:"_getChoiceChecked",value:function t(t){return t.internals.states.has("--checked")}},{key:"_toggleChoiceChecked",value:function t(t){var e=this._getChoiceChecked(t);this._setChoiceChecked(t,!e)}},{key:"_handleChoiceSelection",value:function t(){var t=this;var e=this._choiceElements.filter(function(e){return t._getChoiceChecked(e)}).map(function(t){return t.identifier});this.response=this.maxChoices===1?e[0]||"":e,this.validate(),this.saveResponse(this.response)}},{key:"_updateChoiceSelection",value:function t(){var t=this;var e=Array.isArray(this.response)?this.response:[this.response];this._choiceElements.forEach(function(n){var r=e.includes(n.identifier);t._setChoiceChecked(n,r)})}}]);return n}(t);return nJ([o("#validation-message")],a.prototype,"_validationMessageElement",2),nJ([n({type:Number,attribute:"min-choices"})],a.prototype,"minChoices",2),nJ([n({type:Number,attribute:"max-choices"})],a.prototype,"maxChoices",2),nJ([nO("maxChoices",{waitUntilFirstUpdate:!0})],a.prototype,"_handleMaxChoicesChange",1),nJ([nO("disabled",{waitUntilFirstUpdate:!0})],a.prototype,"_handleDisabledChange",2),nJ([nO("readonly",{waitUntilFirstUpdate:!0})],a.prototype,"_handleReadonlyChange",2),nJ([r()],a.prototype,"response",2),nJ([nO("response",{waitUntilFirstUpdate:!0})],a.prototype,"_handleValueChange",2),nJ([r(),M({context:i4,subscribe:!0})],a.prototype,"_configContext",2),a};var li=function(t,e){var r=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._classes=[];t._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];t._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"];return t}d(e,[{key:"class",get:function t(){var t;return((t=this._classes)===null||t===void 0?void 0:t.join(" "))||""},set:function t(t){t&&(this._classes=t.split(" "),this._addLabels())}},{key:"updated",value:function t(t){p(f(e.prototype),"updated",this).call(this,t),this._addLabels()}},{key:"_addLabels",value:function t(){var t=this;var e=this._classes.some(function(e){return t._allLabels.includes(e)||t._allLabelSuffixes.includes(e)}),n=function(t){return!isNaN(+t)};if(e){var r=Array.from(this.querySelectorAll("qti-simple-choice")).map(function(t){return t}).map(function(t,e){return{el:t,order:n(t.style.order)?+t.style.order:e+1}}).sort(function(t,e){return t.order-e.order}).map(function(t){return t.el});for(var o=0;o<r.length;o++)r[o].marker=this._getLabel(o+1)}}},{key:"_getLabel",value:function t(t){var e=this;var n=this._classes.filter(function(t){return e._allLabels.includes(t)}).pop(),r=this._classes.filter(function(t){return e._allLabelSuffixes.includes(t)}).pop();!n&&r&&(n="qti-labels-upper-alpha");var o="";switch(n){case"qti-labels-decimal":o="".concat(t);break;case"qti-labels-lower-alpha":o="".concat(String.fromCharCode(97+t-1));break;case"qti-labels-upper-alpha":o="".concat(String.fromCharCode(65+t-1));break}return r==="qti-labels-suffix-period"?o+=".":r==="qti-labels-suffix-parenthesis"&&(o+=")"),o}}]);return e}(t);return nJ([n({type:String,reflect:!0})],r.prototype,"class",1),r};var lo=rO(ey());var la=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.orientation="vertical";return t}d(e,[{key:"_handleSlotChange",value:function t(){var t=this.querySelectorAll("qti-simple-choice");this.style.setProperty("--item-count",t.length.toString())}},{key:"render",value:function t(){return im(eb(),this._handleSlotChange)}}]);return e}(li(lr(oi,"qti-simple-choice"),"qti-simple-choice"));la.styles=lo,nJ([n({type:String})],la.prototype,"orientation",2),la=nJ([iz("qti-choice-interaction")],la);var ls=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.rawResponse="";t._errorMessage=null;t.handlePostMessage=t.handlePostMessage.bind(t);return t}d(e,[{key:"connectedCallback",value:function t(){var t=this;p(f(e.prototype),"connectedCallback",this).call(this);var n=this.data.startsWith("http")||this.data.startsWith("blob")?this.data:V(this.baseItemUrl+"/"+this.data);fetch(n).then(function(t){return t.json()}).then(function(e){t.manifest=e,t.setupCES()}).catch(function(e){t._errorMessage=e})}},{key:"setupCES",value:function t(){var t=this.shadowRoot.querySelector("#pciContainer").contentDocument;if(!this.manifest.script||this.manifest.script.length===0){this._errorMessage="No script found in manifest";return}if(!this.manifest.style||this.manifest.style.length===0){this._errorMessage="No style found in manifest";return}var e=this.manifest.style[0],n=e.startsWith("http")||e.startsWith("blob")?e:V("".concat(this.baseRefUrl,"/").concat(e)),r=this.manifest.script[0],o=r.startsWith("http")||r.startsWith("blob")?r:V("".concat(this.baseRefUrl,"/").concat(r));window.addEventListener("message",this.handlePostMessage),t.open(),t.write("\n <html>\n <head>\n <link href='".concat(n,"' rel=\"stylesheet\" />\n <script src='").concat(o,"'><\/script>\n </head>\n <body></body>\n </html>\n ")),t.close()}},{key:"getIFrames",value:function t(){var t=this.shadowRoot.querySelectorAll("iframe"),e=this.querySelectorAll("iframe"),n=L(t).concat(L(e));var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;var c=u.src;if(new URL(c,window.location.href).origin===window.location.origin)try{var d=u.contentDocument||u.contentWindow.document;d&&this.getInnerIFrames(d,n)}catch(t){console.error("Error accessing nested iframe:",t)}}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}return n.forEach(function(t,e){n.indexOf(t)!==e&&n.splice(e,1)}),n}},{key:"getInnerIFrames",value:function t(t){var e=this;var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return t.querySelectorAll("iframe").forEach(function(t){n.push(t);var r=t.src;if(new URL(r,window.location.href).origin===window.location.origin)try{var o=t.contentDocument||t.contentWindow.document;e.getInnerIFrames(o,n)}catch(t){console.error("Error accessing nested iframe:",t)}else console.warn("Skipped cross-origin iframe:",r)}),n}},{key:"postToWindowAndIframes",value:function t(t,e){window.postMessage({type:t,data:e},"*");var n=this.getIFrames();var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;u.contentWindow&&u.contentWindow.postMessage({type:t,data:e},"*")}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}},{key:"handlePostMessage",value:function t(t){var e=this;var n=t.data,r=n.type,o=n.data;switch(r){case"setResponse":(o===null||!(Array.isArray(o)&&o.length===1&&o[0]===""))&&(this.rawResponse=o,this.saveResponse(o));break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{var a=this.manifest.media.map(function(t){return t.startsWith("http")||t.startsWith("blob")?t:V(e.baseRefUrl+"/"+t)});this.postToWindowAndIframes("mediaData",a);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}},{key:"validate",value:function t(){if(!this.rawResponse)return!1;if(Array.isArray(this.rawResponse)){if(this.rawResponse.length===0)return!1;var t=true,e=false,n=undefined;try{for(var r=this.rawResponse[Symbol.iterator](),o;!(t=(o=r.next()).done);t=true){var a=o.value;if(a!==""&&a!==null)return!0}}catch(t){e=true;n=t}finally{try{if(!t&&r.return!=null){r.return()}}finally{if(e){throw n}}}}return!0}},{key:"response",get:function t(){return this.rawResponse||null},set:function t(t){if(typeof t=="string")this.rawResponse=t,this.saveResponse(t);else if(Array.isArray(t))this.rawResponse=t;else if(t)throw new Error("Value must be a string or an array of strings")}},{key:"disconnectedCallback",value:function t(){window.removeEventListener("message",this.handlePostMessage),p(f(e.prototype),"disconnectedCallback",this).call(this)}},{key:"render",value:function t(){return im(eq(),this.getAttribute("width"),this.getAttribute("height"),this._errorMessage&&im(e_(),this._errorMessage))}}]);return e}(oi);nJ([n({type:String,attribute:"data"})],ls.prototype,"data",2),nJ([n({type:String,attribute:"data-base-item"})],ls.prototype,"baseItemUrl",2),nJ([n({type:String,attribute:"data-base-ref"})],ls.prototype,"baseRefUrl",2),nJ([n({type:String,attribute:"id"})],ls.prototype,"id",2),nJ([r()],ls.prototype,"_errorMessage",2),ls=nJ([iz("qti-custom-interaction")],ls);var ll=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.disabled=!1;t.countAttempt=null;t.title="end attempt";return t}d(e,[{key:"render",value:function t(){return im(ek(),this.disabled,this.endAttempt,this.title)}},{key:"endAttempt",value:function t(t){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}}]);return e}(iD);nJ([n({type:String,attribute:"response-identifier"})],ll.prototype,"responseIdentifier",2),nJ([n({reflect:!0,type:Boolean})],ll.prototype,"disabled",2),nJ([n({type:String,attribute:"count-attempt"})],ll.prototype,"countAttempt",2),nJ([n({type:String})],ll.prototype,"title",2),ll=nJ([iz("qti-end-attempt-interaction")],ll);var lu=rO(ew());var lc=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._rows=5;t.response=null;t._handleResponseChange=function(){t._internals.setFormValue(t.value),t.validate()};return t}d(e,[{key:"handleclassNamesChange",value:function t(t,e){var n=this;var r=e.split(" "),o=!1;if(r.forEach(function(t){if(t.startsWith("qti-height-lines-")){var e=t.replace("qti-height-lines-","");n._rows=parseInt(e),o=!0}}),!o&&this.expectedLength){var a=Math.ceil(this.expectedLength/50);this._rows=a}}},{key:"value",get:function t(){return this.response||null},set:function t(t){this.response=t||null}},{key:"validate",value:function t(){var t=this.shadowRoot.querySelector("textarea");if(!t)return!1;if(this.patternMask&&this.dataPatternmaskMessage){this._internals.setValidity({}),t.setCustomValidity("");var e=this.patternMask.startsWith("^")&&this.patternMask.endsWith("$")?this.patternMask:"^".concat(this.patternMask,"$"),n=new RegExp(e);t.checkValidity()&&n.test(t.value)||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),t.setCustomValidity(this.dataPatternmaskMessage))}else{var r=t.checkValidity();this._internals.setValidity(r?{}:{customError:!1})}return!!this.response&&t.checkValidity()}},{key:"toggleCorrectResponse",value:function t(){}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("textarea");if(!t)return!1;var e=this.validate();return e||t.reportValidity(),e}},{key:"render",value:function t(){var t=this;return im(ex(),this.responseIdentifier,5e3,function(t){return t.stopImmediatePropagation()},this.textChanged,this.textChanged,function(e){t.reportValidity()},oI(this.placeholderText?this.placeholderText:void 0),this._rows,this.disabled,this.readonly,this.response)}},{key:"textChanged",value:function t(t){if(this.disabled||this.readonly)return;var e=t.target;this.setEmptyAttribute(e.value),this.response!==e.value&&(this.value=e.value,this.saveResponse(e.value))}},{key:"setEmptyAttribute",value:function t(t){this.setAttribute("empty",t===""?"true":"false")}}]);return e}(oi);lc.styles=lu,nJ([r()],lc.prototype,"_rows",2),nJ([n({type:Number,attribute:"expected-length"})],lc.prototype,"expectedLength",2),nJ([n({type:String,attribute:"pattern-mask"})],lc.prototype,"patternMask",2),nJ([n({type:String,attribute:"placeholder-text"})],lc.prototype,"placeholderText",2),nJ([n({type:String,attribute:"data-patternmask-message"})],lc.prototype,"dataPatternmaskMessage",2),nJ([n({type:String,attribute:"class"})],lc.prototype,"classNames",2),nJ([nO("classNames")],lc.prototype,"handleclassNamesChange",1),nJ([r()],lc.prototype,"response",2),nJ([nO("response",{waitUntilFirstUpdate:!0})],lc.prototype,"_handleResponseChange",2),lc=nJ([iz("qti-extended-text-interaction")],lc);var ld=rO(eC());var lh=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(eE())}},{key:"toggleCorrectResponse",value:function t(t){var e=this;var n=this.responseVariable;if(t&&(n===null||n===void 0?void 0:n.correctResponse)){var r=[],o=Array.isArray(n.correctResponse)?n.correctResponse:[n.correctResponse];o&&(r=o.map(function(t){var e=t.split(" ");return{text:e[0],gap:e[1]}})),this.querySelectorAll("qti-gap").forEach(function(t){var n,o,a;var s=t.getAttribute("identifier"),l=(n=r.find(function(t){return t.gap===s}))===null||n===void 0?void 0:n.text,u=(o=e.querySelector('qti-gap-text[identifier="'.concat(l,'"]')))===null||o===void 0?void 0:o.textContent.trim();if(l&&u){var c;if(!((c=t.nextElementSibling)===null||c===void 0?void 0:c.classList.contains("correct-option"))){var d=document.createElement("span");d.classList.add("correct-option"),d.textContent=u,d.style.border="1px solid var(--qti-correct)",d.style.borderRadius="4px",d.style.padding="2px 4px",d.style.display="inline-block",t.insertAdjacentElement("afterend",d)}}else((a=t.nextElementSibling)===null||a===void 0?void 0:a.classList.contains("correct-option"))&&t.nextElementSibling.remove()})}else this.querySelectorAll(".correct-option").forEach(function(t){t.remove()})}},{key:"getMatches",value:function t(t){if(!t.correctResponse)return[];var e=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse],n=[];return e&&e.forEach(function(t){var e=t.split(" ");n.push({source:e[0],target:e[1]})}),n}},{key:"toggleCandidateCorrection",value:function t(t){var e=this.responseVariable;if(!(e===null||e===void 0?void 0:e.correctResponse))return;var n=this.getMatches(e);Array.from(this.querySelectorAll("qti-gap")).forEach(function(e){var r=e.getAttribute("identifier"),o=n.filter(function(t){return t.target===r});e.querySelectorAll("qti-gap-text").forEach(function(e){var n;if(e.internals.states.delete("candidate-correct"),e.internals.states.delete("candidate-incorrect"),!t)return;((n=o.find(function(t){return t.source===e.identifier}))===null||n===void 0?void 0:n.source)!==void 0?e.internals.states.add("candidate-correct"):e.internals.states.add("candidate-incorrect")})})}}]);return e}(lt(oi,"qti-gap-text","qti-gap","slot[part='drags']"));lh.styles=ld,lh=nJ([iz("qti-gap-match-interaction")],lh);var lp=function(t,e,n){var r=new Map;for(var o=e;o<=n;o++)r.set(t[o],o);return r},lf=sR(/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){l(this,e);var n;if(n=s(this,e,[t]),t.type!==sA.CHILD)throw Error("repeat() can only be used in text expressions");return n}d(e,[{key:"dt",value:function t(t,e,n){var r;n===void 0?n=e:e!==void 0&&(r=e);var o=[],a=[],s=0;var l=true,u=false,c=undefined;try{for(var d=t[Symbol.iterator](),h;!(l=(h=d.next()).done);l=true){var p=h.value;o[s]=r?r(p,s):s,a[s]=n(p,s),s++}}catch(t){u=true;c=t}finally{try{if(!l&&d.return!=null){d.return()}}finally{if(u){throw c}}}return{values:a,keys:o}}},{key:"render",value:function t(t,e,n){return this.dt(t,e,n).values}},{key:"update",value:function t(t,e){var n=T(e,3),r=n[0],o=n[1],a=n[2];var s=sE(t),l=this.dt(r,o,a),u=l.values,c=l.keys;if(!Array.isArray(s))return this.ut=c,u;var d;var h=(d=this.ut)!==null&&d!==void 0?d:this.ut=[],p=[],f,v,m=0,g=s.length-1,y=0,b=u.length-1;for(;m<=g&&y<=b;)if(s[m]===null)m++;else if(s[g]===null)g--;else if(h[m]===c[y])p[y]=sw(s[m],u[y]),m++,y++;else if(h[g]===c[b])p[b]=sw(s[g],u[b]),g--,b--;else if(h[m]===c[b])p[b]=sw(s[m],u[b]),sk(t,p[b+1],s[m]),m++,b--;else if(h[g]===c[y])p[y]=sw(s[g],u[y]),sk(t,s[m],s[g]),g--,y++;else if(f===void 0&&(f=lp(c,y,b),v=lp(h,m,g)),f.has(h[m]))if(f.has(h[g])){var _=v.get(c[y]),q=_!==void 0?s[_]:null;if(q===null){var k=sk(t,s[m]);sw(k,u[y]),p[y]=k}else p[y]=sw(q,u[y]),sk(t,s[m],q),s[_]=null;y++}else sS(s[g]),g--;else sS(s[m]),m++;for(;y<=b;){var w=sk(t,p[b+1]);sw(w,u[y]),p[y++]=w}for(;m<=g;){var x=s[m++];x!==null&&sS(x)}return this.ut=c,sC(t,p),ib}}]);return e}(sI));var lv=rO(eS());var lm=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t.startPoint=null;t.endPoint=null;t._correctLines=[];t._response=[];t.addEventListener("qti-register-hotspot",t.positionHotspotOnRegister);return t}d(e,[{key:"reset",value:function t(){this._response=[],this._correctLines=[]}},{key:"validate",value:function t(){return this.response.length>0}},{key:"response",get:function t(){return this._response},set:function t(t){this._response=t}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;if(!t||!e){this._correctLines=[];return}if(!e.correctResponse){console.error("No correct response found for this interaction.");return}var n=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];this._correctLines=n}},{key:"render",value:function t(){var t=this;var e,n,r,o;return im(eT(),oI((e=this.grImage[0])===null||e===void 0?void 0:e.width),oI((n=this.grImage[0])===null||n===void 0?void 0:n.height),(r=this.grImage[0])===null||r===void 0?void 0:r.width,(o=this.grImage[0])===null||o===void 0?void 0:o.height,lf(this.response||[],function(t){return t},function(e,n){return ig(eA(),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.top),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.top),function(e){e.stopPropagation(),t._response=t._response.filter(function(t,e){return e!==n}),t.saveResponse(t.response)})}),lf(this._correctLines||[],function(t){return t},function(e,n){return ig(eR(),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[0],"]")).style.top),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.left),parseInt(t.querySelector("[identifier=".concat(e.split(" ")[1],"]")).style.top))}),this.startPoint&&ig(eI(),this.startCoord.x,this.startCoord.y,this.mouseCoord.x,this.mouseCoord.y))}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),o=n.getAttribute("shape"),a=r.split(",").map(function(t){return parseInt(t)});nU(o,a,e,n)}},{key:"firstUpdated",value:function t(){var t=this;this.hotspots=this.querySelectorAll("qti-associable-hotspot"),this.addEventListener("mousemove",function(e){var n=t.grImage[0];if(!n)return;var r=n.getBoundingClientRect();t.mouseCoord={x:e.clientX-r.left,y:e.clientY-r.top}}),this.hotspots.forEach(function(e){e.style.left=e.getAttribute("coords").split(",")[0]+"px",e.style.top=e.getAttribute("coords").split(",")[1]+"px",e.addEventListener("click",function(e){t.startPoint?t.endPoint||(t.endPoint=e.target,t._response=L(t.response).concat(["".concat(t.startPoint.getAttribute("identifier")," ").concat(t.endPoint.getAttribute("identifier"))]),t.saveResponse(t.response),t.startPoint=null,t.endPoint=null):(t.startPoint=e.target,t.startCoord={x:parseInt(t.startPoint.getAttribute("coords").split(",")[0]),y:parseInt(t.startPoint.getAttribute("coords").split(",")[1])})})})}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return e}(oi);lm.styles=lv,nJ([r()],lm.prototype,"_correctLines",2),nJ([r()],lm.prototype,"startCoord",2),nJ([r()],lm.prototype,"mouseCoord",2),nJ([u({selector:"img"})],lm.prototype,"grImage",2),nJ([r()],lm.prototype,"_response",2),lm=nJ([iz("qti-graphic-associate-interaction")],lm);var lg=rO(eP());var ly=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(eM())}},{key:"positionHotspotOnRegister",value:function t(t){var e=t.target,n=e.getAttribute("coords"),r=e.getAttribute("shape"),o=n.split(",").map(function(t){return parseInt(t)});switch(r){case"circle":{var a=T(o,3),s=a[0],l=a[1],u=a[2];e.style.left=s-u+"px",e.style.top=l-u+"px",e.style.width=e.style.height=2*u+"px"}break;case"rect":{var c=T(o,4),d=c[0],h=c[1],p=c[2],f=c[3];e.style.left=d+"px",e.style.top=h+"px",e.style.width=p-d+"px",e.style.height=f-h+"px"}break;default:break}}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return e}(lt(oi,"qti-gap-img, qti-gap-text","qti-associable-hotspot","slot[part='drags']"));ly.styles=lg,ly=nJ([iz("qti-graphic-gap-match-interaction")],ly);var lb=rO(eO());var l_=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._choiceElements=[];return t}d(e,[{key:"render",value:function t(){return im(eL())}},{key:"setHotspotOrder",value:function t(t){var e=t.detail,n=e.identifier,r=this._choiceElements.find(function(t){return t.getAttribute("identifier")===n});if(!r)return;var o=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){var a=this._choiceElements.filter(function(t){return t.order!=null}).length;if(a>=o){this.choiceOrdering=!1;return}r.order=a+1}else{var s=r.order;r.order=null,this._choiceElements.forEach(function(t){t.order!=null&&t.order>s&&t.order--})}this.choiceOrdering=!1}}},{key:"toggleCorrectResponse",value:function t(t){var e;var n=this.responseVariable,r=this._choiceElements;var o=true,a=false,s=undefined;try{var l=function(){var r=c.value;if(t&&(n===null||n===void 0?void 0:(e=n.correctResponse)===null||e===void 0?void 0:e.length)>0&&Array.isArray(n.correctResponse)){var o=n.correctResponse.findIndex(function(t){return t===r.identifier});o>=0?r.orderCorrect=o+1:r.orderCorrect=null}else r.orderCorrect=null};for(var u=r[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(t){a=true;s=t}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}}},{key:"positionHotspotOnRegister",value:function t(t){var e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),o=n.getAttribute("shape"),a=r.split(",").map(function(t){return parseInt(t)});nU(o,a,e,n)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return e}(lr(oi,"qti-hotspot-choice"));l_.styles=lb,l_=nJ([iz("qti-graphic-order-interaction")],l_);var lq=rO(eN());var lk=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.imageLoadPromise=null;return t}d(e,[{key:"render",value:function t(){return im(eU())}},{key:"getImageLoadPromise",value:function t(t){return this.imageLoadPromise||(t.naturalWidth>0&&t.naturalHeight>0?this.imageLoadPromise=Promise.resolve(t):this.imageLoadPromise=new Promise(function(e){var n=function(){t.removeEventListener("load",n),e(t)};t.addEventListener("load",n)})),this.imageLoadPromise}},{key:"positionHotspotOnRegister",value:function t(t){return a(function(){var e,n,r,o,a,s;return $(this,function(l){switch(l.label){case 0:e=this.querySelector("img"),n=t.target,r=n.getAttribute("coords"),o=n.getAttribute("shape"),a=r.split(",").map(function(t){return parseInt(t)});return[4,this.getImageLoadPromise(e)];case 1:s=l.sent();nU(o,a,s,n);return[2]}})}).call(this)}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("unregister-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return e}(lr(oi,"qti-hotspot-choice"));lk.styles=lq,lk=nJ([iz("qti-hotspot-interaction")],lk);var lw=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.class="";t.render=function(){return im(eD())};return t}d(e,[{key:"classObject",get:function t(){var t={"qti-input-control-hidden":!0};return this.class&&this.class.split(" ").forEach(function(e){e.trim()&&(t[e.trim()]=!0)}),t}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.updateHostClasses()}},{key:"updated",value:function t(t){p(f(e.prototype),"updated",this).call(this,t),this.updateHostClasses()}},{key:"updateHostClasses",value:function t(){var t=Object.keys(this.classObject).join(" ");this.className=t}}]);return e}(lr(oi,"qti-hottext"));nJ([n({type:String,reflect:!0})],lw.prototype,"class",2),lw=nJ([iz("qti-hottext-interaction")],lw);var lx=/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){l(this,e);var n;if(n=s(this,e,[t]),n.it=i_,t.type!==sA.CHILD)throw Error(n.constructor.directiveName+"() can only be used in child bindings");return n}d(e,[{key:"render",value:function t(t){if(t===i_||t==null)return this._t=void 0,this.it=t;if(t===ib)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;var e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}}]);return e}(sI);lx.directiveName="unsafeHTML",lx.resultType=1;var lC=sR(lx);var lE=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.options=[];t.correctOption="";t.dataPrompt="";return t}d(e,[{key:"isInline",get:function t(){return!0}},{key:"render",value:function t(){return im(ez(),this.choiceSelected,this.disabled,this.readonly,this.options.map(function(t){return im(e$(),t.value,t.selected,lC(t.textContent))}),lC(this.correctOption))}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"willUpdate",value:function t(t){(t.has("configContext")||t.has("dataPrompt"))&&this._updateOptions()}},{key:"_updateOptions",value:function t(){var t;var e=Array.from(this.querySelectorAll("qti-inline-choice")),n=this.dataPrompt||((t=this.configContext)===null||t===void 0?void 0:t.inlineChoicePrompt)||"select";!this.options||this.options.length===0?this.options=[{textContent:n,value:"",selected:!1}].concat(L(e.map(function(t){return{textContent:t.innerHTML,value:t.getAttribute("identifier"),selected:!1}}))):this.options=this.options.map(function(t){return t.value===""?x(k({},t),{textContent:n}):t})}},{key:"validate",value:function t(){var t=this.options.find(function(t){return t.selected});return t?t.value!=="":!1}},{key:"reset",value:function t(){this.options=this.options.map(function(t,e){return x(k({},t),{selected:e===0})})}},{key:"response",get:function t(){var t;return((t=this.options.find(function(t){return t.selected}))===null||t===void 0?void 0:t.value)||null},set:function t(t){this.options=this.options.map(function(e){return t&&t===e.value&&(e.selected=!0),e})}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this;var n,r;if(this.correctResponse=t&&((r=this.responseVariable)===null||r===void 0?void 0:(n=r.correctResponse)===null||n===void 0?void 0:n.toString()),!this.correctResponse){this.correctOption="";return}this.correctOption='<span part="correct-option" style="border:1px solid var(--qti-correct); border-radius:4px; padding: 2px 4px; margin: 4px; display:inline-block">'.concat(this.options.find(function(t){return e.correctResponse===t.value}).textContent,"</span>")}},{key:"choiceSelected",value:function t(t){var e=t.target.value;this.options=this.options.map(function(t){return x(k({},t),{selected:t.value===e})}),this.saveResponse(e)}}],[{key:"styles",get:function t(){return[rO(eV())]}}]);return e}(oi);lE.inputWidthClass=["","qti-input-width-2","qti-input-width-1","qti-input-width-3","qti-input-width-4","qti-input-width-6","qti-input-width-10","qti-input-width-15","qti-input-width-20","qti-input-width-72"],nJ([r()],lE.prototype,"options",2),nJ([r()],lE.prototype,"correctOption",2),nJ([n({attribute:"data-prompt",type:String})],lE.prototype,"dataPrompt",2),nJ([M({context:i4,subscribe:!0}),n({attribute:!1})],lE.prototype,"configContext",2),lE=nJ([iz("qti-inline-choice-interaction")],lE);var lS=rO(ej());var lA=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.lastCheckedRadio=null;t.class="";t._response=[];t.responseIdentifier="";t.correctOptions=null;t.handleRadioClick=function(e){var n=e.target;t.lastCheckedRadio===n?(n.checked=!1,t.lastCheckedRadio=null,t.handleRadioChange(e)):t.lastCheckedRadio=n};t.handleRadioChange=function(e){var n=e.target,r=n.value,o=n.name,a=n.type;n.checked?(t.response?t.response.indexOf(r)===-1&&(a==="radio"&&(t.response=(t.response||[]).filter(function(t){return t.indexOf(o)===-1})),t.response=L(t.response).concat([r])):t.response=[r],t.lastCheckedRadio=n):(t.response=(t.response||[]).filter(function(t){return t!==r}),t.lastCheckedRadio=null),t.requestUpdate(),t.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:t.responseIdentifier,response:Array.isArray(t.response)?L(t.response):t.response}}))};return t}d(e,[{key:"response",get:function t(){return this.classList.contains("qti-match-tabular")?this._response:p(f(e.prototype),"response",this)},set:function t(t){this.classList.contains("qti-match-tabular")?this._response=t:R(f(e.prototype),"response",t,this,true)}},{key:"connectedCallback",value:function t(){var t=this;var n=this,r=function(){return p(f(e.prototype),"connectedCallback",t)};return a(function(){return $(this,function(t){r().call(n),this.sourceChoices=Array.from(this.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),this.targetChoices=Array.from(this.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),this.response=[];return[2]})}).call(this)}},{key:"validate",value:function t(){var t;return this.class.split(" ").includes("qti-match-tabular")?((t=this.response)===null||t===void 0?void 0:t.length)===this.sourceChoices.length:p(f(e.prototype),"validate",this).call(this)}},{key:"getMatches",value:function t(t){if(!t.correctResponse)return[];var e=Array.isArray(t.correctResponse)?t.correctResponse:[t.correctResponse],n=[];return e&&e.forEach(function(t){var e=t.split(" ");n.push({source:e[0],target:e[1]})}),n}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this;var n=this.responseVariable;if(!(n===null||n===void 0?void 0:n.correctResponse)){this.querySelectorAll(".correct-option").forEach(function(t){return t.remove()});return}var r=this.getMatches(n);this.class.split(" ").includes("qti-match-tabular")?t?this.correctOptions=r||[]:this.correctOptions=null:t?(this.querySelectorAll(".correct-option").forEach(function(t){return t.remove()}),this.targetChoices.forEach(function(t){var n=t.getAttribute("identifier"),o=r.find(function(t){return t.target===n});if(o===null||o===void 0?void 0:o.source){var a,s,l;var u=(s=e.querySelector('qti-simple-associable-choice[identifier="'.concat(o.source,'"]')))===null||s===void 0?void 0:(a=s.textContent)===null||a===void 0?void 0:a.trim();if(u&&!((l=t.previousElementSibling)===null||l===void 0?void 0:l.classList.contains("correct-option"))){var c=document.createElement("span");c.classList.add("correct-option"),c.textContent=u,c.style.border="1px solid var(--qti-correct)",c.style.borderRadius="4px",c.style.padding="2px 4px",c.style.display="inline-block",t.insertAdjacentElement("beforebegin",c)}}})):this.correctOptions=null}},{key:"toggleCandidateCorrection",value:function t(t){var e=this.responseVariable;if(!(e===null||e===void 0?void 0:e.correctResponse))return;var n=this.getMatches(e);this.targetChoices.forEach(function(e){var r=e.getAttribute("identifier"),o=n.filter(function(t){return t.target===r});e.querySelectorAll("qti-simple-associable-choice").forEach(function(e){var n;if(e.internals.states.delete("candidate-correct"),e.internals.states.delete("candidate-incorrect"),!t)return;((n=o.find(function(t){return t.source===e.identifier}))===null||n===void 0?void 0:n.source)!==void 0?e.internals.states.add("candidate-correct"):e.internals.states.add("candidate-incorrect")})})}},{key:"render",value:function t(){var t=this;var e=this.class.split(" ").includes("qti-match-tabular"),n=this.correctOptions!==null;return im(eG(),e,e?im(eW(),this.targetChoices.map(function(t){return im(eF(),lC(t.innerHTML))}),this.sourceChoices.map(function(e){return im(eQ(),lC(e.innerHTML),t.targetChoices.map(function(r){var o,a,s;var l=e.getAttribute("identifier"),u=r.getAttribute("identifier"),c="".concat(l," ").concat(u),d=(t.response||[]).filter(function(t){return t.split(" ")[0]===l}).length||0,h=((o=t.response)===null||o===void 0?void 0:o.includes(c))||!1,p=e.matchMax===1?"radio":"checkbox",f=!!((a=t.correctOptions)===null||a===void 0?void 0:a.find(function(t){return t.source===l&&t.target===u})),v=p==="radio"?"rb ".concat(h?"rb-checked":""," ").concat(n?f?"rb-correct":"rb-incorrect":""):"cb ".concat(h?"cb-checked":""," ").concat(n?f?"cb-correct":"cb-incorrect":""),m=((s=t.correctOptions)===null||s===void 0?void 0:s.length)>0?!0:e.matchMax===1?!1:e.matchMax!==0&&d>=e.matchMax&&!h;return im(eB(),p,v,l,c,m,function(e){return t.handleRadioChange(e)},function(n){return e.matchMax===1?t.handleRadioClick(n):null},p==="checkbox"&&h?im(eH()):"")}))})):i_)}}]);return e}(lt(oi,"qti-simple-match-set:first-of-type qti-simple-associable-choice, qti-simple-match-set:last-of-type > qti-simple-associable-choice > qti-simple-associable-choice","qti-simple-match-set:last-of-type > qti-simple-associable-choice","qti-simple-match-set:first-of-type"));lA.styles=lS,nJ([n({type:String})],lA.prototype,"class",2),nJ([r()],lA.prototype,"_response",2),nJ([n({type:String,attribute:"response-identifier"})],lA.prototype,"responseIdentifier",2),nJ([r()],lA.prototype,"correctOptions",2),lA=nJ([iz("qti-match-interaction")],lA);var lR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e);t._value=null;return t}d(e,[{key:"reset",value:function t(){this._value=null}},{key:"validate",value:function t(){return!0}},{key:"response",get:function t(){return this._value?this._value.toString():null},set:function t(t){if(t)if(!isNaN(parseInt(t===null||t===void 0?void 0:t.toString())))this._value=parseInt(t.toString());else throw new Error("Value must be a number ".concat(t))}},{key:"render",value:function t(){return im(eX())}},{key:"connectedCallback",value:function t(){var t=this;p(f(e.prototype),"connectedCallback",this).call(this);var n=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");n&&n.addEventListener("ended",function(){t._value++,t.saveResponse(t.value)})}}],[{key:"properties",get:function t(){return x(k({},oi.properties),{step:{type:Number,attribute:"step",default:10}})}}]);return e}(oi);lR.styles=[rO(eJ())],lR=nJ([iz("qti-media-interaction")],lR);var lI=rO(eY());var lT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.nrChoices=0;t.correctResponses=[];t.showCorrectResponses=!1;return t}d(e,[{key:"render",value:function t(){var t=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<t.length&&(this.nrChoices=t.length),im(eZ(),L(Array(this.nrChoices)).map(function(t,e){return im(eK(),e)}))}},{key:"toggleCorrectResponse",value:function t(t){var e=this;var n=this.responseVariable;if(this.shadowRoot.querySelectorAll(".correct-option").forEach(function(t){return t.remove()}),t&&(n===null||n===void 0?void 0:n.correctResponse)){var r=(Array.isArray(n.correctResponse)?n.correctResponse:[n.correctResponse]).map(function(t){return t.split(" ")[0]}),o=new Set;this.querySelectorAll("qti-simple-choice").forEach(function(t,n){var a;var s=t.getAttribute("identifier");if(!s||!r.includes(s)||o.has(s))return;o.add(s);var l=(a=t.textContent)===null||a===void 0?void 0:a.trim();if(!l)return;var u=e.shadowRoot.querySelector('drop-list[identifier="droplist'.concat(n,'"]'));if(!u)return;var c=document.createElement("span");c.classList.add("correct-option"),c.textContent=l,c.style.border="1px solid var(--qti-correct)",c.style.borderRadius="4px",c.style.padding="2px 4px",c.style.display="inline-block",c.style.marginTop="4px",u.insertAdjacentElement("afterend",c)})}}},{key:"getValue",value:function t(t){return(t===null||t===void 0?void 0:t.map(function(t,e){return"".concat(t," droplist").concat(e)}))||[]}},{key:"getResponse",value:function t(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(function(t){var e=t.querySelectorAll('[qti-draggable="true"]');return L(Array.from(e).map(function(t){return t.getAttribute("identifier")})).join(" ")})}},{key:"firstUpdated",value:function t(t){var n=this;var r=this,o=function(){return p(f(e.prototype),"firstUpdated",n)};return a(function(){return $(this,function(e){o().call(r,t),this.childrenMap=Array.from(this.querySelectorAll("qti-simple-choice")),this.childrenMap.forEach(function(t){return t.setAttribute("part","qti-simple-choice")});return[2]})}).call(this)}}]);return e}(lt(oi,"qti-simple-choice","drop-list","slot[part='drags']"));lT.styles=lI,nJ([r()],lT.prototype,"nrChoices",2),nJ([r()],lT.prototype,"correctResponses",2),nJ([r()],lT.prototype,"showCorrectResponses",2),nJ([n({type:String})],lT.prototype,"orientation",2),lT=nJ([iz("qti-order-interaction")],lT);var lP=rO(e0());var lM=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;var n,r=arguments;t=s(this,e,L(r)),n=t;n._iframeLoaded=!1;n._pendingMessages=[];n._responseCheckInterval=null;n.requirePathsJson="";n.requireShimJson="";n.requireJsUrl="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js";n.baseUrl="";n.useIframe=!1;n.useDefaultShims=!1;n.useDefaultPaths=!1;n._errorMessage=null;n.response=[];n._parsedRequirePaths=null;n._parsedRequireShim=null;n.handleIframeMessage=function(t){var e=t.data;if(!(!e||e.source!=="qti-pci-iframe"))switch(e.method){case"iframeReady":n.initializeInteraction(),n.processPendingMessages(),n.dispatchEvent(new CustomEvent("qti-portable-custom-interaction-loaded",{bubbles:!0}));break;case"resize":typeof e.height=="number"&&n.iframe&&(n.iframe.style.height="".concat(e.height,"px"),n.iframe.style.width="".concat(e.width,"px"));break;case"interactionChanged":{var r=n.convertQtiVariableJSON(e.params.value);n.response=r,n.validate(),n.saveResponse(n.response);break}case"error":n._errorMessage=e.params.message,console.error("Error from PCI iframe:",e.params.message);break}};n._onInteractionChanged=function(t){t.stopPropagation();var e=n.convertQtiVariableJSON(t.detail.value);n.response=e,n.saveResponse(e)};n.loadConfig=function(t,e){return a(function(){var r,o,a,s;return $(this,function(a){switch(a.label){case 0:t=n.removeDoubleSlashes(t);a.label=1;case 1:a.trys.push([1,5,,6]);return[4,fetch(t)];case 2:r=a.sent();if(!r.ok)return[3,4];return[4,r.json()];case 3:o=a.sent();for(var l in o.paths)e&&(o.paths[l]=n.getResolvablePath(o.paths[l],e));return[2,o];case 4:return[3,6];case 5:s=a.sent();return[3,6];case 6:return[2,null]}})})()};n.getResolvablePathString=function(t,e){return t=t.replace(/\.js$/,""),(t===null||t===void 0?void 0:t.toLocaleLowerCase().startsWith("http"))||!e?t:n.removeDoubleSlashes("".concat(e,"/").concat(t))};n.getResolvablePath=function(t,e){return Array.isArray(t)?t.map(function(t){return n.getResolvablePathString(t,e)}):n.getResolvablePathString(t,e)};n._previousState=null;return t}d(e,[{key:"getRequirePaths",value:function t(){var t=this;if(this._parsedRequirePaths===null&&this.requirePathsJson)try{var e=JSON.parse(this.requirePathsJson);Array.isArray(e)?(this._parsedRequirePaths={},e.forEach(function(e){e.name&&e.value&&(t._parsedRequirePaths[e.name]=e.value)})):this._parsedRequirePaths=e}catch(t){console.error("Error parsing require paths JSON:",t),this._errorMessage="Error parsing require paths JSON: ".concat(t.message),this._parsedRequirePaths={}}return this._parsedRequirePaths||{}}},{key:"getRequireShim",value:function t(){if(this._parsedRequireShim===null&&this.requireShimJson)try{this._parsedRequireShim=JSON.parse(this.requireShimJson)}catch(t){console.error("Error parsing require shim JSON:",t),this._errorMessage="Error parsing require shim JSON: ".concat(t.message),this._parsedRequireShim={}}return this._parsedRequireShim||{}}},{key:"getDefaultRequirePaths",value:function t(){return{"taoQtiItem/portableLib/OAT/util/event":"/assets/pci-scripts/portableLib/OAT/util/event","taoQtiItem/portableLib/OAT/util/html":"/assets/pci-scripts/portableLib/OAT/util/html","taoQtiItem/portableLib/OAT/util/EventMgr":"/assets/pci-scripts/portableLib/OAT/util/EventMgr","taoQtiItem/portableLib/OAT/util/math":"/assets/pci-scripts/portableLib/OAT/util/math","taoQtiItem/portableLib/OAT/util/xml":"/assets/pci-scripts/portableLib/OAT/util/xml","taoQtiItem/portableLib/OAT/util/tooltip":"/assets/pci-scripts/portableLib/OAT/util/tooltip","taoQtiItem/portableLib/jquery_2_1_1":"/assets/pci-scripts/portableLib/jquery_2_1_1","taoQtiItem/pci-scripts/portableLib/jquery.qtip":"/assets/portableLib/jquery.qtip","taoQtiItem/pci-scripts/portableLib/lodash":"/assets/pci-scripts/portableLib/lodash","taoQtiItem/pci-scripts/portableLib/raphael":"/assets/pci-scripts/portableLib/raphael","IMSGlobal/jquery_2_1_1":"/assets/pci-scripts/IMSGlobal/jquery_2_1_1","OAT/util/event":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/event","OAT/util/html":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/html","OAT/util/EventMgr":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/EventMgr","OAT/util/math":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/math","OAT/util/xml":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/xml","OAT/util/tooltip":"/assets/pci-scripts/legacyPortableSharedLib/OAT/util/tooltip","OAT/lodash":"/assets/pci-scripts/legacyPortableSharedLib/lodash",mathJax:"/assets/pci-scripts/mathjax/mathJax",css:"/assets/pci-scripts/css/css"}}},{key:"getDefaultRequireShim",value:function t(){return{mathJax:{exports:"MathJax",init:function t(){var t=window;if(t.MathJax)return t.MathJax.Hub.Config({showMathMenu:!1,showMathMenuMSIE:!1,menuSettings:{inTabOrder:!1}}),t.MathJax.Hub.Startup.MenuZoom=function(){},t.MathJax.Hub.Startup.onload(),t.MathJax}}}}},{key:"getFinalRequirePaths",value:function t(){var t=this.getDefaultRequirePaths(),e=this.getRequirePaths();return this.useDefaultPaths?k({},t,e):e}},{key:"getFinalRequireShim",value:function t(){var t=this.getRequireShim(),e=this.getDefaultRequireShim();return this.useDefaultShims?k({},e,t):t}},{key:"convertQtiVariableJSON",value:function t(t){for(var e in t)if(t.hasOwnProperty(e)){var n=t[e];if(n){for(var r in n)if(n.hasOwnProperty(r)){var o=n[r];if(Array.isArray(o))return o.map(String);if(o!=null)return String(o)}}}return null}},{key:"addHyphenatedKeys",value:function t(t){var e=k({},t);for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=n.replace(/[A-Z]/g,function(t){return"-".concat(t.toLowerCase())});e[r]=t[n]}return e}},{key:"responseVariablesToQtiVariableJSON",value:function t(t,e,n){if(e!=="single"){var r={list:{}};return r.list[n]=t,r}else{var o={base:{}};return o.base[n]=t,o}}},{key:"validate",value:function t(){return!0}},{key:"value",get:function t(){var t,e;if(this.useIframe)return((t=this._value)===null||t===void 0?void 0:t.toString())||null;{var n;var r=(n=this.pci)===null||n===void 0?void 0:n.getResponse();if(r){var o=this.convertQtiVariableJSON(r);return Array.isArray(o)?o.join(","):o}}return Array.isArray(this._value)?this._value.join(","):((e=this._value)===null||e===void 0?void 0:e.toString())||null},set:function t(t){t===null?this._value=[]:this._value=Array.isArray(t)?t:t.split(",")}},{key:"boundTo",get:function t(){var t=this;var e,n;var r={};if((n=this.context)===null||n===void 0?void 0:(e=n.variables)===null||e===void 0?void 0:e.find(function(e){return e.identifier===t.responseIdentifier})){var o,a,s,l,u,c,d,h,p;var f=((s=this.context)===null||s===void 0?void 0:(a=s.variables)===null||a===void 0?void 0:(o=a.find(function(e){return e.identifier===t.responseIdentifier}))===null||o===void 0?void 0:o.cardinality)||"single",v=((c=this.context)===null||c===void 0?void 0:(u=c.variables)===null||u===void 0?void 0:(l=u.find(function(e){return e.identifier===t.responseIdentifier}))===null||l===void 0?void 0:l.baseType)||"string",m=((p=this.context)===null||p===void 0?void 0:(h=p.variables)===null||h===void 0?void 0:(d=h.find(function(e){return e.identifier===t.responseIdentifier}))===null||d===void 0?void 0:d.value)||null,g=this.responseVariablesToQtiVariableJSON(m,f,v);r[this.responseIdentifier]=g}return r},set:function t(t){if(!t||!t[this.responseIdentifier])return;var e=this.convertQtiVariableJSON(t[this.responseIdentifier]);this._value=e,this.saveResponse(e)}},{key:"unescapeHtml",value:function t(t){return t&&t.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#x27;/g,"'").replace(/&#x2F;/g,"/").replace(/&#x60;/g,"`").replace(/&#x3D;/g,"=")}},{key:"unescapeDataAttributes",value:function t(t){var e={};var n=true,r=false,o=undefined;try{for(var a=Object.entries(t)[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=T(s.value,2),u=l[0],c=l[1];typeof c=="string"?e[u]=this.unescapeHtml(c):e[u]=c}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return e}},{key:"register",value:function t(t){var e=this;this.pci=t,this.dom=this.querySelector("qti-interaction-markup"),this.dom||(this.dom=document.createElement("div"),this.appendChild(this.dom)),this.dom.classList.add("qti-customInteraction"),this.dom.style.width="100%",this.dom.style.minHeight="50px",this.dom.style.display="block",this.dom.addEventListener("qti-interaction-changed",this._onInteractionChanged),this.querySelector("properties")&&(this.querySelector("properties").style.display="none");var n={properties:this.addHyphenatedKeys(this.unescapeDataAttributes(k({},this.dataset))),contextVariables:{},templateVariables:{},onready:function(t){e.pci=t;try{var n=new ResizeObserver(function(t){var n=true,r=false,o=undefined;try{for(var a=t[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;l.contentRect&&l.contentRect.height>0&&(e.style.height="".concat(l.contentRect.height+20,"px"))}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}});n.observe(e.dom),e._resizeObserver=n}catch(t){console.warn("ResizeObserver not supported, falling back to static sizing")}},ondone:function(t,n,r,o){e.response=e.convertQtiVariableJSON(n),e.saveResponse(e.response)},responseIdentifier:this.responseIdentifier,boundTo:this.boundTo};if(t.getInstance)t.getInstance(this.dom,n,void 0);else{var r=function(t){var e={},n=function(t){var e={};Object.entries(t.dataset).forEach(function(t){var n=T(t,2),r=n[0],o=n[1];r.includes("__")||(e[r]=o)});var n={};return Object.entries(t.dataset).forEach(function(t){var e=T(t,2),r=e[0],o=e[1];var a=r.split("__");if(a.length>1){var s=T(a,3),l=s[0],u=s[1],c=s[2];n[l]=n[l]||{},n[l][u]=n[l][u]||{},n[l][u][c]=o}}),Object.entries(n).forEach(function(t){var n=T(t,2),r=n[0],o=n[1];e[r]=Object.values(o)}),e}(t);for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var o=n[r];r==="config"?e[r]=JSON.parse(o):e[r]=o}return e}(this);t.initialize(this.customInteractionTypeIdentifier,this.dom.firstElementChild||this.dom,Object.keys(r).length?r:null)}}},{key:"disconnectedCallback",value:function t(){if(p(f(e.prototype),"disconnectedCallback",this).call(this),this.useIframe)window.removeEventListener("message",this.handleIframeMessage);else{this.stopResponseCheck(),this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),requirejs.undef(this.customInteractionTypeIdentifier);var t=requirejs.s.contexts;delete t[this.customInteractionTypeIdentifier],this.removeEventListener("qti-interaction-changed",this._onInteractionChanged)}}},{key:"sendMessageToIframe",value:function t(t,e){if(!this._iframeLoaded){this._pendingMessages.push({method:t,params:e});return}this.iframe.contentWindow.postMessage({source:"qti-portable-custom-interaction",method:t,params:e},"*")}},{key:"processPendingMessages",value:function t(){var t=this;this._pendingMessages.length&&(this._pendingMessages.forEach(function(e){t.sendMessageToIframe(e.method,e.params)}),this._pendingMessages=[])}},{key:"createIframe",value:function t(){var t=this;this.iframe=document.createElement("iframe"),this.iframe.id="pci-iframe-".concat(this.responseIdentifier),this.iframe.setAttribute("title","QTI PCI Iframe"),this.iframe.setAttribute("aria-label","QTI PCI Iframe"),this.iframe.setAttribute("aria-hidden","false"),this.iframe.setAttribute("role","application"),this.iframe.style.width="100%",this.iframe.style.border="none",this.iframe.style.display="block",this.iframe.onload=function(){t._iframeLoaded=!0,t.addMarkupToIframe(),t.sendIframeInitData()};var e="qti-pci-".concat(this.responseIdentifier,"-").concat(Date.now());this.iframe.name=e;var n=this.generateIframeContent(),r=encodeURIComponent(n);this.iframe.src="data:text/html;charset=utf-8,".concat(r),this.appendChild(this.iframe)}},{key:"sendIframeInitData",value:function t(){var t={module:this.module,customInteractionTypeIdentifier:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl?this.baseUrl.startsWith("http")||this.baseUrl.startsWith("blob")||this.baseUrl.startsWith("base64")?this.baseUrl:V("".concat(window.location.origin).concat(this.baseUrl)):window.location.origin,responseIdentifier:this.responseIdentifier,dataAttributes:k({},this.dataset),interactionModules:this.getInteractionModules(),boundTo:this.boundTo};this.sendMessageToIframe("initialize",t)}},{key:"getInteractionModules",value:function t(){var t=[],e=this.querySelector("qti-interaction-modules");if(e){var n=e.querySelectorAll("qti-interaction-module");var r=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=l.value;t.push({id:u.getAttribute("id"),primaryPath:u.getAttribute("primary-path"),fallbackPath:u.getAttribute("fallback-path")})}}catch(t){o=true;a=t}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}}return t}},{key:"addMarkupToIframe",value:function t(){var t=this.querySelector("qti-interaction-markup");t&&this.sendMessageToIframe("setMarkup",t.innerHTML);var e=this.querySelector("properties");e&&this.sendMessageToIframe("setProperties",e.innerHTML)}},{key:"initializeInteraction",value:function t(){}},{key:"connectedCallback",value:function t(){var t=this;if(p(f(e.prototype),"connectedCallback",this).call(this),this.useIframe)window.addEventListener("message",this.handleIframeMessage),this.createIframe();else{define("qtiCustomInteractionContext",function(){return{register:function(e){t.register(e)},notifyReady:function(){}}});var n=this.buildRequireConfig();if(n){var r=requirejs.config(n);requirejs.onError=function(t){throw console.error("RequireJS error:",t),t.requireType==="timeout"&&console.error("Modules that timed out:",t.requireModules),t},r(["require"],function(e){try{e([t.module],function(){},function(t){console.error("Error loading module:",t)})}catch(t){console.error("Error in require call:",t)}})}}}},{key:"stopResponseCheck",value:function t(){this._responseCheckInterval!==null&&(window.clearInterval(this._responseCheckInterval),this._responseCheckInterval=null)}},{key:"buildRequireConfig",value:function t(){var t={context:this.customInteractionTypeIdentifier,catchError:!0,paths:k({},this.getFinalRequirePaths(),window.requirePaths||{}),shim:k({},this.getFinalRequireShim(),window.requireShim||{})};if(!globalThis.require)return this._errorMessage="RequireJS not found. Please load it via CDN: https://cdnjs.com/libraries/require.js",null;var e=this.getAttribute("data-base-url"),n=this.querySelector("qti-interaction-modules");if(n){var r=n.querySelectorAll("qti-interaction-module");var o=true,a=false,s=undefined;try{for(var l=r[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=c.getAttribute("id"),h=c.getAttribute("primary-path"),p=c.getAttribute("fallback-path");if(d&&h){var f=p?this.combineRequireResolvePaths(this.getResolvablePath(h,e),this.getResolvablePath(p,e)):this.getResolvablePath(h,e),v=t.paths[d]||[];t.paths[d]=this.combineRequireResolvePaths(v,f)}}}catch(t){a=true;s=t}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}}return t}},{key:"combineRequireResolvePaths",value:function t(t,e){var n=Array.isArray(t)?t:[t],r=Array.isArray(e)?e:[e];return n.concat(r).filter(function(t,e,n){return n.indexOf(t)===e})}},{key:"removeDoubleSlashes",value:function t(t){return t.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}},{key:"generateIframeContent",value:function t(){var t=window.getComputedStyle(document.body),e=JSON.stringify(this.getFinalRequirePaths()),n=JSON.stringify(this.getFinalRequireShim()),r="\n font-family: ".concat(t.getPropertyValue("font-family"),";\n font-size: ").concat(t.getPropertyValue("font-size"),";\n line-height: ").concat(t.getPropertyValue("line-height"),";\n font-weight: ").concat(t.getPropertyValue("font-weight"),";\n color: ").concat(t.getPropertyValue("color"),";\n ");return'<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="utf-8" />\n <title>QTI PCI Container</title>\n <base href="'.concat(window.location.origin,'" />\n <style>\n body, html {\n margin: 0;\n padding: 0;\n width: 100%;\n height: auto;\n overflow: hidden;\n /* Add the extracted font styles here */\n ').concat(r,'\n }\n .qti-customInteraction {\n width: 100%;\n height: 100%;\n }\n #pci-container {\n width: 100%;\n </style>\n <script src="').concat(this.requireJsUrl,'"><\/script>\n <script>\n // Define standard paths and shims\n window.requirePaths = ').concat(e,";\n\n window.requireShim = ").concat(n,";\n\n // Single initial RequireJS configuration with error handling\n window.requirejs.config({\n catchError: true,\n waitSeconds: 30,\n paths: window.requirePaths,\n baseUrl: '").concat(this.dataset.baseUrl,"',\n shim: window.requireShim,\n onNodeCreated: function(node, config, moduleName, url) {\n console.log('RequireJS creating node for module:', moduleName, 'URL:', url);\n\n // Add error handler to script node\n node.addEventListener('error', function(evt) {\n console.error('Script load error for module:', moduleName, 'URL:', url, 'Event:', evt);\n });\n },\n onError: function(err) {\n console.error('RequireJS error:', {\n type: err.requireType,\n modules: err.requireModules,\n error: err\n });\n\n if (err.requireType === 'scripterror') {\n console.error('Script error usually indicates a network or CORS issue with:', err.requireModules);\n }\n\n // Notify parent window about the error\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: {\n message: 'RequireJS ' + err.requireType + ' error for modules: ' + err.requireModules,\n details: {\n type: err.requireType,\n modules: err.requireModules,\n error: err.toString()\n }\n }\n }, '*');\n }\n });\n\n // PCI Manager for iframe implementation\n window.PCIManager = {\n pciInstance: null,\n container: null,\n customInteractionTypeIdentifier: null,\n\n initialize: function(config) {\n this.customInteractionTypeIdentifier = config.customInteractionTypeIdentifier;\n this.container = document.getElementById('pci-container');\n this.container.classList.add('qti-customInteraction');\n\n function getResolvablePath(path, basePath) {\n if (Array.isArray(path)) {\n return path.map(p => getResolvablePathString(p, basePath));\n } else {\n return getResolvablePathString(path, basePath);\n }\n }\n\n function removeDoubleSlashes(str) {\n return str\n .replace(/([^:\\/])\\/\\/+/g, '$1/')\n .replace(/\\/\\//g, '/')\n .replace('http:/', 'http://')\n .replace('https:/', 'https://');\n }\n\n function getResolvablePathString(path, basePath) {\n path = path.replace(/\\.js$/, '');\n return path?.toLocaleLowerCase().startsWith('http') || !basePath\n ? path\n : removeDoubleSlashes(`${basePath}/${path}`);\n }\n\n function combineRequireResolvePaths(path1, path2, baseUrl) {\n path1 = getResolvablePath(path1, baseUrl);\n const path1Array = Array.isArray(path1) ? path1 : [path1];\n if (!path2) {\n return path1Array;\n }\n path2 = getResolvablePath(path2, baseUrl);\n const path2Array = Array.isArray(path2) ? path2 : [path2];\n return path1Array.concat(path2Array).filter((value, index, self) => self.indexOf(value) === index);\n }\n\n // Update paths with modules from the config\n if (config.interactionModules && config.interactionModules.length > 0) {\n config.interactionModules.forEach(module => {\n if (module.id && module.primaryPath) {\n const currentPath = window.requirePaths[module.id] || [];\n const currentPaths = Array.isArray(currentPath) ? currentPath : [currentPath];\n const newPath = combineRequireResolvePaths(\n module.primaryPath, module.fallbackPath, config.baseUrl\n );\n window.requirePaths[module.id] = currentPaths.concat(newPath).filter((value, index, self) => self.indexOf(value) === index);\n }\n });\n }\n\n // The ONLY other requirejs.config call - with the context for this specific PCI\n window.requirejs.config({\n context: this.customInteractionTypeIdentifier,\n paths: window.requirePaths,\n shim: window.requireShim\n });\n\n // Define qtiCustomInteractionContext for the PCI\n define('qtiCustomInteractionContext', () => {\n return {\n register: pciInstance => {\n this.pciInstance = pciInstance;\n // Configure PCI instance\n const pciConfig = {\n properties: this.addHyphenatedKeys(this.unescapeDataAttributes({ ...config.dataAttributes })),\n contextVariables: config.contextVariables || {},\n templateVariables: config.templateVariables || {},\n onready: pciInstance => {\n this.pciInstance = pciInstance;\n this.notifyReady();\n },\n ondone: (pciInstance, response, state, status) => {\n this.notifyInteractionChanged(response);\n },\n responseIdentifier: config.responseIdentifier,\n boundTo: config.boundTo,\n };\n\n if (pciInstance.getInstance) {\n pciInstance.getInstance(this.container, pciConfig, undefined);\n } else {\n // TAO custom interaction initialization\n const restoreTAOConfig = (dataset) => {\n const config = {};\n const parseDataAttributes = () => {\n const result = {};\n\n // Separate direct attributes from nested ones\n Object.entries(dataset || []).forEach(([key, value]) => {\n if (!key.includes('__')) {\n // Direct attributes (like version)\n result[key] = value;\n }\n });\n\n // Parse nested attributes\n const nestedData = {};\n\n Object.entries(dataset || []).forEach(([key, value]) => {\n const parts = key.split('__');\n if (parts.length > 1) {\n const [group, index, prop] = parts;\n nestedData[group] = nestedData[group] || {};\n nestedData[group][index] = nestedData[group][index] || {};\n nestedData[group][index][prop] = value;\n }\n });\n\n // Convert nested groups to arrays\n Object.entries(nestedData).forEach(([key, group]) => {\n result[key] = Object.values(group);\n });\n return result;\n };\n const data = parseDataAttributes();\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n const value = data[key];\n if (key === 'config') {\n config[key] = JSON.parse(value);\n } else {\n config[key] = value;\n }\n }\n }\n return config;\n };\n const taoConfig = restoreTAOConfig(config.dataAttributes);\n\n this.pciInstance.initialize(\n this.customInteractionTypeIdentifier,\n this.container.firstElementChild || this.container,\n Object.keys(taoConfig).length ? taoConfig : null\n );\n }\n },\n notifyReady: () => {\n // Notify parent that the PCI is ready\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'pciReady'\n }, '*');\n }\n };\n });\n\n // Load the PCI module\n this.loadModule(config.module);\n },\n\n loadModule: function(modulePath) {\n try {\n // Get the context-specific require\n const contextRequire = window.requirejs.config({\n context: this.customInteractionTypeIdentifier\n });\n contextRequire(['require'], require => {\n // Now load the actual module\n require([modulePath], () => {\n }, err => {\n console.error('Error loading module:', modulePath, err);\n this.notifyError('Module load error: ' + err.toString());\n });\n });\n } catch (error) {\n console.error('Exception in loadModule:', modulePath);\n console.error(error);\n this.notifyError('Error in require call: ' + error.toString());\n }\n },\n\n notifyReady: function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeReady'\n }, '*');\n },\n\n notifyInteractionChanged: function(response) {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n },\n\n notifyError: function(message) {\n console.error('PCI Error:', message);\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'error',\n params: { message: message }\n }, '*');\n },\n\n setMarkup: function(markupHtml) {\n this.container = document.getElementById('pci-container');\n this.container.innerHTML = markupHtml;\n },\n\n addHyphenatedKeys: function(properties) {\n const updatedProperties = { ...properties };\n for (const key in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, key)) {\n const hyphenatedKey = key.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n updatedProperties[hyphenatedKey] = properties[key];\n }\n }\n return updatedProperties;\n },\n unescapeDataAttributes: function(obj) {\n const unescaped = {};\n for (const [key, value] of Object.entries(obj)) {\n if (typeof value === 'string') {\n unescaped[key] = value\n .replace(/&amp;/g, '&')\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#x27;/g, \"'\")\n .replace(/&#x2F;/g, '/')\n .replace(/&#x60;/g, '`')\n .replace(/&#x3D;/g, '=');\n } else {\n unescaped[key] = value;\n }\n }\n return unescaped;\n },\n };\n\n // Set up message listener for communication with parent\n window.addEventListener('message', function(event) {\n const { data } = event;\n\n // Ensure the message is from our parent\n if (!data || data.source !== 'qti-portable-custom-interaction') {\n return;\n }\n\n switch(data.method) {\n case 'initialize':\n PCIManager.initialize(data.params);\n break;\n\n case 'setMarkup':\n PCIManager.setMarkup(data.params);\n break;\n\n case 'setBoundTo':\n // Handle setting boundTo\n break;\n\n case 'setProperties':\n // Handle setting properties\n break;\n }\n });\n\n // Notify parent that iframe has loaded\n window.addEventListener('load', function() {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'iframeLoaded'\n }, '*');\n });\n let resizeTimeout;\n let previousHeight = 0;\n const notifyResize = () => {\n const container = document.getElementById('pci-container');\n const newHeight = container.scrollHeight + 100;\n if (newHeight !== previousHeight) {\n previousHeight = newHeight;\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(() => {\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'resize',\n height: newHeight,\n width: container.scrollWidth\n }, '*');\n }, 100); // Adjust debounce time as needed\n }\n };\n\n function setupResizeObserver() {\n const container = document.getElementById('pci-container');\n if (!container || !(container instanceof Element)) {\n console.warn('ResizeObserver: document.container is not an Element');\n return;\n }\n\n const resizeObserver = new ResizeObserver(() => {\n notifyResize();\n });\n\n resizeObserver.observe(container);\n }\n\n // Run setup once DOM is ready\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', () => {\n notifyResize(); // initial resize\n setupResizeObserver();\n });\n } else {\n notifyResize();\n setupResizeObserver();\n }\n\n window.addEventListener('load', () => {\n notifyResize();\n });\n let lastResponseStr = '';\n setInterval(() => {\n if (PCIManager.pciInstance && PCIManager.pciInstance.getResponse) {\n const response = PCIManager.pciInstance.getResponse();\n const responseStr = JSON.stringify(response);\n\n if (responseStr !== lastResponseStr) {\n lastResponseStr = responseStr;\n window.parent.postMessage({\n source: 'qti-pci-iframe',\n method: 'interactionChanged',\n params: { value: response }\n }, '*');\n }\n }\n }, 500); // Check every 500ms\n <\/script>\n</head>\n<body>\n <div id=\"pci-container\"></div>\n</body>\n</html>")}},{key:"toggleInternalCorrectResponse",value:function t(t){var e;var n=this.responseVariable;this.correctResponse=t?n===null||n===void 0?void 0:n.correctResponse:n.cardinality==="single"?"":[];var r="correct-response-container-".concat(this.responseIdentifier),o=(e=this.parentElement)===null||e===void 0?void 0:e.querySelectorAll("#".concat(r));if(o&&o.forEach(function(t){t.remove()}),t)this.disable();else{this.enable();return}if(!t||!(n===null||n===void 0?void 0:n.correctResponse))return;var a=document.createElement("div");a.id=r,a.className="pci-correct-response-container",a.style.position="relative",a.style.marginTop="20px",a.style.border="2px solid green",a.style.padding="16px",a.style.borderRadius="4px",a.style.backgroundColor="rgba(0, 128, 0, 0.05)";var s=document.createElement("div");s.textContent="Correct Response:",s.style.fontWeight="bold",s.style.marginBottom="10px",s.style.color="green",a.appendChild(s);var l=document.createElement("qti-portable-custom-interaction");Array.from(this.attributes).forEach(function(t){t.name!=="id"&&t.name!=="response-identifier"&&l.setAttribute(t.name,t.value)});var u=this.responseIdentifier;l.responseIdentifier="".concat(u,"-correct"),Array.from(this.children).forEach(function(t){var e=t.cloneNode(!0);l.appendChild(e)});var c=n.correctResponse;if(this.useIframe){var d=l.connectedCallback;l.connectedCallback=function(){var t=this;d.call(this);var e=function(){return t._iframeLoaded?(setTimeout(function(){var e=t.responseVariablesToQtiVariableJSON(c,n.cardinality,n.baseType);t.sendMessageToIframe("setBoundTo",h({},u,e)),t.sendMessageToIframe("setState",{state:"review"})},1e3),!0):!1};if(!e()){var r=setInterval(function(){e()&&clearInterval(r)},100);setTimeout(function(){clearInterval(r)},1e4)}}}else{var p=l.register;l.register=function(t){var e=this;p.call(this,t);var r=function(){if(e.pci&&typeof e.pci.setResponse=="function"){var t=e.responseVariablesToQtiVariableJSON(c,n.cardinality,n.baseType);return e.pci.setResponse(t),typeof e.pci.setState=="function"&&e.pci.setState("review"),!0}return!1};setTimeout(function(){if(!r()){var t=setInterval(function(){r()&&clearInterval(t)},200);setTimeout(function(){clearInterval(t)},5e3)}},500)}}l.style.pointerEvents="none",a.appendChild(l),this.after(a)}},{key:"disable",value:function t(){if(this._previousState={pointerEvents:this.style.pointerEvents,position:this.style.position},this.useIframe&&this.sendMessageToIframe("setState",{state:"disabled"}),!this.querySelector(".pci-interaction-overlay")){var t=document.createElement("div");t.className="pci-interaction-overlay",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.width="100%",t.style.height="100%",t.style.backgroundColor="rgba(200, 200, 200, 0.3)",t.style.zIndex="100",t.style.pointerEvents="all",t.style.cursor="not-allowed",getComputedStyle(this).position==="static"&&(this.style.position="relative"),this.appendChild(t)}}},{key:"enable",value:function t(){var t=this.querySelector(".pci-interaction-overlay");t&&t.remove(),this._previousState&&(this._previousState.pointerEvents&&(this.style.pointerEvents=this._previousState.pointerEvents),this._previousState.position&&(this.style.position=this._previousState.position),this._previousState=null),this.useIframe&&this.sendMessageToIframe("setState",{state:"interacting"})}},{key:"render",value:function t(){return im(e2(),this._errorMessage?im(e1(),this._errorMessage):"")}}]);return e}(oi);lM.styles=[lP,rO(e3())],nJ([n({type:String,attribute:"module"})],lM.prototype,"module",2),nJ([n({type:String,attribute:"custom-interaction-type-identifier"})],lM.prototype,"customInteractionTypeIdentifier",2),nJ([n({type:String,attribute:"data-require-paths"})],lM.prototype,"requirePathsJson",2),nJ([n({type:String,attribute:"data-require-shim"})],lM.prototype,"requireShimJson",2),nJ([n({type:String,attribute:"data-require-js-url"})],lM.prototype,"requireJsUrl",2),nJ([n({type:String,attribute:"data-base-url"})],lM.prototype,"baseUrl",2),nJ([n({type:Boolean,attribute:"data-use-iframe"})],lM.prototype,"useIframe",2),nJ([n({type:Boolean,attribute:"data-use-default-shims"})],lM.prototype,"useDefaultShims",2),nJ([n({type:Boolean,attribute:"data-use-default-paths"})],lM.prototype,"useDefaultPaths",2),nJ([r()],lM.prototype,"_errorMessage",2),nJ([M({context:i8,subscribe:!0}),r()],lM.prototype,"context",2),nJ([r()],lM.prototype,"response",2),lM=nJ([iz("qti-portable-custom-interaction")],lM);var lO=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(e5())}}]);return e}(iD);lO.styles=[rO(e4())];customElements.define("qti-position-object-interaction",lO);var lL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t.removeMoveListener=t.removeMoveListener.bind(t),t.dragElementHandler=t.dragElementHandler.bind(t);return t}d(e,[{key:"render",value:function t(){return im(e6())}},{key:"dragElementHandler",value:function t(t){t.preventDefault();var e=t.clientX-this.startX,n=t.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+e+"px",this.dragElement.style.top=this.dragElement.offsetTop+n+"px",this.startX=t.clientX,this.startY=t.clientY}},{key:"firstUpdated",value:function t(t){var n=this;p(f(e.prototype),"firstUpdated",this).call(this,t),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",function(t){n.startX=t.clientX,n.startY=t.clientY,document.addEventListener("mousemove",n.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}},{key:"removeMoveListener",value:function t(){document.removeEventListener("mousemove",this.dragElementHandler,!0)}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}}]);return e}(iD);lL.styles=[rO(e8())],lL=nJ([iz("qti-position-object-stage")],lL);var lN="important",lU=" !"+lN,lD=sR(/*#__PURE__*/function(t){"use strict";v(e,t);function e(t){l(this,e);var n;var r;if(n=s(this,e,[t]),t.type!==sA.ATTRIBUTE||t.name!=="style"||((r=t.strings)===null||r===void 0?void 0:r.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");return n}d(e,[{key:"render",value:function t(t){return Object.keys(t).reduce(function(e,n){var r=t[n];return r==null?e:e+"".concat(n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase(),":").concat(r,";")},"")}},{key:"update",value:function t(t,e){var n=T(e,1),r=n[0];var o=t.element,a=o.style;if(this.ft===void 0)return this.ft=new Set(Object.keys(r)),this.render(r);var s=true,l=false,u=undefined;try{for(var c=this.ft[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;r[h]==null&&(this.ft.delete(h),h.includes("-")?a.removeProperty(h):a[h]=null)}}catch(t){l=true;u=t}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}for(var p in r){var f=r[p];if(f!=null){this.ft.add(p);var v=typeof f=="string"&&f.endsWith(lU);p.includes("-")||v?a.setProperty(p,v?f.slice(0,-11):f,v?lN:""):a[p]=f}}return ib}}]);return e}(sI));var lV=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.maxChoices=1/0;t.minChoices=0;t.response=null;t._correctAreas=[];t._responseCorrection=[];t._imgElement=null;t._scaleX=1;t._scaleY=1;t._imageWidthOriginal=0;t._imageHeightOriginal=0;t._onImageClick=function(e){if(t.disabled)return;if(!t._imgElement){console.warn("No <img> element found in <qti-select-point-interaction>");return}t.calculateScale();var n=t._imgElement.getBoundingClientRect(),r=(e.clientX-n.left)*t._scaleX,o=(e.clientY-n.top)*t._scaleY,a="".concat(r.toFixed()," ").concat(o.toFixed());t.maxChoices===1?t.response=[a]:(t.maxChoices===0||(t.response||[]).length<t.maxChoices)&&(t.response=L(t.response||[]).concat([a])),t.saveResponse(t.response)};t._onResize=function(){t.calculateScale()};return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._onResize)}},{key:"responsePoints",get:function t(){return(this.response||[]).filter(function(t){return t}).map(function(t){var e=T(t.split(" ").map(Number),2),n=e[0],r=e[1];return{x:n,y:r}})}},{key:"toggleCandidateCorrection",value:function t(t){var e=this;this._responseCorrection=[],t&&this.responsePoints.forEach(function(t){var n=e.responseVariable.areaMapping.areaMapEntries.some(function(n){return oh.isPointInArea("".concat(t.x," ").concat(t.y),"".concat(n.shape,",").concat(n.coords),e.responseVariable.baseType)});e._responseCorrection.push(n)})}},{key:"toggleCorrectResponse",value:function t(t){var e=this.responseVariable;if(!t||!e){this._correctAreas=[];return}var n=e.areaMapping,r=[];if(!n||n.areaMapEntries.length===0)if(e.correctResponse){var o=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];if(o.length===0||o.find(function(t){return t.split(" ").length<2}))return console.error("No valid correct responses found for the response variable."),null;console.warn("No area mapping found for the response variable. Using the correct responses to display the correct response but it probably won't score correct."),r=o.map(function(t){return{shape:"circle",coords:t.split(" ").join(",").concat(",10"),defaultValue:1,mappedValue:1}})}else{console.error("No area mapping found for the response variable.");return}else r=n.areaMapEntries;this._correctAreas=r.map(function(t){return{coords:t.coords,shape:t.shape}})}},{key:"updated",value:function t(t){p(f(e.prototype),"updated",this).call(this,t);var n=this._imgElement;n&&t.has("_correctAreas")&&this._correctAreas.length>0&&(this.calculateScale(),this.shadowRoot.querySelectorAll("div").forEach(function(t){var e=t.dataset.coord,r=t.dataset.shape;e&&r&&nU(r,e.split(",").map(function(t){return+t}),n,t)}))}},{key:"render",value:function t(){var t=this;var e;return im(nt(),lf((this.response||[]).filter(function(t){return t}),function(t){return t},function(e,n){var r=T(e.split(" ").map(Number),2),o=r[0],a=r[1],s=o/(t._imageWidthOriginal||1)*100,l=a/(t._imageHeightOriginal||1)*100,u=16,c=u/(t._imageWidthOriginal||1)*100,d=u/(t._imageHeightOriginal||1)*100,h="";return t._responseCorrection[n]===!0?h=" correct":t._responseCorrection[n]===!1&&(h=" incorrect"),im(e7(),h,lD({pointerEvents:t.maxChoices===1?"none":"auto",position:"absolute",transform:"translate(-50%, -50%)",left:"".concat(s,"%"),top:"".concat(l,"%"),width:"min(".concat(c,"%, 1rem)"),height:"min(".concat(d,"%, 1rem)"),minWidth:"min(".concat(c,"%, 1rem)"),minHeight:"min(".concat(d,"%, 1rem)"),borderRadius:"50%",background:"red"}),e,t.disabled,function(e){e.stopPropagation(),t.response=(t.response||[]).filter(function(t,e){return e!==n}),t.saveResponse(t.response)})}),lf(((e=this._correctAreas)===null||e===void 0?void 0:e.filter(function(t){return t}))||[],function(t){return t},function(t,e){return im(e9(),lD({position:"absolute",pointerEvents:"none",backgroundColor:"var(--qti-correct)",opacity:"0.5"}),t.coords,"correct-response-".concat(e+1),t.shape)}))}},{key:"validate",value:function t(){return this.response!==null&&this.response.length>=this.minChoices&&this.response.length<=this.maxChoices}},{key:"calculateScale",value:function t(){this._imageWidthOriginal=this._imgElement.getAttribute("width")?parseFloat(this._imgElement.getAttribute("width")):this._imgElement.naturalWidth,this._imageHeightOriginal=this._imgElement.getAttribute("height")?parseFloat(this._imgElement.getAttribute("height")):this._imgElement.naturalHeight;var t=this._imgElement.getBoundingClientRect();this._scaleX=t.width===0?1:this._imageWidthOriginal/t.width,this._scaleY=t.height===0?1:this._imageHeightOriginal/t.height}},{key:"firstUpdated",value:function t(){this._imgElement=this.querySelector("img"),this._imgElement?(this.calculateScale(),this._imgElement.addEventListener("click",this._onImageClick)):console.warn("No <img> element found in <qti-select-point-interaction>")}},{key:"disconnectedCallback",value:function t(){p(f(e.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._onResize),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}}]);return e}(oi);lV.styles=[rO(ne())],nJ([n({type:Number,attribute:"max-choices"})],lV.prototype,"maxChoices",2),nJ([n({type:Number,attribute:"min-choices"})],lV.prototype,"minChoices",2),nJ([r()],lV.prototype,"response",2),nJ([r()],lV.prototype,"_correctAreas",2),nJ([r()],lV.prototype,"_responseCorrection",2),lV=nJ([iz("qti-select-point-interaction")],lV);var l$=rO(nn());var lz=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._value=0;t._correctResponseNumber=null;t.min=0;t.max=100;t.step=1;return t}d(e,[{key:"validate",value:function t(){return!0}},{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this._updateValue(this.min),this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}},{key:"response",get:function t(){return this._value.toString()},set:function t(t){var e=parseInt(t,10);isNaN(e)||this._updateValue(e)}},{key:"toggleCorrectResponse",value:function t(t){var e=this.responseVariable;if(e===null||e===void 0?void 0:e.correctResponse){if(t){this._correctResponse=e.correctResponse.toString();var n=parseFloat(e.correctResponse.toString());if(isNaN(n))this._correctResponseNumber=null;else{this._correctResponseNumber=n;var r=(this._correctResponseNumber-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage-correct","".concat(r,"%"))}}else this._correctResponseNumber=null;this.requestUpdate()}}},{key:"_updateValue",value:function t(t){var e=this._value;if(this._value=Math.min(this.max,Math.max(this.min,t)),this._value===e)return;var n=(this._value-this.min)/(this.max-this.min)*100;this.style.setProperty("--value-percentage","".concat(n,"%")),this._internals.setFormValue(this.value),this.saveResponse(this.response),this.requestUpdate()}},{key:"render",value:function t(){return im(ni(),this.min,this.max,this._onMouseDown,this._onTouchStart,this.response,this._correctResponseNumber!==null?im(nr(),this._correctResponseNumber):null)}},{key:"_onMouseDown",value:function t(t){var e=this;this._startDrag(t.pageX);var n=function(t){return e._onDrag(t.pageX)},r=function(){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r),e._onDragEnd()};document.addEventListener("mousemove",n),document.addEventListener("mouseup",r)}},{key:"_onTouchStart",value:function t(t){var e=this;this._startDrag(t.touches[0].pageX);var n=function(t){return e._onDrag(t.touches[0].pageX)},r=function(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",r),e._onDragEnd()};document.addEventListener("touchmove",n,{passive:!1}),document.addEventListener("touchend",r)}},{key:"_startDrag",value:function t(t){this._onDrag(t)}},{key:"_onDrag",value:function t(t){var e=this._rail.getBoundingClientRect(),n=t-e.left,r=Math.min(1,Math.max(0,n/e.width)),o=this.min+Math.round(r*(this.max-this.min)/this.step)*this.step;this._updateValue(o)}},{key:"_onDragEnd",value:function t(){this.dispatchEvent(new Event("change",{bubbles:!0}))}}]);return e}(oi);lz.styles=l$,nJ([o("#rail")],lz.prototype,"_rail",2),nJ([n({type:Number,attribute:"lower-bound"})],lz.prototype,"min",2),nJ([n({type:Number,attribute:"upper-bound"})],lz.prototype,"max",2),nJ([n({type:Number,attribute:"step"})],lz.prototype,"step",2),lz=nJ([iz("qti-slider-interaction")],lz);var lj=function(){return new lF},lF=function t(){"use strict";l(this,t)},lH=new WeakMap,lB=sR(/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(t){return i_}},{key:"update",value:function t(t,e){var n=T(e,1),r=n[0];var o;var a=r!==this.G;return a&&this.G!==void 0&&this.rt(void 0),(a||this.lt!==this.ct)&&(this.G=r,this.ht=(o=t.options)===null||o===void 0?void 0:o.host,this.rt(this.ct=t.element)),i_}},{key:"rt",value:function t(t){if(this.isConnected||(t=void 0),typeof this.G=="function"){var e;var n=(e=this.ht)!==null&&e!==void 0?e:globalThis,r=lH.get(n);r===void 0&&(r=new WeakMap,lH.set(n,r)),r.get(this.G)!==void 0&&this.G.call(this.ht,void 0),r.set(this.G,t),t!==void 0&&this.G.call(this.ht,t)}else this.G.value=t}},{key:"lt",get:function t(){var t,e;var n;return typeof this.G=="function"?(t=lH.get((n=this.ht)!==null&&n!==void 0?n:globalThis))===null||t===void 0?void 0:t.get(this.G):(e=this.G)===null||e===void 0?void 0:e.value}},{key:"disconnected",value:function t(){this.lt===this.ct&&this.rt(void 0)}},{key:"reconnected",value:function t(){this.rt(this.ct)}}]);return e}(sL));var lQ=rO(no());var lW=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.inputRef=lj();t.response=null;t._handleValueChange=function(){t._internals.setFormValue(t.value),t.validate()};return t}d(e,[{key:"value",get:function t(){return this.response||null},set:function t(t){this.response=t||null}},{key:"correctness",get:function t(){var t=this.responseVariable;if(!t)return null;if(t.value===null)return"incorrect";if(t.mapping){var e=t.mapping.mapEntries.reduce(function(t,e){return Math.max(e.mappedValue,t)},0);var n=true,r=false,o=undefined;try{for(var a=t.mapping.mapEntries[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;var u=l.mapKey,c=t.value;if(l.caseSensitive||(u=u.toLowerCase(),c=c.toLowerCase()),u===c)return l.mappedValue===e?"correct":l.mappedValue<=(t.mapping.defaultValue||0)?"incorrect":"partially-correct"}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}}return t.correctResponse===t.value?"correct":"incorrect"}},{key:"isInline",get:function t(){return!0}},{key:"validate",value:function t(){if(!this._input)return!1;if(this.patternMask&&this.dataPatternmaskMessage)this._internals.setValidity({}),this._input.setCustomValidity(""),this._input.checkValidity()||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),this._input.setCustomValidity(this.dataPatternmaskMessage));else{var t=this._input.checkValidity();this._internals.setValidity(t?{}:{customError:!1})}return this.response!==""&&this._input.checkValidity()}},{key:"toggleInternalCorrectResponse",value:function t(t){var e=this.responseVariable;if(t&&(e===null||e===void 0?void 0:e.correctResponse)){var n=e.correctResponse.toString();this._correctResponse=n}else this._correctResponse=null}},{key:"render",value:function t(){var t=this;return im(ns(),this.responseIdentifier,function(e){t.reportValidity()},function(t){return t.stopImmediatePropagation()},this.textChanged,this.textChanged,this.patternMask=="[0-9]*"?"number":"text",oI(this.placeholderText?this.placeholderText:void 0),this.response,oI(this.patternMask?this.patternMask:void 0),1e3,this.disabled,this.readonly,this._correctResponse?im(na(),this._correctResponse):i_)}},{key:"textChanged",value:function t(t){if(this.disabled||this.readonly)return;var e=t.target;this.setEmptyAttribute(e.value),this.response!==e.value&&(this.value=e.value,this.saveResponse(e.value))}},{key:"reportValidity",value:function t(){var t=this.shadowRoot.querySelector("input");if(!t)return!1;var e=this.validate();return e||t.reportValidity(),e}},{key:"reset",value:function t(){this.response=""}},{key:"setEmptyAttribute",value:function t(t){this.setAttribute("empty",t===""?"true":"false")}}]);return e}(oi);lW.styles=lQ,nJ([n({type:Number,attribute:"expected-length"})],lW.prototype,"expectedLength",2),nJ([n({type:String,attribute:"pattern-mask"})],lW.prototype,"patternMask",2),nJ([n({type:String,attribute:"placeholder-text"})],lW.prototype,"placeholderText",2),nJ([n({type:String,attribute:"data-patternmask-message"})],lW.prototype,"dataPatternmaskMessage",2),nJ([r()],lW.prototype,"response",2),nJ([o("input")],lW.prototype,"_input",2),nJ([nO("response",{waitUntilFirstUpdate:!0})],lW.prototype,"_handleValueChange",2),lW=nJ([iz("qti-text-entry-interaction")],lW);var lG=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t._file=null;t._base64=null;return t}d(e,[{key:"reset",value:function t(){this._file=null,this._base64=null,this.saveResponse(null)}},{key:"validate",value:function t(){return this._base64!==null}},{key:"response",get:function t(){return this._base64},set:function t(t){if(typeof t=="string")this._base64=t,this.saveResponse(t);else if(t===null)this.reset();else throw new Error("Value must be a Base64-encoded string or null")}},{key:"render",value:function t(){return im(nl(),this._onFileChange,this.disabled,this.readonly)}},{key:"_onFileChange",value:function t(t){return a(function(){var e,n,r;return $(this,function(o){switch(o.label){case 0:e=t.target;n=e.files&&e.files.length>0;if(!n)return[3,2];this._file=e.files[0];r=this;return[4,this._convertToBase64(this._file)];case 1:n=(r._base64=o.sent(),this.saveResponse(this._base64),this.dispatchEvent(new CustomEvent("qti-interaction-response",{detail:{response:this._base64}})));o.label=2;case 2:n;return[2]}})}).call(this)}},{key:"_convertToBase64",value:function t(t){return new Promise(function(e,n){var r=new FileReader;r.onload=function(){return e(r.result)},r.onerror=function(){return n(r.error)},r.readAsDataURL(t)})}}],[{key:"properties",get:function t(){return k({},oi.properties)}}]);return e}(oi);lG.styles=[rO(nu())],lG=nJ([iz("qti-upload-interaction")],lG);var lX=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.tabindex=0;return t}d(e,[{key:"connectedCallback",value:function t(){this.setAttribute("slot","drags")}}]);return e}(iD);lX.styles=rO(nc()),nJ([n({type:Number,reflect:!0})],lX.prototype,"tabindex",2),lX=nJ([iz("qti-gap-img")],lX);var lJ={toAttribute:function(t){return t?"true":"false"},fromAttribute:function(t){return t==="true"}};var lY=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.tabindex=0;return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","drags")}},{key:"render",value:function t(){return im(nd())}}]);return e}(nD(iD,"qti-gap-text"));lY.styles=rO(nh()),nJ([n({type:Number,reflect:!0})],lY.prototype,"tabindex",2),lY=nJ([iz("qti-gap-text")],lY);var lK=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.tabindex=0;return t}d(e,[{key:"render",value:function t(){return im(np())}}]);return e}(iD);lK.styles=rO(nf()),nJ([n({type:Number,reflect:!0})],lK.prototype,"tabindex",2),lK=nJ([iz("qti-gap")],lK);var lZ=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.addEventListener("click",this._onSelectInlineChoice),this.dispatchEvent(new CustomEvent("qti-inline-choice-register",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"disconnectedCallback",value:function t(){this.removeEventListener("click",this._onSelectInlineChoice)}},{key:"render",value:function t(){return im(nm())}},{key:"_onSelectInlineChoice",value:function t(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}}],[{key:"styles",get:function t(){return[rO(nv())]}}]);return e}(iD);nJ([n({type:String})],lZ.prototype,"identifier",2),lZ=nJ([iz("qti-inline-choice")],lZ);var l0=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(ng())}}]);return e}(nD(iD,"qti-hottext"));l0.styles=rO(ny()),l0=nJ([iz("qti-hottext")],l0);var l1=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.matchMin=0;t.matchMax=1;t.fixed=!1;return t}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}},{key:"render",value:function t(){return im(nb())}}]);return e}(nD(iD,"qti-simple-associable-choice"));l1.styles=rO(n_()),nJ([n({type:Number,attribute:"match-min"})],l1.prototype,"matchMin",2),nJ([n({type:Number,attribute:"match-max"})],l1.prototype,"matchMax",2),nJ([n({type:String,attribute:"fixed",converter:{fromAttribute:function(t){return t==="true"},toAttribute:function(t){return String(t)}}})],l1.prototype,"fixed",2),l1=nJ([iz("qti-simple-associable-choice")],l1);var l2=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.templateIdentifier=null;t.showHide="show";t.fixed=!1;return t}d(e,[{key:"checked",get:function t(){return this.internals.states.has("--checked")}},{key:"render",value:function t(){return im(nk(),this.marker?im(nq(),this.marker):i_)}}]);return e}(nD(iD,"qti-simple-choice"));l2.styles=rO(nw()),nJ([n({type:String,attribute:"template-identifier"})],l2.prototype,"templateIdentifier",2),nJ([n({type:String,attribute:"show-hide"})],l2.prototype,"showHide",2),nJ([n({type:Boolean,converter:{fromAttribute:function(t){return t==="true"},toAttribute:function(t){return String(t)}}})],l2.prototype,"fixed",2),nJ([n({type:String,attribute:!1})],l2.prototype,"marker",2),l2=nJ([iz("qti-simple-choice")],l2);var l3=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}return e}(nD(iD,"qti-hotspot-choice"));l3.styles=rO(nx()),nJ([n({attribute:"aria-ordervalue",type:Number,reflect:!0})],l3.prototype,"order",2),nJ([n({attribute:"aria-ordercorrectvalue",type:Number,reflect:!0})],l3.prototype,"orderCorrect",2),l3=nJ([iz("qti-hotspot-choice")],l3);var l5=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"connectedCallback",value:function t(){p(f(e.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"render",value:function t(){return im(nC())}}]);return e}(iD);l5.styles=rO(nE()),l5=nJ([iz("qti-associable-hotspot")],l5);var l4=function(t){return a(function(){var e,n,r,o,a,s;return $(this,function(l){switch(l.label){case 0:e=t.substring(0,t.lastIndexOf("/"));return[4,iG().load("".concat(t)).then(function(t){return t.assessmentTest()})];case 1:n=l.sent();return[4,iX().load("".concat(e,"/").concat(n.href)).then(function(t){return t.htmlDoc()})];case 2:r=l.sent();return[4,iX().load("".concat(e,"/").concat(n.href)).then(function(t){return t.items()})];case 3:o=l.sent(),a="".concat(e,"/").concat(n.href),s="".concat(e,"/").concat(n.href.substring(0,n.href.lastIndexOf("/")));return[2,{testHTMLDoc:r,testURI:s,testURL:a,items:o,testIdentifier:n.identifier}]}})})()},l6=function(t){return a(function(){return $(this,function(e){return[2,iW().load(t).then(function(t){return t.htmlDoc().firstElementChild})]})})()};var l8=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nS())}},{key:"process",value:function t(){throw new Error("Not implemented")}}]);return e}(iD);l8=nJ([iz("qti-rule")],l8);var l7=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"childExpression",get:function t(){return this.firstElementChild}},{key:"process",value:function t(){var t=this.getAttribute("identifier"),e=this.context.variables.find(function(e){return e.identifier===t})||null,n;return e.interpolationTable&&(n=e.interpolationTable.get(parseFloat(this.childExpression.calculate()))),n==null?(console.warn("lookupOutcomeValue: value is null or undefined"),0):(this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:this.identifier,value:ou(n)}})),n)}}]);return e}(l8);nJ([n({type:String})],l7.prototype,"identifier",2),nJ([M({context:i8,subscribe:!0}),r()],l7.prototype,"context",2);customElements.define("qti-lookup-outcome-value",l7);var l9=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nA())}},{key:"process",value:function t(){var t=L(this.children);for(var e=0;e<t.length;e++){var n=t[e];if(n.calculate()){n.process();return}}}}]);return e}(l8);customElements.define("qti-response-condition",l9);var ut=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"process",value:function t(){var t=this.getAttribute("identifier");if(!t){console.warn('QtiSetOutcomeValue: Missing "identifier" attribute.');return}var e=this.firstElementChild;if(!e){console.warn("QtiSetOutcomeValue: No expression found.");return}var n=new ue(e).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:this.formatValue(n)}}))}},{key:"formatValue",value:function t(t){return Array.isArray(t)?t.map(ou):t!==null?ou(t):null}}]);return e}(l8),ue=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.expression=e}d(t,[{key:"process",value:function t(){var t;var e=(t=this.expression.calculate())!==null&&t!==void 0?t:null;return e===null&&console.warn("QtiSetOutcomeValueRule: Evaluated value is null."),Array.isArray(e)?e.map(function(t){return t.value?t.value:t}):e}}]);return t}();customElements.define("qti-set-outcome-value",ut);var un=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nR())}},{key:"calculate",value:function t(){return!0}},{key:"getSubRules",value:function t(){return L(this.children)}},{key:"process",value:function t(){var t=this.getSubRules();for(var e=0;e<t.length;e++)t[e].process()}}]);return e}(iD);customElements.define("qti-response-else",un);var ur=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculate",value:function t(){return this.firstElementChild.calculate()}},{key:"getSubRules",value:function t(){var t=[];for(var e=1;e<this.children.length;e++)t.push(this.children[e]);return t}}]);return e}(un);customElements.define("qti-response-if",ur);var ui=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nI(),p(f(e.prototype),"render",this).call(this))}}]);return e}(ur);customElements.define("qti-response-else-if",ui);var uo=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"calculate",value:function t(){return this.calculateChildren(Array.from(this.children))}}]);return e}(nV(os));uo=nJ([iz("qti-and")],uo);var ua=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.baseType="string";return t}d(e,[{key:"getResult",value:function t(){return this.textContent.trim()}}]);return e}(oa);nJ([n({type:String,attribute:"base-type"})],ua.prototype,"baseType",2);customElements.define("qti-base-value",ua);var us=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t;if(((t=this.children)===null||t===void 0?void 0:t.length)!==1)return console.error("qti-container-size must have exactly one child expression"),0;var e=this.getVariables();if(!e||(e===null||e===void 0?void 0:e.length)===0)return 0;var n=e[0];return n.value===null||n.value===void 0?0:n.cardinality!=="multiple"&&n.cardinality!=="ordered"?(console.error("qti-container-size requires multiple or ordered cardinality"),0):Array.isArray(n.value)?n.value.length:(console.error("qti-container-size: expected array value for multiple/ordered cardinality"),0)}}]);return e}(oa);customElements.define("qti-container-size",us);var ul=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(this.children.length===2){var e=t[0],n=t[1];if(e.baseType==="directedPair"&&n.baseType==="directedPair"&&e.cardinality==="multiple"){var r=e.value,o=n.value;return r.filter(function(t){return o.includes(t)}).length>0}else if(e.baseType==="directedPair"&&n.baseType==="directedPair"&&e.cardinality==="single"){var a=e.value;return n.value.includes(a)}else console.error("unsupported baseType or cardinality in qti contains, only baseType: directedPair and cardinality: multiple is supported")}else console.error("unexpected number of children in qti contains");return!1}}]);return e}(os);customElements.define("qti-contains",ul);var uu=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"interpretation",get:function t(){return this.getAttribute("interpretation")||""}},{key:"getResult",value:function t(){var t=this.getAttribute("identifier")||"",e=this.context.variables.find(function(e){return e.identifier===t})||null;return e.cardinality!=="single"?e.correctResponse.length>0?e.correctResponse[0]:"":e.correctResponse}}]);return e}(oa);customElements.define("qti-correct",uu);var uc=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.identifier="";return t}d(e,[{key:"getResult",value:function t(){var t;if(!this.identifier)return console.error("qti-default requires an identifier attribute"),null;var e=this.identifier.split("."),n=null,r;if(e.length===2)n=e[0],r=e[1];else if(e.length===1)r=e[0];else return console.error("qti-default: invalid identifier format"),null;if(n){var o;var a=this._testContext.items.find(function(t){return t.identifier===n});if(console.debug("itemContext: ".concat(JSON.stringify(a))),!this._testContext||!a)return console.warn('qti-default: item "'.concat(n,'" not found in test context')),null;var s=(o=this._testContext.items.find(function(t){return t.identifier===n}))===null||o===void 0?void 0:o.variables.find(function(t){return t.identifier===r});return s?s.defaultValue||null:(console.warn('qti-default: variable "'.concat(r,'" not found in item "').concat(n,'"')),null)}if(!((t=this.context)===null||t===void 0?void 0:t.variables))return console.warn("qti-default: no variables found in item context"),null;var l=this.context.variables.find(function(t){return t.identifier===r});return l?l.defaultValue||null:(console.warn('qti-default: variable "'.concat(r,'" not found in item context')),null)}}]);return e}(oa);nJ([n({type:String})],uc.prototype,"identifier",2),nJ([M({context:i8,subscribe:!0}),r()],uc.prototype,"context",2),nJ([r(),M({context:on,subscribe:!0})],uc.prototype,"_testContext",2);customElements.define("qti-default",uc);var ud=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.roundingMode="significantFigures";return t}d(e,[{key:"figures",get:function t(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;var t=parseInt(this.getAttribute("figures")||"0");return isNaN(t)?(console.error("figures attribute is not a number"),null):t<0?(console.error("figures attribute is negative"),null):t<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):t}},{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if(this.roundingMode===null)return null;if(e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti equal"),!1;switch(t[0].baseType){case"integer":case"float":{var r=parseFloat(e.value),o=parseFloat(n.value);if(!isNaN(r)&&!isNaN(o))return this.roundingMode==="significantFigures"?r.toPrecision(this.figures)===o.toPrecision(this.figures):Math.round(r*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(o*Math.pow(10,this.figures))/Math.pow(10,this.figures);console.error("value cannot be casted to numeric value in equalRounded operator: ".concat(r,", ").concat(o));break}default:{console.error("values other than float and int cannot be used in equalRounded operator.");break}}return!1}return console.error("unexpected number of children in qti-equal-rounded"),null}}]);return e}(oa);nJ([n({type:String})],ud.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",ud);var uh=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length!==1)return console.error("qti-round must have exactly one child expression"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=t[0];if(e.cardinality!=="single")return console.error("qti-round requires single cardinality"),null;if(Array.isArray(e.value))return console.error("qti-round unexpected array value for single cardinality"),null;if(e.value===null||e.value===void 0)return null;if(e.baseType!=="integer"&&e.baseType!=="float")return console.error("qti-round requires numerical base-type (integer or float)"),null;var n=parseFloat(e.value);return isNaN(n)?(console.warn("qti-round: NaN input results in NULL"),null):isFinite(n)?Math.floor(n+.5):n===1/0?1/0:n===-1/0?-1/0:null}}]);return e}(oa);customElements.define("qti-round",uh);var up=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.roundingMode="significantFigures";t.figures=3;return t}d(e,[{key:"getResult",value:function t(){if(this.children.length!==1)return console.error("qti-round-to must have exactly one child expression"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=t[0];if(e.cardinality!=="single")return console.error("qti-round-to requires single cardinality"),null;if(Array.isArray(e.value))return console.error("qti-round-to unexpected array value for single cardinality"),null;if(e.value===null||e.value===void 0)return null;if(e.baseType!=="integer"&&e.baseType!=="float")return console.error("qti-round-to requires numerical base-type"),null;var n=parseFloat(e.value);return isNaN(n)?null:isFinite(n)?this.figures<0?(console.error("qti-round-to: figures must be non-negative"),null):this.roundingMode==="significantFigures"&&this.figures<1?(console.error("qti-round-to: figures must be at least 1 for significantFigures mode"),null):this.roundingMode==="decimalPlaces"?this._roundToDecimalPlaces(n,this.figures):this._roundToSignificantFigures(n,this.figures):n===1/0?1/0:n===-1/0?-1/0:null}},{key:"_roundToDecimalPlaces",value:function t(t,e){if(t===0)return 0;var n=Math.pow(10,e);return Math.round(t*n)/n}},{key:"_roundToSignificantFigures",value:function t(t,e){if(t===0)return 0;var n=Math.floor(Math.log10(Math.abs(t))),r=Math.pow(10,e-n-1);return Math.round(t*r)/r}}]);return e}(oa);nJ([n({type:String,attribute:"rounding-mode"})],up.prototype,"roundingMode",2),nJ([n({type:Number})],up.prototype,"figures",2);customElements.define("qti-round-to",up);var uf=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.toleranceMode="exact";return t}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),!1):oh.compareSingleValues(e.value,n.value,e.baseType)}return console.error("unexpected number of children in qti-equal"),null}}]);return e}(oa);nJ([n({type:String})],uf.prototype,"toleranceMode",2);customElements.define("qti-equal",uf);var uv=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===0)return console.error("qti-gcd must have at least one child expression"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=[];var n=true,r=false,o=undefined;try{for(var a=t[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;if(l.baseType!=="integer")return console.error("qti-gcd requires integer base-type"),null;if(l.value===null||l.value===void 0)return null;if(l.cardinality==="single"){if(Array.isArray(l.value))return console.error("qti-gcd unexpected array value for single cardinality"),null;var u=parseInt(l.value,10);if(isNaN(u))return console.error("qti-gcd non-numerical value"),null;e.push(u)}else if(l.cardinality==="multiple"||l.cardinality==="ordered"){if(!Array.isArray(l.value))return console.error("qti-gcd expected array value for multiple/ordered cardinality"),null;var c=true,d=false,h=undefined;try{for(var p=l.value[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;if(v==null)return null;var m=parseInt(v,10);if(isNaN(m))return console.error("qti-gcd non-numerical value"),null;e.push(m)}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}}else return console.error("qti-gcd unsupported cardinality"),null}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return e.length===0?null:this._calculateGcd(e)}},{key:"_calculateGcd",value:function t(t){if(t.length===0)return 0;if(t.length===1)return Math.abs(t[0]);var e=Math.abs(t[0]);for(var n=1;n<t.length&&(e=this._gcdTwoNumbers(e,Math.abs(t[n])),e!==1);n++);return e}},{key:"_gcdTwoNumbers",value:function t(t,e){if(t===0&&e===0)return 0;if(t===0)return e;if(e===0)return t;for(;e!==0;){var n=e;e=t%e,t=n}return t}}]);return e}(oa);customElements.define("qti-gcd",uv);var um=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if((e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+e.value>+n.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}}]);return e}(oa);customElements.define("qti-gt",um);var ug=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return(e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+e.value>=+n.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}}]);return e}(os);customElements.define("qti-gte",ug);var uy=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return null}}]);return e}(oa);customElements.define("qti-null",uy);var ub=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===1){var t=this.getVariables();if(!t)return!0;var e=t[0].value;return e==null||e==null||e===""}return console.error("unexpected number of children in qti Null"),null}}]);return e}(oa);customElements.define("qti-is-null",ub);var u_=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getAttribute("field-identifier");if(!t)throw new Error("field-identifier attribute is required");if(Array.from(this.children).length!==1)throw new Error("qti-field-value must have exactly one child expression");var e=this.getVariables()[0];if(e.baseType!=="record"||e.value===null)throw new Error("qti-field-value child expression must return a record");var n=e.value[t];if(n===void 0)throw new Error('Field "'.concat(t,'" not found in record'));return n}}]);return e}(oa);customElements.define("qti-field-value",u_);var uq=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if((e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+e.value<+n.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}}]);return e}(oa);customElements.define("qti-lt",uq);var uk=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return(e.baseType==="integer"||e.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+e.value<=+n.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}}]);return e}(os);customElements.define("qti-lte",uk);var uw=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this;var e=this.context.variables.find(function(e){return e.identifier===t.identifier});if(!e||!e.mapping)return console.error("Response ".concat(this.identifier," can not be found")),null;var n=e.mapping,r=Array.isArray(e.value)?e.value:[e.value],o=0;var a=true,s=false,l=undefined;try{var u=function(){var t=d.value;var r=n.mapEntries.filter(function(n){return e.baseType==="string"&&!n.caseSensitive?oh.compareSingleValues(n.mapKey.toLowerCase(),t.toLowerCase(),e.baseType):oh.compareSingleValues(n.mapKey,t,e.baseType)}),a=r.reduce(function(t,e){return t.mappedValue>e.mappedValue?t:e},r.length>0?r[0]:{mapKey:null,mappedValue:null});a===null||a.mappedValue==null?o+=n.defaultValue:o+=a.mappedValue};for(var c=r[Symbol.iterator](),d;!(a=(d=c.next()).done);a=true)u()}catch(t){s=true;l=t}finally{try{if(!a&&c.return!=null){c.return()}}finally{if(s){throw l}}}return(n===null||n===void 0?void 0:n.lowerBound)!==null&&(n===null||n===void 0?void 0:n.lowerBound)!==void 0&&(o=Math.max(n.lowerBound,o)),(n===null||n===void 0?void 0:n.upperBound)!==null&&(n===null||n===void 0?void 0:n.upperBound)!==void 0&&(o=Math.min(n.upperBound,o)),o}}]);return e}(oa);nJ([n({type:String})],uw.prototype,"identifier",2);customElements.define("qti-map-response",uw);var ux=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this;var e=this.context.variables.find(function(e){return e.identifier===t.identifier});if(!e)return console.warn("Response ".concat(this.identifier," cannot be found")),null;var n=e.areaMapping;if(!n)return console.warn("Area mapping not found for response ".concat(this.identifier)),null;var r=Array.isArray(e.value)?e.value:[e.value];if(!r||r.length===0)return console.warn("No candidate responses for response ".concat(this.identifier)),null;var o=0,a=new Set;var s=true,l=false,u=undefined,c=true,d=false,h=undefined;try{for(var p=r[Symbol.iterator](),f;!(c=(f=p.next()).done);c=true){var v=f.value;try{for(var m=n.areaMapEntries[Symbol.iterator](),g;!(s=(g=m.next()).done);s=true){var y=g.value;if(a.has(y.coords))continue;var b;oh.isPointInArea(v,"".concat(y.shape,",").concat(y.coords),e.baseType)&&(o+=(b=y.mappedValue)!==null&&b!==void 0?b:0,a.add(y.coords))}}catch(t){l=true;u=t}finally{try{if(!s&&m.return!=null){m.return()}}finally{if(l){throw u}}}}}catch(t){d=true;h=t}finally{try{if(!c&&p.return!=null){p.return()}}finally{if(d){throw h}}}return a.size<r.length&&(o+=n.defaultValue),n.lowerBound!=null&&(o=Math.max(n.lowerBound,o)),n.upperBound!=null&&(o=Math.min(n.upperBound,o)),o}}]);return e}(oa);nJ([n({type:String})],ux.prototype,"identifier",2);customElements.define("qti-map-response-point",ux);var uC=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.name="";return t}d(e,[{key:"getResult",value:function t(){if(!this.name)return console.error("qti-math-operator requires a name attribute"),null;var t=this.getVariables();if(!t||t.length===0)return null;var e=[];var n=true,r=false,o=undefined;try{for(var a=t[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true){var l=s.value;if(l.cardinality!=="single")return console.error("qti-math-operator requires single cardinality"),null;if(Array.isArray(l.value))return console.error("qti-math-operator unexpected array value for single cardinality"),null;if(l.value===null||l.value===void 0)return null;if(l.baseType!=="integer"&&l.baseType!=="float")return console.error("qti-math-operator requires numerical base-type"),null;var u=parseFloat(l.value);if(isNaN(u))return console.error("qti-math-operator non-numerical value"),null;e.push(u)}}catch(t){r=true;o=t}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw o}}}return this._performOperation(this.name,e)}},{key:"_performOperation",value:function t(t,e){try{switch(t.toLowerCase()){case"sin":return e.length!==1?null:Math.sin(e[0]);case"cos":return e.length!==1?null:Math.cos(e[0]);case"tan":return e.length!==1?null:Math.tan(e[0]);case"asin":return e.length!==1||e[0]<-1||e[0]>1?null:Math.asin(e[0]);case"acos":return e.length!==1||e[0]<-1||e[0]>1?null:Math.acos(e[0]);case"atan":return e.length!==1?null:Math.atan(e[0]);case"sinh":return e.length!==1?null:Math.sinh(e[0]);case"cosh":return e.length!==1?null:Math.cosh(e[0]);case"tanh":return e.length!==1?null:Math.tanh(e[0]);case"log":return e.length!==1||e[0]<=0?null:Math.log(e[0]);case"ln":return e.length!==1||e[0]<=0?null:Math.log(e[0]);case"log10":return e.length!==1||e[0]<=0?null:Math.log10(e[0]);case"exp":return e.length!==1?null:Math.exp(e[0]);case"abs":return e.length!==1?null:Math.abs(e[0]);case"sqrt":return e.length!==1||e[0]<0?null:Math.sqrt(e[0]);case"signum":return e.length!==1?null:Math.sign(e[0]);case"floor":return e.length!==1?null:Math.floor(e[0]);case"ceil":return e.length!==1?null:Math.ceil(e[0]);case"round":return e.length!==1?null:Math.round(e[0]);case"atan2":return e.length!==2?null:Math.atan2(e[0],e[1]);case"pow":{if(e.length!==2)return null;var n=e[0],r=e[1];return n===0&&r<=0||n<0&&!Number.isInteger(r)?null:Math.pow(n,r)}case"log_base":{if(e.length!==2)return null;var o=e[0],a=e[1];return o<=0||a<=0||a===1?null:Math.log(o)/Math.log(a)}case"mod":return e.length!==2||e[1]===0?null:e[0]%e[1];case"max":var s;return e.length<1?null:(s=Math).max.apply(s,L(e));case"min":var l;return e.length<1?null:(l=Math).min.apply(l,L(e));default:return console.error('qti-math-operator: unknown operation "'.concat(t,'"')),null}}catch(e){return console.error('qti-math-operator: error performing operation "'.concat(t,'":'),e),null}}}]);return e}(oa);nJ([n({type:String})],uC.prototype,"name",2);customElements.define("qti-math-operator",uC);var uE=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),n=t[0],r=t[1];return e.match(n,r)}return console.error("unexpected number of children in match"),null}}],[{key:"match",value:function t(t,e){if(t.value===null)return!1;switch(e.cardinality){case"single":var n;return Array.isArray(t.value)||Array.isArray(e.value)?(console.error("unexpected cardinality in qti match"),!1):oh.compareSingleValues((n=t.value)===null||n===void 0?void 0:n.toString(),e.value.toString(),e.baseType);case"ordered":{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;for(var r=0;r<t.value.length;r++)if(!oh.compareSingleValues(e.value[r],t.value[r],e.baseType))return!1;return!0}case"multiple":{if(!Array.isArray(t.value)||!Array.isArray(e.value))return console.error("unexpected cardinality in qti match"),!1;if(t.value.length!==e.value.length)return!1;var o=0;var a=true,s=false,l=undefined;try{for(var u=e.value[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=null,p=L(t.value);var f=true,v=false,m=undefined;try{for(var g=p[Symbol.iterator](),y;!(f=(y=g.next()).done);f=true){var b=y.value;if(oh.compareSingleValues(d,b,e.baseType)){h=b;break}}}catch(t){v=true;m=t}finally{try{if(!f&&g.return!=null){g.return()}}finally{if(v){throw m}}}if(h!==null)p.splice(p.indexOf(h),1);else return!1;o++}}catch(t){s=true;l=t}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}}]);return e}(oa);customElements.define("qti-match",uE);var uS=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");var e=T(t,2),n=e[0],r=e[1];if(n.baseType===r.baseType||n.baseType==="integer"&&r.baseType==="float"||n.baseType==="float"&&r.baseType==="integer"||console.warn("Which must both have the same base-type"),r.cardinality==="multiple"||r.cardinality==="ordered"||console.warn("and the second must be a multiple or ordered container"),(n.baseType==="float"||r.baseType==="float")&&console.warn("The member operator should not be used on sub-expressions with a base-type of float"),(n.baseType==="duration"||r.baseType==="duration")&&console.warn("It must not be used on sub-expressions with a base-type of duration"),n.value===null||r.value===null)return null;var o=n.value;return r.value.includes(o)}}]);return e}(oa);customElements.define("qti-member",uS);var uA=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){console.debug("qti-multiple getResult called",this.innerHTML);var t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;var e=true,n=false,r=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;if(s.cardinality!=="multiple"&&s.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[]}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}return t}}]);return e}(oa);customElements.define("qti-multiple",uA);var uR=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){return im(nT(),p(f(e.prototype),"render",this).call(this))}},{key:"getResult",value:function t(){return!this.firstElementChild.calculate()}}]);return e}(oa);customElements.define("qti-not",uR);var uI=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return Array.from(this.children).map(function(t){var e=t;if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=e.calculate(),r=!1;if(typeof n=="string")if(n==="true")r=!0;else if(n==="false")r=!1;else return console.error("unexpected val in qti-or, expected boolean"),null;else typeof n=="boolean"&&(r=n);return r}).some(function(t){return typeof t=="boolean"&&t})}}]);return e}(os);customElements.define("qti-or",uI);var uT=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===0)return console.error("unexpected number of children in qti multiple"),null;var e=true,n=false,r=undefined;try{for(var o=t[Symbol.iterator](),a;!(e=(a=o.next()).done);e=true){var s=a.value;if(s.cardinality!=="ordered"&&s.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[]}}catch(t){n=true;r=t}finally{try{if(!e&&o.return!=null){o.return()}}finally{if(n){throw r}}}return t}}]);return e}(oa);customElements.define("qti-ordered",uT);var uP=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length!==2)return console.error("qti-power must have exactly two child expressions"),null;var t=this.getVariables();if(!t||t.length!==2)return null;var e=T(t,2),n=e[0],r=e[1];if(n.cardinality!=="single"||r.cardinality!=="single")return console.error("qti-power requires single cardinality for both expressions"),null;if(Array.isArray(n.value)||Array.isArray(r.value))return console.error("qti-power unexpected array value for single cardinality"),null;if(n.value===null||n.value===void 0||r.value===null||r.value===void 0)return null;if(n.baseType!=="integer"&&n.baseType!=="float"||r.baseType!=="integer"&&r.baseType!=="float")return console.error("qti-power requires numerical base-types"),null;var o=parseFloat(n.value),a=parseFloat(r.value);if(isNaN(o)||isNaN(a))return console.error("qti-power: non-numerical values encountered"),null;if(o===0&&a<=0||o<0&&!Number.isInteger(a))return null;var s;try{s=Math.pow(o,a)}catch(t){return console.error("qti-power: error calculating power:",t),null}if(isNaN(s))return null;if(s===1/0||s===-1/0)return s;if(!isFinite(s)||Math.abs(s)>Number.MAX_VALUE||s!==0&&Math.abs(s)<Number.MIN_VALUE)return null;if(isFinite(s)&&s!==0){var l=Math.floor(Math.log10(Math.abs(s))),u=Math.max(0,14-l),c=Math.pow(10,u);s=Math.round(s*c)/c}return s}}]);return e}(oa);customElements.define("qti-power",uP);var uM=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"render",value:function t(){var t=this;var e,n;var r=(n=this.context)===null||n===void 0?void 0:(e=n.variables.find(function(e){return e.identifier===t.identifier}))===null||e===void 0?void 0:e.value;return r===null?i_:im(nP(),JSON.stringify(r,null,2))}},{key:"calculate",value:function t(){var t=this;return this.context.variables.find(function(e){return e.identifier===t.identifier})||null}}]);return e}(iD);nJ([n({type:String})],uM.prototype,"identifier",2),nJ([M({context:i8,subscribe:!0}),r()],uM.prototype,"context",2);customElements.define("qti-printed-variable",uM);var uO=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return this.getVariables().reduce(function(t,e){if(e.baseType=="float"||e.baseType=="integer")try{return t*parseFloat(e.value.toString())}catch(t){console.warn("can not convert to number")}else console.warn("has another baseType ".concat(e.baseType));return t},1)}}]);return e}(oa);customElements.define("qti-product",uO);var uL=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){return this.calculateChildren(Array.from(this.children))}}]);return e}(n$(oa));customElements.define("qti-subtract",uL);var uN=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.caseSensitive="true";return t}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];if(e.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(e.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti string-match"),!1;var r=this.caseSensitive==="true"?e.value:e.value.toLowerCase(),o=this.caseSensitive==="true"?n.value:n.value.toLowerCase();return oh.compareSingleValues(r,o,e.baseType)}return console.error("unexpected number of children in qti-string-match"),null}}]);return e}(oa);nJ([n({type:String,attribute:"case-sensitive"})],uN.prototype,"caseSensitive",2);customElements.define("qti-string-match",uN);var uU=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e),t._expression=new uD(Array.from(t.children));return t}d(e,[{key:"getResult",value:function t(){return this._expression.calculate()}}]);return e}(oa),uD=/*#__PURE__*/function(){"use strict";function t(e){l(this,t);this.expressions=e}d(t,[{key:"calculate",value:function t(){return this.expressions.filter(function(t){return t.calculate!==void 0}).some(function(t){return t.calculate()===null})?null:this.expressions.map(function(t){var e=t.calculate();return Number.isNaN(e)?(console.error("unexpected value in qti-sum, expected number"),null):Number(e)}).reduce(function(t,e){return t+e},0)}}]);return t}();customElements.define("qti-sum",uU);var uV=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getAttribute("identifier");return this.context.variables.find(function(e){return e.identifier===t}).value}}]);return e}(oa);customElements.define("qti-variable",uV);var u$=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);var t;t=s(this,e,arguments);t.min=0;t.max=10;t.step=1;return t}d(e,[{key:"getResult",value:function t(){if(this.min>this.max)return console.error("qti-random-integer: min cannot be greater than max"),this.min;if(this.step<=0)return console.error("qti-random-integer: step must be positive"),this.min;var t=[],e=0;for(;;){var n=this.min+this.step*e;if(n>this.max)break;Number.isInteger(n)&&t.push(n),e++}if(t.length===0)return console.warn("qti-random-integer: no valid integer values in range"),Number.isInteger(this.min)?this.min:Math.floor(this.min);var r=Math.floor(Math.random()*t.length);return t[r]}},{key:"getPossibleValues",value:function t(){var t=[];if(this.min>this.max||this.step<=0)return[Number.isInteger(this.min)?this.min:Math.floor(this.min)];var e=0;for(;;){var n=this.min+this.step*e;if(n>this.max)break;Number.isInteger(n)&&t.push(n),e++}return t.length>0?t:[Number.isInteger(this.min)?this.min:Math.floor(this.min)]}}]);return e}(oa);nJ([n({type:Number})],u$.prototype,"min",2),nJ([n({type:Number})],u$.prototype,"max",2),nJ([n({type:Number})],u$.prototype,"step",2);customElements.define("qti-random-integer",u$);var uz=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){var t=this.getVariables();if(t.length===1){var e=t[0].value;if(Array.isArray(e)){var n=Math.floor(Math.random()*e.length);return e[n]}return e}return console.error("unexpected number of children in match"),null}}]);return e}(oa);customElements.define("qti-random",uz);var uj=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(this.children.length===2){var t=this.getVariables(),e=t[0],n=t[1];return e.cardinality!=="single"||!Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),null):t[0].baseType!==t[1].baseType?(console.error("The baseType of the two variables is different"),null):n.value.filter(function(t){return!e.value.includes(t)})}return null}}]);return e}(oa);customElements.define("qti-delete",uj);var uF=/*#__PURE__*/function(t){"use strict";v(e,t);function e(){l(this,e);return s(this,e,arguments)}d(e,[{key:"getResult",value:function t(){if(!this.n)return console.error('qti-index: missing required attribute "n"'),null;if(this.children.length!==1)return console.error("qti-index: must have exactly one child container element"),null;var t=this.getVariables()[0];if(!t)return console.error("qti-index: missing container"),null;var e;if(!isNaN(Number(this.n)))e=Number(this.n);else{var n=this.lookupVariableValue(this.n);if(n===null)return console.error('qti-index: variable "'.concat(this.n,'" is not a valid number')),null;e=Number(n)}if(e<=0||!Number.isInteger(e))return console.error("qti-index: index must be a positive integer"),null;if(t.cardinality==="ordered"){var r=Array.isArray(t.value)?t.value:[t.value];return t.value===null||e>r.length?null:r[e-1]}else return console.error("qti-index: child must have ordered cardinality"),null}},{key:"lookupVariableValue",value:function t(t){var e;var n=(e=this.context.variables.find(function(e){return e.identifier===t}))===null||e===void 0?void 0:e.value;return n===null||isNaN(Number(n))?null:Number(n)}}]);return e}(oa);nJ([n({type:String})],uF.prototype,"n",2),uF=nJ([iz("qti-index")],uF);return nX(n3)}();