@citolab/qti-components 7.3.7 → 7.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/cdn/chunks/chunk-3BEVQM67.js +1 -0
  2. package/cdn/chunks/chunk-3HBM5P77.js +10 -0
  3. package/cdn/chunks/chunk-3NI5EZGT.js +1 -0
  4. package/cdn/chunks/chunk-3ZXHWV4A.js +1 -0
  5. package/cdn/chunks/chunk-45WBUWKJ.js +1464 -0
  6. package/cdn/chunks/chunk-5HB6NHET.js +10 -0
  7. package/cdn/chunks/chunk-7ZQLABN5.js +1 -0
  8. package/cdn/chunks/chunk-AYTGWUAR.js +5 -0
  9. package/cdn/chunks/chunk-BWNOR2ZO.js +5 -0
  10. package/cdn/chunks/chunk-C6FDJRQY.js +1 -0
  11. package/cdn/chunks/chunk-CKTJQ6KH.js +6 -0
  12. package/cdn/chunks/chunk-CN7W6GOC.js +1464 -0
  13. package/cdn/chunks/chunk-CVWDNTZ4.js +1 -0
  14. package/cdn/chunks/chunk-E5PYXB7J.js +8 -0
  15. package/cdn/chunks/chunk-EDCTRKNL.js +8 -0
  16. package/cdn/chunks/chunk-GQYC5YRR.js +5 -0
  17. package/cdn/chunks/chunk-GTIYG2IF.js +1 -0
  18. package/cdn/chunks/chunk-I2XQ2PK2.js +5 -0
  19. package/cdn/chunks/chunk-IQAPAISV.js +1464 -0
  20. package/cdn/chunks/chunk-JNQBMIVC.js +1 -0
  21. package/cdn/chunks/chunk-JTQD7GG4.js +2 -0
  22. package/cdn/chunks/chunk-KEN5E6SJ.js +48 -0
  23. package/cdn/chunks/chunk-KQIKEZGX.js +1464 -0
  24. package/cdn/chunks/chunk-MQHEPZOS.js +8 -0
  25. package/cdn/chunks/chunk-NUAZT6SC.js +5 -0
  26. package/cdn/chunks/chunk-O7CJ4U75.js +1464 -0
  27. package/cdn/chunks/chunk-OJCLBKDS.js +8 -0
  28. package/cdn/chunks/chunk-POPZFSZF.js +1464 -0
  29. package/cdn/chunks/chunk-R6EQLIKS.js +8 -0
  30. package/cdn/chunks/chunk-RGC42PCV.js +5 -0
  31. package/cdn/chunks/chunk-RN4632JX.js +1 -0
  32. package/cdn/chunks/chunk-UAT6Z2UZ.js +5 -0
  33. package/cdn/chunks/chunk-VII6VQT3.js +5 -0
  34. package/cdn/chunks/chunk-XCHINPXS.js +5 -0
  35. package/cdn/chunks/chunk-XK6X5AFS.js +1464 -0
  36. package/cdn/chunks/chunk-XPQTMSAT.js +1 -0
  37. package/cdn/chunks/chunk-XTYGD5NO.js +48 -0
  38. package/cdn/chunks/chunk-ZDCQL2NF.js +5 -0
  39. package/cdn/chunks/chunk-ZX4E556R.js +8 -0
  40. package/cdn/exports/interaction.js +1 -1
  41. package/cdn/exports/qti-condition-expression.js +1 -1
  42. package/cdn/exports/qti-expression.js +1 -1
  43. package/cdn/index.global.js +1 -1
  44. package/cdn/index.js +1 -1
  45. package/cdn/qti-components/index.js +1 -1
  46. package/cdn/qti-item/components/item-container.js +1 -1
  47. package/cdn/qti-item/components/item-show-correct-response.js +1 -1
  48. package/cdn/qti-item/components/print-item-variables.js +1 -1
  49. package/cdn/qti-item/core/index.js +1 -1
  50. package/cdn/qti-test/components/index.js +1 -1
  51. package/cdn/qti-test/components/test-container.js +1 -1
  52. package/cdn/qti-test/components/test-navigation.js +1 -1
  53. package/cdn/qti-test/components/test-next.js +1 -1
  54. package/cdn/qti-test/components/test-paging-buttons-stamp.js +1 -1
  55. package/cdn/qti-test/components/test-prev.js +1 -1
  56. package/cdn/qti-test/components/test-print-context.js +1 -1
  57. package/cdn/qti-test/components/test-print-item-variables.js +1 -1
  58. package/cdn/qti-test/components/test-scoring-buttons.js +1 -1
  59. package/cdn/qti-test/components/test-scoring-feedback.js +1 -1
  60. package/cdn/qti-test/components/test-section-buttons-stamp.js +1 -1
  61. package/cdn/qti-test/components/test-show-correct-response.js +1 -1
  62. package/cdn/qti-test/components/test-stamp.js +1 -1
  63. package/cdn/qti-test/components/test-view-toggle.js +1 -1
  64. package/cdn/qti-test/components/test-view.js +1 -1
  65. package/cdn/qti-test/core/index.js +1 -1
  66. package/dist/chunks/chunk-4LANPT4E.js +92 -0
  67. package/dist/chunks/chunk-4LANPT4E.js.map +1 -0
  68. package/dist/chunks/chunk-ES3I66SM.js +7960 -0
  69. package/dist/chunks/chunk-ES3I66SM.js.map +1 -0
  70. package/dist/chunks/chunk-JCD6FX42.js +887 -0
  71. package/dist/chunks/chunk-JCD6FX42.js.map +1 -0
  72. package/dist/chunks/chunk-JJOLQOBD.js +7968 -0
  73. package/dist/chunks/chunk-JJOLQOBD.js.map +1 -0
  74. package/dist/chunks/chunk-LTWSACPT.js +887 -0
  75. package/dist/chunks/chunk-LTWSACPT.js.map +1 -0
  76. package/dist/chunks/chunk-MKBNHCCA.js +887 -0
  77. package/dist/chunks/chunk-MKBNHCCA.js.map +1 -0
  78. package/dist/chunks/chunk-N4WLIMRF.js +7968 -0
  79. package/dist/chunks/chunk-N4WLIMRF.js.map +1 -0
  80. package/dist/chunks/chunk-TCKEOWDY.js +887 -0
  81. package/dist/chunks/chunk-TCKEOWDY.js.map +1 -0
  82. package/dist/chunks/chunk-VTFEJLBG.js +7968 -0
  83. package/dist/chunks/chunk-VTFEJLBG.js.map +1 -0
  84. package/dist/exports/computed-item.context.d.ts +1 -1
  85. package/dist/exports/computed.context.d.ts +2 -2
  86. package/dist/exports/interaction.d.ts +1 -1
  87. package/dist/exports/interaction.js +1 -1
  88. package/dist/exports/item.context.d.ts +1 -1
  89. package/dist/exports/qti-assessment-item.context.d.ts +1 -1
  90. package/dist/exports/qti-condition-expression.d.ts +1 -1
  91. package/dist/exports/qti-expression.d.ts +1 -1
  92. package/dist/exports/session.context.d.ts +2 -2
  93. package/dist/exports/test.context.d.ts +1 -1
  94. package/dist/exports/variables.d.ts +1 -1
  95. package/dist/index.d.ts +2 -2
  96. package/dist/index.js +18 -18
  97. package/dist/qti-components/index.d.ts +2 -2
  98. package/dist/qti-components/index.js +2 -2
  99. package/dist/qti-components-jsx.d.ts +2 -2
  100. package/dist/qti-item/components/item-show-correct-response.d.ts +1 -1
  101. package/dist/qti-item/components/print-item-variables.d.ts +1 -1
  102. package/dist/qti-item/core/index.d.ts +1 -1
  103. package/dist/qti-loader/index.d.ts +1 -1
  104. package/dist/qti-response-declaration-C43F4MzH.d.ts +1358 -0
  105. package/dist/qti-test/components/index.d.ts +2 -2
  106. package/dist/qti-test/components/index.js +8 -8
  107. package/dist/qti-test/components/test-navigation.d.ts +2 -2
  108. package/dist/qti-test/components/test-next.d.ts +2 -2
  109. package/dist/qti-test/components/test-prev.d.ts +2 -2
  110. package/dist/qti-test/components/test-print-context.d.ts +2 -2
  111. package/dist/qti-test/components/test-print-item-variables.d.ts +2 -2
  112. package/dist/qti-test/components/test-scoring-buttons.d.ts +2 -2
  113. package/dist/qti-test/components/test-scoring-feedback.d.ts +2 -2
  114. package/dist/qti-test/components/test-show-correct-response.d.ts +2 -2
  115. package/dist/qti-test/core/index.d.ts +3 -3
  116. package/dist/qti-test/core/index.js +3 -3
  117. package/dist/qti-test-feedback-B4R9lYWU.d.ts +85 -0
  118. package/dist/vscode.html-custom-data.json +1 -1
  119. package/package.json +1 -1
@@ -1 +1 @@
1
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function i(e,t,n,r,i,o,a){try{var s=e[o](a);var l=s.value}catch(e){n(e);return}if(s.done){t(l)}else{Promise.resolve(l).then(r,i)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){i(a,r,o,s,l,"next",e)}function l(e){i(a,r,o,s,l,"throw",e)}s(undefined)})}}function a(e,t,n){t=f(t);return x(e,$()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function l(e,t,n){if($()){l=Reflect.construct}else{l=function e(e,t,n){var r=[null];r.push.apply(r,t);var i=Function.bind.apply(e,r);var o=new i;if(n)S(o,n.prototype);return o}}return l.apply(null,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function d(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function h(e,t,n){if(typeof Reflect!=="undefined"&&Reflect.get){h=Reflect.get}else{h=function e(e,t,n){var r=R(e,t);if(!r)return;var i=Object.getOwnPropertyDescriptor(r,t);if(i.get){return i.get.call(n||e)}return i.value}}return h(e,t,n||e)}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function p(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function v(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function y(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function m(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var o=false;var a,s;try{for(n=n.call(e);!(i=(a=n.next()).done);i=true){r.push(a.value);if(t&&r.length===t)break}}catch(e){o=true;s=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(o)throw s}}return r}function b(){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 _(){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(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){d(e,t,n[t])})}return e}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function E(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{w(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function x(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function q(e,t,n,r){if(typeof Reflect!=="undefined"&&Reflect.set){q=Reflect.set}else{q=function e(e,t,n,r){var i=R(e,t);var o;if(i){o=Object.getOwnPropertyDescriptor(i,t);if(o.set){o.set.call(r,n);return true}else if(!o.writable){return false}}o=Object.getOwnPropertyDescriptor(r,t);if(o){if(!o.writable){return false}o.value=n;Object.defineProperty(r,t,o)}else{d(r,t,n)}return true}}return q(e,t,n,r)}function A(e,t,n,r,i){var o=q(e,t,n,r||e);if(!o&&i){throw new Error("failed to set property")}return n}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function C(e,n){return t(e)||g(e,n)||O(e,n)||b()}function R(e,t){while(!Object.prototype.hasOwnProperty.call(e,t)){e=f(e);if(e===null)break}return e}function P(e,t){if(!t){t=e.slice(0)}return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function I(e){return t(e)||m(e)||O(e)||b()}function M(e){return n(e)||m(e)||O(e)||_()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function O(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.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 e(t,n)}function U(e){var t=typeof Map==="function"?new Map:undefined;U=function e(e){if(e===null||!y(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return l(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return S(n,e)};return U(e)}function $(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return($=function(){return!!e})()}function L(e,t){var n,r,i,o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=s(0),a["throw"]=s(1),a["return"]=s(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(s){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(o=0)),o)try{if(n=1,r&&(i=s[0]&2?r["return"]:s[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;if(r=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:o.label++;return{value:s[1],done:false};case 5:o.label++;r=s[1];s=[0];continue;case 7:s=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(s[0]===6&&o.label<i[1]){o.label=i[1];i=s;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(s);break}if(i[2])o.ops.pop();o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e];r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}function N(){var e=P(["<slot></slot>"]);N=function t(){return e};return e}function D(){var e=P(["<slot></slot>"]);D=function t(){return e};return e}function V(){var e=P(['<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>']);V=function t(){return e};return e}function j(){var e=P(["<slot @slotchange=","></slot>"]);j=function t(){return e};return e}function H(){var e=P([' <slot part="feedback" class="feedback ','"></slot> ']);H=function t(){return e};return e}function z(){var e=P(["\n :host {\n display: block;\n }\n .on {\n display: block;\n }\n .off {\n display: none;\n }\n "]);z=function t(){return e};return e}function Q(){var e=P([' <slot part="feedback" class="','"></slot> ']);Q=function t(){return e};return e}function F(){var e=P(["\n .on {\n display: inline-block;\n }\n .off {\n display: none;\n }\n "]);F=function t(){return e};return e}function B(){var e=P(['\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 ']);B=function t(){return e};return e}function W(){var e=P(["\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 "]);W=function t(){return e};return e}function J(){var e=P([' <slot name="drags"></slot> ']);J=function t(){return e};return e}function G(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);G=function t(){return e};return e}function X(){var e=P(["\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 :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"]);X=function t(){return e};return e}function Y(){var e=P(['<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>']);Y=function t(){return e};return e}function K(){var e=P([' <slot name="prompt"></slot>\n <slot name="qti-simple-associable-choice"></slot>\n <div part="drop-container">\n ','\n\n <div role="alert" id="validationMessage"></div>\n </div>']);K=function t(){return e};return e}function Z(){var e=P(["\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: nowrap;\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"]);Z=function t(){return e};return e}function ee(){var e=P(['\n <slot part="prompt" name="prompt"></slot><slot part="slot" @slotchange=','></slot>\n <div part="message" role="alert" id="validationMessage"></div>\n ']);ee=function t(){return e};return e}function et(){var e=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);et=function t(){return e};return e}function en(){var e=P(["<iframe\n width=","\n height=",'\n frameborder="0"\n title="pciContainer"\n id="pciContainer"\n >\n </iframe>\n ',""]);en=function t(){return e};return e}function er(){var e=P(["<button ?disabled=",' part="button" @click=',">","</button>"]);er=function t(){return e};return e}function ei(){var e=P(["\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"]);ei=function t(){return e};return e}function eo(){var e=P(['<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>"]);eo=function t(){return e};return e}function ea(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);ea=function t(){return e};return e}function es(){var e=P(["\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"]);es=function t(){return e};return e}function el(){var e=P(['<slot name="prompt"> </slot>\n <slot part="drags" name="drags"></slot>\n <slot part="drops"></slot>\n <div role="alert" id="validationMessage"></div>']);el=function t(){return e};return e}function eu(){var e=P(["<slot></slot>"]);eu=function t(){return e};return e}function ec(){var e=P(["\n :host {\n display: inline-flex;\n user-select: none;\n }\n "]);ec=function t(){return e};return e}function ed(){var e=P([' <slot name="drags"></slot>']);ed=function t(){return e};return e}function eh(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);eh=function t(){return e};return e}function ef(){var e=P(["\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"]);ef=function t(){return e};return e}function ep(){var e=P(['\n <line\n part="line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="red"\n stroke-width="3"\n @click=',"\n />\n "]);ep=function t(){return e};return e}function ev(){var e=P(['\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 ']);ev=function t(){return e};return e}function ey(){var e=P(['<line\n part="point"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-border-active)"\n stroke-width="3"\n />']);ey=function t(){return e};return e}function em(){var e=P(['<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" id="validationMessage"></div>']);em=function t(){return e};return e}function eg(){var e=P(["\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"]);eg=function t(){return e};return e}function eb(){var e=P([' <slot name="prompt"></slot>\n <slot part="image"></slot>\n <slot part="drags" name="drags" class="hover-border"></slot>\n <div role="alert" id="validationMessage"></div>']);eb=function t(){return e};return e}function e_(){var e=P(["\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"]);e_=function t(){return e};return e}function ek(){var e=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n <div role="alert" id="validationMessage"></div>\n ']);ek=function t(){return e};return e}function ew(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);ew=function t(){return e};return e}function eE(){var e=P(["\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 /* width:100%; */\n }\n"]);eE=function t(){return e};return e}function ex(){var e=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n ']);ex=function t(){return e};return e}function eq(){var e=P(["<slot></slot>"]);eq=function t(){return e};return e}function eA(){var e=P(['<div part="ch"><div part="cha"></div></div>\n <slot></slot> ']);eA=function t(){return e};return e}function eS(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);eS=function t(){return e};return e}function eC(){var e=P(["\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 "]);eC=function t(){return e};return e}function eR(){var e=P(['\n <option value="','" ?selected="','">',"</option>\n "]);eR=function t(){return e};return e}function eP(){var e=P(['\n <select part="select" @change="','" ?disabled="','" ?readonly="','">\n ',"\n </select>\n\n ","\n "]);eP=function t(){return e};return e}function eI(){var e=P(["\n :host {\n display: block;\n cursor: pointer;\n }\n "]);eI=function t(){return e};return e}function eM(){var e=P([" <slot></slot> "]);eM=function t(){return e};return e}function eT(){var e=P(['\n <slot part="slot"></slot>\n <slot part="dropslot" name="qti-simple-associable-choice"></slot>\n ']);eT=function t(){return e};return e}function eO(){var e=P(["\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: 100%; */\n }\n "]);eO=function t(){return e};return e}function eU(){var e=P(["\n slot:not([hidden]) {\n /* slot where the */\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n align-items: flex-start; /* prevents the drag and drop container slots having the same height */\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"]);eU=function t(){return e};return e}function e$(){var e=P(['<th part="r-header">',"</th>"]);e$=function t(){return e};return e}function eL(){var e=P(['\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 ']);eL=function t(){return e};return e}function eN(){var e=P(['<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>"]);eN=function t(){return e};return e}function eD(){var e=P(['<tr part="row">\n <td part="c-header">',"</td>\n ","\n </tr>"]);eD=function t(){return e};return e}function eV(){var e=P(['\n <table part="table">\n <tr part="r-header">\n <td></td>\n ',"\n </tr>\n\n ","\n </table>\n "]);eV=function t(){return e};return e}function ej(){var e=P(['\n <slot name="prompt"></slot>\n <slot ?hidden=',"></slot>\n\n ",'\n\n <div role="alert" id="validationMessage"></div>\n ']);ej=function t(){return e};return e}function eH(){var e=P([' <slot name="prompt"></slot>\n <slot></slot>']);eH=function t(){return e};return e}function ez(){var e=P([""]);ez=function t(){return e};return e}function eQ(){var e=P(["\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='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"]);eQ=function t(){return e};return e}function eF(){var e=P(['<drop-list role="region" part="drop-list" identifier="droplist','"></drop-list>']);eF=function t(){return e};return e}function eB(){var e=P([' <slot name="prompt"> </slot>\n <div part="container">\n <slot part="drags"> </slot>\n <div part="drops">\n ',"\n </div>\n </div>"]);eB=function t(){return e};return e}function eW(){var e=P(["\n ::slotted(qti-interaction-markup) {\n display: none;\n }\n"]);eW=function t(){return e};return e}function eJ(){var e=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);eJ=function t(){return e};return e}function eG(){var e=P(["\n <slot></slot>\n ","\n "]);eG=function t(){return e};return e}function eX(){var e=P(["\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 "]);eX=function t(){return e};return e}function eY(){var e=P(["<slot></slot>"]);eY=function t(){return e};return e}function eK(){var e=P(["\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 "]);eK=function t(){return e};return e}function eZ(){var e=P(["<slot></slot>"]);eZ=function t(){return e};return e}function e0(){var e=P(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);e0=function t(){return e};return e}function e1(){var e=P(['\n <button\n part="point"\n style=','\n aria-label="Remove point at ','"\n @click=',"\n ></button>\n "]);e1=function t(){return e};return e}function e2(){var e=P(["<div\n style=",'\n data-coord="','"\n alt=','\n data-shape="','"\n ></div>']);e2=function t(){return e};return e}function e3(){var e=P([' <slot name="prompt"></slot>\n <point-container>\n ',"\n ","\n <slot></slot>\n </point-container>"]);e3=function t(){return e};return e}function e5(){var e=P(["\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 "]);e5=function t(){return e};return e}function e4(){var e=P(['<div id="label">',"</div>"]);e4=function t(){return e};return e}function e6(){var e=P(['<div part="ch">\n <div part="cha"></div>\n </div>\n ','\n <slot part="slot"></slot>']);e6=function t(){return e};return e}function e9(){var e=P(["\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 "]);e9=function t(){return e};return e}function e7(){var e=P(["\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"]);e7=function t(){return e};return e}function e8(){var e=P(['\n <div id="knob-correct" part="knob-correct">\n <div id="value" part="value">',"</div>\n </div>\n "]);e8=function t(){return e};return e}function te(){var e=P(['\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 "]);te=function t(){return e};return e}function tt(){var e=P(["\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"]);tt=function t(){return e};return e}function tn(){var e=P(['<div part="correct">',"</div>"]);tn=function t(){return e};return e}function tr(){var e=P(['\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 "]);tr=function t(){return e};return e}function ti(){var e=P(['\n <div>\n <slot name="prompt"></slot>\n <input type="file" @change="','" ?disabled="','" ?readonly="','" />\n </div>\n ']);ti=function t(){return e};return e}function to(){var e=P(["\n :host {\n display: block;\n margin: 1em 0;\n }\n input[type='file'] {\n display: block;\n margin-top: 0.5em;\n }\n "]);to=function t(){return e};return e}function ta(){var e=P(["\n :host {\n display: block;\n }\n"]);ta=function t(){return e};return e}function ts(){var e=P(['<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>']);ts=function t(){return e};return e}function tl(){var e=P(["<slot></slot>"]);tl=function t(){return e};return e}function tu(){var e=P(["\n :host {\n display: none;\n }\n "]);tu=function t(){return e};return e}function tc(){var e=P(["<slot></slot>"]);tc=function t(){return e};return e}function td(){var e=P(["<slot></slot>"]);td=function t(){return e};return e}function th(){var e=P(["\n :host {\n display: none;\n }\n "]);th=function t(){return e};return e}function tf(){var e=P(["<slot></slot>"]);tf=function t(){return e};return e}function tp(){var e=P(["<slot></slot>"]);tp=function t(){return e};return e}function tv(){var e=P(["<slot></slot>"]);tv=function t(){return e};return e}function ty(){var e=P(["",""]);ty=function t(){return e};return e}function tm(){var e=P(["<pre>","</pre>\n <slot></slot>"]);tm=function t(){return e};return e}function tg(){var e=P(["\n slot {\n display: none;\n }\n "]);tg=function t(){return e};return e}function tb(){var e=P(["<pre>","</pre>\n <slot></slot>"]);tb=function t(){return e};return e}function t_(){var e=P(["\n slot {\n display: none;\n }\n "]);t_=function t(){return e};return e}function tk(){var e=P(["",""]);tk=function t(){return e};return e}function tw(){var e=P(["",""]);tw=function t(){return e};return e}function tE(){var e=P(["<slot></slot>"]);tE=function t(){return e};return e}function tx(){var e=P(["<slot></slot>"]);tx=function t(){return e};return e}function tq(){var e=P(["\n :host {\n display: block;\n }\n "]);tq=function t(){return e};return e}function tA(){var e=P(["<slot></slot>"]);tA=function t(){return e};return e}function tS(){var e=P(["",""]);tS=function t(){return e};return e}function tC(){var e=P(["\n :host {\n display: none;\n }\n "]);tC=function t(){return e};return e}function tR(){var e=P(["",""]);tR=function t(){return e};return e}function tP(){var e=P(["\n :host {\n display: none;\n }\n "]);tP=function t(){return e};return e}var QtiComponents=function(){var e=function e(e){var t=e.context;return function(e,n){var r=new WeakMap;if((typeof n==="undefined"?"undefined":T(n))=="object")return{get:function t(){return e.get.call(this)},set:function t(t){return r.get(this).setValue(t),e.set.call(this,t)},init:function e(e){return r.set(this,new tK(this,{context:t,initialValue:e})),e}};{e.constructor.addInitializer(function(e){r.set(e,new tK(e,{context:t}))});var i=Object.getOwnPropertyDescriptor(e,n),o;if(i===void 0){var a=new WeakMap;o={get:function e(){return a.get(this)},set:function e(e){r.get(this).setValue(e),a.set(this,e)},configurable:!0,enumerable:!0}}else{var s=i.set;o=E(k({},i),{set:function e(e){r.get(this).setValue(e),s===null||s===void 0?void 0:s.call(this,e)}})}return void Object.defineProperty(e,n,o)}}};var t=function e(e){var t=e.context,n=e.subscribe;return function(e,r){(typeof r==="undefined"?"undefined":T(r))=="object"?r.addInitializer(function(){var r=this;new tG(this,{context:t,callback:function(t){e.set.call(r,t)},subscribe:n})}):e.constructor.addInitializer(function(e){new tG(e,{context:t,callback:function(t){e[r]=t},subscribe:n})})}};var n=function e(e,t){if(!n7(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return n0!==void 0?n0.createHTML(t):t};var r=function e(e){return function(t,n){return(typeof n==="undefined"?"undefined":T(n))=="object"?r$(e,t,n):function(e,t,n){var r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0}(e,t,n)}};var i=function e(e){return r(E(k({},e),{state:!0,attribute:!1}))};var l=function e(e,t){return function(n,r,i){var o=function(t){var n;var r;return(r=(n=t.renderRoot)===null||n===void 0?void 0:n.querySelector(e))!==null&&r!==void 0?r:null};if(t){var a=(typeof r==="undefined"?"undefined":T(r))=="object"?n:i!==null&&i!==void 0?i:function(){var e=Symbol();return{get:function t(){return this[e]},set:function t(t){this[e]=t}}}(),s=a.get,l=a.set;return rL(n,r,{get:function e(){var e=s.call(this);return e===void 0&&(e=o(this),(e!==null||this.hasUpdated)&&l.call(this,e)),e}})}return rL(n,r,{get:function e(){return o(this)}})}};var u=function e(e){return function(t,n){var r=e!==null&&e!==void 0?e:{},i=r.slot,o=r.selector,a="slot"+(i?"[name=".concat(i,"]"):":not([name])");return rL(t,n,{get:function t(){var t;var n;var r=(t=this.renderRoot)===null||t===void 0?void 0:t.querySelector(a),i=(n=r===null||r===void 0?void 0:r.assignedElements(e))!==null&&n!==void 0?n:[];return o===void 0?i:i.filter(function(e){return e.matches(o)})}})}};var y=function e(e,t){var n=k({waitUntilFirstUpdate:!1},t);return function(t,r){var i=t.update,o=Array.isArray(e)?e:[e];t.update=function(e){var t=this;o.forEach(function(i){var o=i;if(e.has(o)){var a=e.get(o),s=t[o];a!==s&&(!n.waitUntilFirstUpdate||t.hasUpdated)&&t[r](a,s)}}),i.call(this,e)}}};var m=function e(e,t,n){e.querySelectorAll(t).forEach(function(e){var r="".concat(t,"-").concat(n),i=b(e,r);e.replaceWith(i)})};var g=function e(e,t){e.querySelectorAll("*").forEach(function(e){var n=e.classList;n&&n.forEach(function(n){if(n.startsWith("".concat(t,":"))){var r=n.slice("".concat(t,":").length),i="".concat(e.nodeName,"-").concat(r),o=b(e,i);e.replaceWith(o)}})})};var b=function e(e,t){var n=document.createElement(t);var r=true,i=false,o=undefined;try{for(var a=e.attributes[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;n.setAttribute(l.name,l.value)}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}for(;e.firstChild;)n.appendChild(e.firstChild);return n};var _=function e(e){var t=new XMLHttpRequest;return{promise:new Promise(function(n,r){t.open("GET",e,!0),t.responseType="document",t.onload=function(){t.status>=200&&t.status<300?n(t.responseXML):r(t.statusText)},t.onerror=function(){r(t.statusText)},t.send()}),xhr:t}};var w=function e(e){return new DOMParser().parseFromString(e,"text/xml")};var x=function e(e){var t=new XSLTProcessor,n=new DOMParser().parseFromString(rH,"text/xml");return t.importStylesheet(n),t.transformToFragment(e,document)};var q=function e(e,t){t.endsWith("/")||(t+="/"),e.querySelectorAll("[src],[href],[primary-path]").forEach(function(e){var n;var r="";e.getAttribute("src")&&(r="src"),e.getAttribute("href")&&(r="href"),e.getAttribute("primary-path")&&(r="primary-path");var i=(n=e.getAttribute(r))===null||n===void 0?void 0:n.trim();if(!i.startsWith("data:")&&!i.startsWith("http:")&&!i.startsWith("blob:")){var o=t+encodeURI(i);e.setAttribute(r,o)}})};var S=function e(e){e.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(e){var t=document.createComment(e.textContent);e.replaceChild(t,e.firstChild)})};var R=function e(e){e.querySelectorAll("qti-stylesheet").forEach(function(e){return e.remove()})};var P=function e(e){switch(e){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:}};var O=function e(e){return e==null};var $=function e(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")};var tI=function e(e,t){var n;return function(t,r){var i=t.connectedCallback,o=t.disconnectedCallback;t.connectedCallback=function(){var t=this;var o;i.call(this);var a=function(n){var i;var o=Array.from(t.querySelectorAll(e)).concat(Array.from(((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(e))||[]));var a=true,s=false,l=undefined;try{for(var u=n[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=Array.from(d.addedNodes).map(function(e){return e}),f=Array.from(d.addedNodes).map(function(e){return e});d.type==="childList"&&h.find(function(e){return o.includes(e)})&&t[r](h,f)}}catch(e){s=true;l=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}};n=new MutationObserver(a),n.observe(this,{childList:!0,subtree:!0});var s=Array.from(this.querySelectorAll(e)).concat(Array.from(((o=this.shadowRoot)===null||o===void 0?void 0:o.querySelectorAll(e))||[]));this[r](Array.from(s),[])},t.disconnectedCallback=function(){o.call(this),n.disconnect()}}};var tM=function e(e,t){var n=/*#__PURE__*/function(e){"use strict";p(n,e);function n(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}s(this,n);var i;i=a(this,n,M(t));i.identifier="";i.tabIndex=0;i.disabled=!1;i.readonly=!1;i.internals=i.attachInternals();return i}c(n,[{key:"handleDisabledChange",value:function e(e,t){this.tabIndex=t?-1:0,t&&this.blur()}},{key:"connectedCallback",value:function e(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("register-".concat(t),{bubbles:!0,composed:!0}))}},{key:"disconnectedCallback",value:function e(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("unregister-".concat(t),{bubbles:!0,composed:!0}))}},{key:"_onKeyUp",value:function e(e){e.altKey||e.code==="Space"&&(e.preventDefault(),this._activate())}},{key:"_onClick",value:function e(){this.disabled||this.readonly||(this.focus(),this._activate())}},{key:"_activate",value:function e(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent("activate-".concat(t),{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}},{key:"render",value:function e(){return ru(N())}}]);return n}(e);return tB([r({type:String})],n.prototype,"identifier",2),tB([r({type:Number,reflect:!0,attribute:"tabindex"})],n.prototype,"tabIndex",2),tB([r({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:il})],n.prototype,"disabled",2),tB([r({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:il})],n.prototype,"readonly",2),tB([y("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"handleDisabledChange",1),n};var tT=function e(e,t,n,r){var i=n.getAttribute("width")?parseFloat(n.getAttribute("width")):n.naturalWidth,o=n.getAttribute("height")?parseFloat(n.getAttribute("height")):n.naturalHeight;switch(e){case"circle":{if(t.length!==3){console.error("Invalid cirlce coordinates:",t);return}var a=C(t,3),s=a[0],l=a[1],u=a[2],c=s/i*100,d=l/o*100,h=u/i*100;r.style.left=c-h+"%",r.style.top=d-h+"%";var f=u/i*100,p=u/o*100;r.style.width=2*f+"%",r.style.height=2*p+"%",r.style.borderRadius="50%"}break;case"rect":{if(t.length!==4){console.error("Invalid rectangle coordinates:",t);return}var v=C(t,4),y=v[0],m=v[1],g=v[2],b=v[3],_=y/i*100,k=m/o*100,w=g/i*100,E=b/o*100;r.style.left=_+"%",r.style.top=k+"%",r.style.width=w-_+"%",r.style.height=E-k+"%"}break;case"ellipse":{if(t.length!==4){console.error("Invalid ellipse coordinates:",t);return}var x=C(t,4),q=x[0],A=x[1],S=x[2],R=x[3],P=q/i*100,I=A/o*100,T=S/i*100,O=R/o*100;r.style.left=P-T+"%",r.style.top=I-O+"%",r.style.width=2*T+"%",r.style.height=2*O+"%",r.style.borderRadius="50%"}break;case"poly":{var U,$,L,N;if(t.length<6||t.length%2!==0){console.error("Invalid polygon coordinates:",t);return}var D=[];for(var V=0;V<t.length;V+=2)D.push({x:t[V],y:t[V+1]});var j=(U=Math).min.apply(U,M(D.map(function(e){return e.x}))),H=($=Math).max.apply($,M(D.map(function(e){return e.x}))),z=(L=Math).min.apply(L,M(D.map(function(e){return e.y}))),Q=(N=Math).max.apply(N,M(D.map(function(e){return e.y}))),F=j/i*100,B=z/o*100,W=H/i*100,J=Q/o*100;r.style.left=F+"%",r.style.top=B+"%",r.style.width=W-F+"%",r.style.height=J-B+"%";var G=D.map(function(e){return{x:(e.x-j)/(H-j)*100,y:(e.y-z)/(Q-z)*100}}).map(function(e){return"".concat(e.x,"% ").concat(e.y,"%")}).join(",");r.style.clipPath="polygon(".concat(G,")")}break;default:console.error("Unsupported shape: ".concat(e));break}};var tO=function e(e){this._$AN!==void 0?(i4(this),this._$AM=e,i6(this)):this._$AM=e};var tU=function e(e){var t=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,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(var o=n;o<r.length;o++)i5(r[o],!1),i4(r[o]);else r!=null&&(i5(r,!1),i4(r));else i5(this,e)};var t$=function e(e){return /*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculateChildren",value:function e(e){return e.map(function(e){var t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=t.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(e){return typeof e=="boolean"&&e})}}]);return t}(e)};var tL=function e(e){return /*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculateChildren",value:function e(e){var t=e.map(function(e){if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var t=e.calculate();return Number.isNaN(t)?(console.error("Unexpected value in qti-subtract, expected number"),null):Number(t)});return t.some(function(e){return e===null})?(console.error("One or more child expressions returned invalid values"),0):t[0]-t[1]}}]);return t}(e)};var tN;var tD=Object.defineProperty;var tV=Object.getOwnPropertyDescriptor;var tj=Object.getOwnPropertyNames;var tH=Object.prototype.hasOwnProperty;var tz=function(e,t){for(var n in t)tD(e,n,{get:t[n],enumerable:!0})},tQ=function(e,t,n,r){var i=true,o=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":T(t))=="object"||typeof t=="function")try{var s=function(){var i=u.value;!tH.call(e,i)&&i!==n&&tD(e,i,{get:function(){return t[i]},enumerable:!(r=tV(t,i))||r.enumerable})};for(var l=tj(t)[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(e){o=true;a=e}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}return e};var tF=function(e){return tQ(tD({},"__esModule",{value:!0}),e)},tB=function(e,t,n,r){for(var i=r>1?void 0:r?tV(t,n):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,n,i):a(i))||i);return r&&i&&tD(t,n,i),i};var tW={};tz(tW,{QtiAnd:function(){return oq},QtiAssessmentItem:function(){return rV},QtiAssessmentStimulusRef:function(){return rQ},QtiAssociableHotspot:function(){return r0},QtiAssociateInteraction:function(){return r4},QtiBaseValue:function(){return oA},QtiChoiceInteraction:function(){return r8},QtiCompanionMaterialsInfo:function(){return rF},QtiContains:function(){return oS},QtiContentBody:function(){return o1},QtiCorrect:function(){return oC},QtiCustomInteraction:function(){return ie},QtiCustomOperator:function(){return rB},QtiDelete:function(){return o0},QtiEndAttemptInteraction:function(){return it},QtiEqual:function(){return oI},QtiEqualRounded:function(){return oR},QtiExtendedTextInteraction:function(){return ii},QtiFeedbackBlock:function(){return rX},QtiFeedbackInline:function(){return rK},QtiGap:function(){return ic},QtiGapImg:function(){return io},QtiGapMatchInteraction:function(){return is},QtiGapText:function(){return iu},QtiGraphicAssociateInteraction:function(){return iS},QtiGraphicGapMatchInteraction:function(){return iR},QtiGraphicOrderInteraction:function(){return iI},QtiGt:function(){return oM},QtiGte:function(){return oT},QtiHotspotChoice:function(){return iM},QtiHotspotInteraction:function(){return iO},QtiHottext:function(){return i$},QtiHottextInteraction:function(){return iU},QtiInlineChoice:function(){return iV},QtiInlineChoiceInteraction:function(){return iD},QtiIsNull:function(){return oO},QtiItemBody:function(){return os},QtiLookupOutcomeValue:function(){return oy},QtiLt:function(){return oU},QtiLte:function(){return o$},QtiMapResponse:function(){return oL},QtiMapResponsePoint:function(){return oD},QtiMatch:function(){return oV},QtiMatchInteraction:function(){return iz},QtiMediaInteraction:function(){return iQ},QtiMember:function(){return oj},QtiModalFeedback:function(){return rZ},QtiMultiple:function(){return oH},QtiNot:function(){return oz},QtiOr:function(){return oQ},QtiOrderInteraction:function(){return iB},QtiOrdered:function(){return oF},QtiOutcomeDeclaration:function(){return o4},QtiOutcomeProcessing:function(){return ol},QtiOutcomeProcessingProcessor:function(){return ou},QtiPortableCustomInteraction:function(){return iJ},QtiPositionObjectInteraction:function(){return iG},QtiPositionObjectStage:function(){return iX},QtiPrintedVariable:function(){return oB},QtiProduct:function(){return oW},QtiPrompt:function(){return oc},QtiRandom:function(){return oZ},QtiResponseCondition:function(){return om},QtiResponseDeclaration:function(){return o6},QtiResponseElse:function(){return o_},QtiResponseElseIf:function(){return ow},QtiResponseIf:function(){return ok},QtiResponseProcessing:function(){return op},QtiRubricBlock:function(){return o2},QtiRule:function(){return ov},QtiSelectPointInteraction:function(){return i0},QtiSetOutcomeValue:function(){return og},QtiSetOutcomeValueRule:function(){return ob},QtiSimpleAssociableChoice:function(){return ij},QtiSimpleChoice:function(){return i1},QtiSliderInteraction:function(){return i3},QtiStringMatch:function(){return oG},QtiStylesheet:function(){return o3},QtiSubtract:function(){return oJ},QtiSum:function(){return oX},QtiSumExpression:function(){return oY},QtiTextEntryInteraction:function(){return oi},QtiUploadInteraction:function(){return oo},QtiVariable:function(){return oK},qtiAndMixin:function(){return t$},qtiSubtractMixin:function(){return tL}});var tJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r,i){s(this,t);var o;o=a(this,t,["context-request",{bubbles:!0,composed:!0}]),o.context=e,o.contextTarget=n,o.callback=r,o.subscribe=i!==null&&i!==void 0?i:!1;return o}return t}(U(Event));var tG=/*#__PURE__*/function(){"use strict";function e(t,n,r,i){var o=this;s(this,e);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(e,t){o.unsubscribe&&(o.unsubscribe!==t&&(o.provided=!1,o.unsubscribe()),o.subscribe||o.unsubscribe()),o.value=e,o.host.requestUpdate(),o.provided&&!o.subscribe||(o.provided=!0,o.callback&&o.callback(e,t)),o.unsubscribe=t},this.host=t,n.context!==void 0){var a=n;var l;this.context=a.context,this.callback=a.callback,this.subscribe=(l=a.subscribe)!==null&&l!==void 0?l:!1}else this.context=n,this.callback=r,this.subscribe=i!==null&&i!==void 0?i:!1;this.host.addController(this)}c(e,[{key:"hostConnected",value:function e(){this.dispatchRequest()}},{key:"hostDisconnected",value:function e(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function e(){this.host.dispatchEvent(new tJ(this.context,this.host,this.t,this.subscribe))}}]);return e}();var tX=/*#__PURE__*/function(){"use strict";function e(t){var n=this;s(this,e);this.subscriptions=new Map,this.updateObservers=function(){var e=true,t=false,r=undefined;try{for(var i=n.subscriptions[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=C(o.value,2),s=a[0],l=a[1],u=l.disposer;s(n.o,u)}}catch(e){t=true;r=e}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(t){throw r}}}},t!==void 0&&(this.value=t)}c(e,[{key:"value",get:function e(){return this.o},set:function e(e){this.setValue(e)}},{key:"setValue",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}},{key:"addCallback",value:function e(e,t,n){var r=this;if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:function(){r.subscriptions.delete(e)},consumerHost:t});var i=this.subscriptions.get(e),o=i.disposer;e(this.value,o)}},{key:"clearCallbacks",value:function e(){this.subscriptions.clear()}}]);return e}();var tY=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n){s(this,t);var r;r=a(this,t,["context-provider",{bubbles:!0,composed:!0}]),r.context=e,r.contextTarget=n;return r}return t}(U(Event)),tK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r){s(this,t);var i;var o,l;i=a(this,t,[n.context!==void 0?n.initialValue:r]),i.onContextRequest=function(e){if(e.context!==i.context)return;var t;var n=(t=e.contextTarget)!==null&&t!==void 0?t:e.composedPath()[0];n!==i.host&&(e.stopPropagation(),i.addCallback(e.callback,n,e.subscribe))},i.onProviderRequest=function(e){var t;if(e.context!==i.context||((t=e.contextTarget)!==null&&t!==void 0?t:e.composedPath()[0])===i.host)return;var n=new Set;var r=true,o=false,a=undefined;try{for(var s=i.subscriptions[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=C(l.value,2),c=u[0],d=u[1],h=d.consumerHost;n.has(c)||(n.add(c),h.dispatchEvent(new tJ(i.context,h,c,!0)))}}catch(e){o=true;a=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}e.stopPropagation()},i.host=e,n.context!==void 0?i.context=n.context:i.context=n,i.attachListeners(),(o=(l=i.host).addController)===null||o===void 0?void 0:o.call(l,i);return i}c(t,[{key:"attachListeners",value:function e(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function e(){this.host.dispatchEvent(new tY(this.context,this.host))}}]);return t}(tX);var tZ=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);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=t}c(e,[{key:"shadowRoot",get:function e(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function e(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function e(){return!0}},{key:"setFormValue",value:function e(){}},{key:"setValidity",value:function e(){}}]);return e}();var t0=function e(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n},t1=function e(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},t2,t3,t5,t4,t6,t9,t7,t8,ne,nt,nn,nr,ni=function(e){var t;return typeof e=="boolean"?e:(t=e===null||e===void 0?void 0:e.capture)!==null&&t!==void 0?t:!1};var no=/*#__PURE__*/function(){"use strict";function e(){s(this,e);this.__eventListeners=new Map,this.__captureEventListeners=new Map}c(e,[{key:"addEventListener",value:function e(e,t,n){var r=this;var i;if(t==null)return;var o=ni(n)?this.__captureEventListeners:this.__eventListeners,a=o.get(e);if(a===void 0)a=new Map,o.set(e,a);else if(a.has(t))return;var s=(typeof n==="undefined"?"undefined":T(n))=="object"&&n?n:{};(i=s.signal)===null||i===void 0?void 0:i.addEventListener("abort",function(){return r.removeEventListener(e,t,n)}),a.set(t,s!==null&&s!==void 0?s:{})}},{key:"removeEventListener",value:function e(e,t,n){if(t==null)return;var r=ni(n)?this.__captureEventListeners:this.__eventListeners,i=r.get(e);i!==void 0&&(i.delete(t),i.size||r.delete(e))}},{key:"dispatchEvent",value:function e(e){var t=this;var n=[this],r=this.__eventTargetParent;if(e.composed)for(;r;)n.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)n.push(r),r=r.__eventTargetParent;var i=!1,o=!1,a=0,s=null,l=null,u=null,c=e.stopPropagation,d=e.stopImmediatePropagation;Object.defineProperties(e,{target:k({get:function e(){return s!==null&&s!==void 0?s:l}},ns),srcElement:k({get:function t(){return e.target}},ns),currentTarget:k({get:function e(){return u}},ns),eventPhase:k({get:function e(){return a}},ns),composedPath:k({value:function(){return n}},ns),stopPropagation:k({value:function(){i=!0,c.call(e)}},ns),stopImmediatePropagation:k({value:function(){o=!0,d.call(e)}},ns)});var h=function(t,n,r){typeof t=="function"?t(e):typeof(t===null||t===void 0?void 0:t.handleEvent)=="function"&&t.handleEvent(e),n.once&&r.delete(t)},f=function(){return u=null,a=0,!e.defaultPrevented},p=n.slice().reverse();s=!this.__host||!e.composed?this:null;var v=function(e){for(l=t;l.__host&&e.includes(l.__host);)l=l.__host};var y=true,m=false,g=undefined;try{for(var b=p[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var w=_.value;!s&&(!l||l===w.__host)&&v(p.slice(p.indexOf(w))),u=w,a=w===e.target?2:1;var E=w.__captureEventListeners.get(e.type);if(E){var x=true,q=false,A=undefined;try{for(var S=E[Symbol.iterator](),R;!(x=(R=S.next()).done);x=true){var P=C(R.value,2),I=P[0],M=P[1];if(h(I,M,E),o)return f()}}catch(e){q=true;A=e}finally{try{if(!x&&S.return!=null){S.return()}}finally{if(q){throw A}}}}if(i)return f()}}catch(e){m=true;g=e}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}var T=e.bubbles?n:[this];l=null;var O=true,U=false,$=undefined;try{for(var L=T[Symbol.iterator](),N;!(O=(N=L.next()).done);O=true){var D=N.value;!s&&(!l||D===l.__host)&&v(T.slice(0,T.indexOf(D)+1)),u=D,a=D===e.target?2:3;var V=D.__eventListeners.get(e.type);if(V){var j=true,H=false,z=undefined;try{for(var Q=V[Symbol.iterator](),F;!(j=(F=Q.next()).done);j=true){var B=C(F.value,2),W=B[0],J=B[1];if(h(W,J,V),o)return f()}}catch(e){H=true;z=e}finally{try{if(!j&&Q.return!=null){Q.return()}}finally{if(H){throw z}}}}if(i)return f()}}catch(e){U=true;$=e}finally{try{if(!O&&L.return!=null){L.return()}}finally{if(U){throw $}}}return f()}}]);return e}(),na=no;var ns={__proto__:null};ns.enumerable=!0;Object.freeze(ns);var nl=(nt=/*#__PURE__*/function(){"use strict";function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,e);if(t2.set(this,!1),t3.set(this,!1),t5.set(this,!1),t4.set(this,!1),t6.set(this,Date.now()),t9.set(this,!1),t7.set(this,void 0),t8.set(this,void 0),ne.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":T(n))!="object"||!n)throw new Error('The "options" argument must be an object');var r=n.bubbles,i=n.cancelable,o=n.composed;t0(this,t2,!!i,"f"),t0(this,t3,!!r,"f"),t0(this,t5,!!o,"f"),t0(this,t7,"".concat(t),"f"),t0(this,t8,null,"f"),t0(this,ne,!1,"f")}c(e,[{key:"initEvent",value:function e(e,t,n){throw new Error("Method not implemented.")}},{key:"stopImmediatePropagation",value:function e(){this.stopPropagation()}},{key:"preventDefault",value:function e(){t0(this,t4,!0,"f")}},{key:"target",get:function e(){return t1(this,t8,"f")}},{key:"currentTarget",get:function e(){return t1(this,t8,"f")}},{key:"srcElement",get:function e(){return t1(this,t8,"f")}},{key:"type",get:function e(){return t1(this,t7,"f")}},{key:"cancelable",get:function e(){return t1(this,t2,"f")}},{key:"defaultPrevented",get:function e(){return t1(this,t2,"f")&&t1(this,t4,"f")}},{key:"timeStamp",get:function e(){return t1(this,t6,"f")}},{key:"composedPath",value:function e(){return t1(this,ne,"f")?[t1(this,t8,"f")]:[]}},{key:"returnValue",get:function e(){return!t1(this,t2,"f")||!t1(this,t4,"f")}},{key:"bubbles",get:function e(){return t1(this,t3,"f")}},{key:"composed",get:function e(){return t1(this,t5,"f")}},{key:"eventPhase",get:function e(){return t1(this,ne,"f")?nt.AT_TARGET:nt.NONE}},{key:"cancelBubble",get:function e(){return t1(this,t9,"f")},set:function e(e){e&&t0(this,t9,!0,"f")}},{key:"stopPropagation",value:function e(){t0(this,t9,!0,"f")}},{key:"isTrusted",get:function e(){return!1}}]);return e}(),t2=new WeakMap,t3=new WeakMap,t5=new WeakMap,t4=new WeakMap,t6=new WeakMap,t9=new WeakMap,t7=new WeakMap,t8=new WeakMap,ne=new WeakMap,nt.NONE=0,nt.CAPTURING_PHASE=1,nt.AT_TARGET=2,nt.BUBBLING_PHASE=3,nt);Object.defineProperties(nl.prototype,{initEvent:ns,stopImmediatePropagation:ns,preventDefault:ns,target:ns,currentTarget:ns,srcElement:ns,type:ns,cancelable:ns,defaultPrevented:ns,timeStamp:ns,composedPath:ns,returnValue:ns,bubbles:ns,composed:ns,eventPhase:ns,cancelBubble:ns,stopPropagation:ns,isTrusted:ns});var nu=(nr=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,t);var r;var i;r=a(this,t,[e,n]),nn.set(r,void 0),t0(r,nn,(i=n===null||n===void 0?void 0:n.detail)!==null&&i!==void 0?i:null,"f");return r}c(t,[{key:"initCustomEvent",value:function e(e,t,n,r){throw new Error("Method not implemented.")}},{key:"detail",get:function e(){return t1(this,nn,"f")}}]);return t}(nl),nn=new WeakMap,nr);Object.defineProperties(nu.prototype,{detail:ns});var nc=nl,nd=nu;var nh;(nh=globalThis.Event)!==null&&nh!==void 0?nh:globalThis.Event=nc;var nf;(nf=globalThis.CustomEvent)!==null&&nf!==void 0?nf:globalThis.CustomEvent=nd;var np=new WeakMap,nv=function(e){var t=np.get(e);return t===void 0&&np.set(e,t=new Map),t},ny=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.__shadowRootMode=null,e.__shadowRoot=null,e.__internals=null;return e}c(t,[{key:"attributes",get:function e(){return Array.from(nv(this)).map(function(e){var t=C(e,2),n=t[0],r=t[1];return{name:n,value:r}})}},{key:"shadowRoot",get:function e(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function e(){return this.constructor.__localName}},{key:"tagName",get:function e(){var e;return(e=this.localName)===null||e===void 0?void 0:e.toUpperCase()}},{key:"setAttribute",value:function e(e,t){nv(this).set(e,String(t))}},{key:"removeAttribute",value:function e(e){nv(this).delete(e)}},{key:"toggleAttribute",value:function e(e,t){if(this.hasAttribute(e)){if(t===void 0||!t)return this.removeAttribute(e),!1}else return t===void 0||t?(this.setAttribute(e,""),!0):!1;return!0}},{key:"hasAttribute",value:function e(e){return nv(this).has(e)}},{key:"attachShadow",value:function e(e){var t={host:this};return this.__shadowRootMode=e.mode,e&&e.mode==="open"&&(this.__shadowRoot=t),t}},{key:"attachInternals",value:function e(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var e=new tZ(this);return this.__internals=e,e}},{key:"getAttribute",value:function e(e){var t;return(t=nv(this).get(e))!==null&&t!==void 0?t:null}}]);return t}(na);var nm=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(ny),ng=nm;var nb;(nb=globalThis.litServerRoot)!==null&&nb!==void 0?nb:globalThis.litServerRoot=Object.defineProperty(new ng,"localName",{get:function e(){return"lit-server-root"}});var n_=/*#__PURE__*/function(){"use strict";function e(){s(this,e);this.__definitions=new Map}c(e,[{key:"define",value:function e(e,t){if(this.__definitions.has(e))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(e,'" 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(e,'" has already been used with this registry'));var n;t.__localName=e,this.__definitions.set(e,{ctor:t,observedAttributes:(n=t.observedAttributes)!==null&&n!==void 0?n:[]})}},{key:"get",value:function e(e){var t;return(t=this.__definitions.get(e))===null||t===void 0?void 0:t.ctor}}]);return e}(),nk=n_;var nw=new nk;var nE=globalThis,nx=nE.ShadowRoot&&(nE.ShadyCSS===void 0||nE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nq=Symbol(),nA=new WeakMap,nS=/*#__PURE__*/function(){"use strict";function e(t,n,r){s(this,e);if(this._$cssResult$=!0,r!==nq)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=n}c(e,[{key:"styleSheet",get:function e(){var e=this.o,t=this.t;if(nx&&e===void 0){var n=t!==void 0&&t.length===1;n&&(e=nA.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&nA.set(t,e))}return e}},{key:"toString",value:function e(){return this.cssText}}]);return e}(),nC=function(e){return new nS(typeof e=="string"?e:e+"",void 0,nq)},nR=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}var i=e.length===1?e[0]:n.reduce(function(t,n,r){return t+function(e){if(e._$cssResult$===!0)return e.cssText;if(typeof e=="number")return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")}(n)+e[r+1]},e[0]);return new nS(i,e,nq)},nP=function(e,t){var n=true,r=false,i=undefined;if(nx)e.adoptedStyleSheets=t.map(function(e){return v(e,CSSStyleSheet)?e:e.styleSheet});else try{for(var o=t[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;var l=document.createElement("style"),u=nE.litNonce;u!==void 0&&l.setAttribute("nonce",u),l.textContent=s.cssText,e.appendChild(l)}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}},nI=nx||nE.CSSStyleSheet===void 0?function(e){return e}:function(e){return v(e,CSSStyleSheet)?function(e){var t="";var n=true,r=false,i=undefined;try{for(var o=e.cssRules[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;t+=s.cssText}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return nC(t)}(e):e};var nM=Object.is,nT=Object.defineProperty,nO=Object.getOwnPropertyDescriptor,nU=Object.getOwnPropertyNames,n$=Object.getOwnPropertySymbols,nL=Object.getPrototypeOf,nN=globalThis;var nD;(nD=nN.customElements)!==null&&nD!==void 0?nD:nN.customElements=nw;var nV=nN.trustedTypes,nj=nV?nV.emptyScript:"",nH=nN.reactiveElementPolyfillSupport,nz=function(e,t){return e},nQ={toAttribute:function e(e,t){switch(t){case Boolean:e=e?nj:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute:function e(e,t){var n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},nF=function(e,t){return!nM(e,t)},nB={attribute:!0,type:String,converter:nQ,reflect:!1,useDefault:!1,hasChanged:nF};var nW,nJ;(nW=Symbol.metadata)!==null&&nW!==void 0?nW:Symbol.metadata=Symbol("metadata"),(nJ=nN.litPropertyMetadata)!==null&&nJ!==void 0?nJ:nN.litPropertyMetadata=new WeakMap;var nG;var nX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e._$Ep=void 0,e.isUpdatePending=!1,e.hasUpdated=!1,e._$Em=null,e._$Ev();return e}c(t,[{key:"_$Ev",value:function e(){var e=this;var t;this._$ES=new Promise(function(t){return e.enableUpdating=t}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)===null||t===void 0?void 0:t.forEach(function(t){return t(e)})}},{key:"addController",value:function e(e){var t;var n;((n=this._$EO)!==null&&n!==void 0?n:this._$EO=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)===null||t===void 0?void 0:t.call(e))}},{key:"removeController",value:function e(e){var t;(t=this._$EO)===null||t===void 0?void 0:t.delete(e)}},{key:"_$E_",value:function e(){var e=new Map,t=this.constructor.elementProperties;var n=true,r=false,i=undefined;try{for(var o=t.keys()[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s])}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}e.size>0&&(this._$Ep=e)}},{key:"createRenderRoot",value:function e(){var e;var t=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return nP(t,this.constructor.elementStyles),t}},{key:"connectedCallback",value:function e(){var e;var t;(t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(e){var t;return(t=e.hostConnected)===null||t===void 0?void 0:t.call(e)})}},{key:"enableUpdating",value:function e(e){}},{key:"disconnectedCallback",value:function e(){var e;(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(e){var t;return(t=e.hostDisconnected)===null||t===void 0?void 0:t.call(e)})}},{key:"attributeChangedCallback",value:function e(e,t,n){this._$AK(e,n)}},{key:"_$ET",value:function e(e,t){var n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&n.reflect===!0){var i;var o=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:nQ).toAttribute(t,n.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}},{key:"_$AK",value:function e(e,t){var n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){var i,o;var a=n.getPropertyOptions(r),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((i=a.converter)===null||i===void 0?void 0:i.fromAttribute)!==void 0?a.converter:nQ;var l,u;this._$Em=r,this[r]=(u=(l=s.fromAttribute(t,a.type))!==null&&l!==void 0?l:(o=this._$Ej)===null||o===void 0?void 0:o.get(r))!==null&&u!==void 0?u:null,this._$Em=null}}},{key:"requestUpdate",value:function e(e,t,n){if(e!==void 0){var r;var i=this.constructor,o=this[e];var a;if(n!==null&&n!==void 0?n:n=i.getPropertyOptions(e),!(((a=n.hasChanged)!==null&&a!==void 0?a:nF)(o,t)||n.useDefault&&n.reflect&&o===((r=this._$Ej)===null||r===void 0?void 0:r.get(e))&&!this.hasAttribute(i._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}},{key:"C",value:function e(e,t,n,r){var i=n.useDefault,o=n.reflect,a=n.wrapped;var s,l,u;i&&!((s=this._$Ej)!==null&&s!==void 0?s:this._$Ej=new Map).has(e)&&(this._$Ej.set(e,(l=r!==null&&r!==void 0?r:t)!==null&&l!==void 0?l:this[e]),a!==!0||r!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),o===!0&&this._$Em!==e&&((u=this._$Eq)!==null&&u!==void 0?u:this._$Eq=new Set).add(e))}},{key:"_$EP",value:function e(){var e=this;return o(function(){var t,n,r;return L(this,function(i){switch(i.label){case 0:e.isUpdatePending=!0;i.label=1;case 1:i.trys.push([1,3,,4]);return[4,e._$ES];case 2:i.sent();return[3,4];case 3:t=i.sent();Promise.reject(t);return[3,4];case 4:n=e.scheduleUpdate();r=n!=null;if(!r)return[3,6];return[4,n];case 5:r=i.sent();i.label=6;case 6:return[2,(r,!e.isUpdatePending)]}})})()}},{key:"scheduleUpdate",value:function e(){return this.performUpdate()}},{key:"performUpdate",value:function e(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var e;if((e=this.renderRoot)!==null&&e!==void 0?e:this.renderRoot=this.createRenderRoot(),this._$Ep){var t=true,n=false,r=undefined;try{for(var i=this._$Ep[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=C(o.value,2),s=a[0],l=a[1];this[s]=l}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}this._$Ep=void 0}var u=this.constructor.elementProperties;var c=true,d=false,h=undefined;if(u.size>0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=C(p.value,2),y=v[0],m=v[1];var g=m.wrapped,b=this[y];g!==!0||this._$AL.has(y)||b===void 0||this.C(y,void 0,m,b)}}catch(e){d=true;h=e}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}var _=!1,k=this._$AL;try{var w;_=this.shouldUpdate(k),_?(this.willUpdate(k),(w=this._$EO)===null||w===void 0?void 0:w.forEach(function(e){var t;return(t=e.hostUpdate)===null||t===void 0?void 0:t.call(e)}),this.update(k)):this._$EM()}catch(e){throw _=!1,this._$EM(),e}_&&this._$AE(k)}},{key:"willUpdate",value:function e(e){}},{key:"_$AE",value:function e(e){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(e){var t;return(t=e.hostUpdated)===null||t===void 0?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}},{key:"_$EM",value:function e(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function e(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function e(){return this._$ES}},{key:"shouldUpdate",value:function e(e){return!0}},{key:"update",value:function e(e){var t=this;this._$Eq&&(this._$Eq=this._$Eq.forEach(function(e){return t._$ET(e,t[e])})),this._$EM()}},{key:"updated",value:function e(e){}},{key:"firstUpdated",value:function e(e){}}],[{key:"addInitializer",value:function e(e){var t;this._$Ei(),((t=this.l)!==null&&t!==void 0?t:this.l=[]).push(e)}},{key:"observedAttributes",get:function e(){return this.finalize(),this._$Eh&&M(this._$Eh.keys())}},{key:"createProperty",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nB;if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){var n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&nT(this.prototype,e,r)}}},{key:"getPropertyDescriptor",value:function e(e,t,n){var r;var i=(r=nO(this.prototype,e))!==null&&r!==void 0?r:{get:function e(){return this[t]},set:function e(e){this[t]=e}},o=i.get,a=i.set;return{get:o,set:function t(t){var r=o===null||o===void 0?void 0:o.call(this);a===null||a===void 0?void 0:a.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function e(e){var t;return(t=this.elementProperties.get(e))!==null&&t!==void 0?t:nB}},{key:"_$Ei",value:function e(){if(this.hasOwnProperty(nz("elementProperties")))return;var e=nL(this);e.finalize(),e.l!==void 0&&(this.l=M(e.l)),this.elementProperties=new Map(e.elementProperties)}},{key:"finalize",value:function e(){if(this.hasOwnProperty(nz("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(nz("properties"))){var e=this.properties,t=M(nU(e)).concat(M(n$(e)));var n=true,r=false,i=undefined;try{for(var o=t[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.createProperty(s,e[s])}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}var l=this[Symbol.metadata];if(l!==null){var u=litPropertyMetadata.get(l);var c=true,d=false,h=undefined;if(u!==void 0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=C(p.value,2),y=v[0],m=v[1];this.elementProperties.set(y,m)}}catch(e){d=true;h=e}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}this._$Eh=new Map;var g=true,b=false,_=undefined;try{for(var k=this.elementProperties[Symbol.iterator](),w;!(g=(w=k.next()).done);g=true){var E=C(w.value,2),x=E[0],q=E[1];var A=this._$Eu(x,q);A!==void 0&&this._$Eh.set(A,x)}}catch(e){b=true;_=e}finally{try{if(!g&&k.return!=null){k.return()}}finally{if(b){throw _}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function e(e){var t=[];if(Array.isArray(e)){var n=new Set(e.flat(1/0).reverse());var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;t.unshift(nI(l))}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}else e!==void 0&&t.push(nI(e));return t}},{key:"_$Eu",value:function e(e,t){var n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}}]);return t}((nG=globalThis.HTMLElement)!==null&&nG!==void 0?nG:ng);var nY;nX.elementStyles=[],nX.shadowRootOptions={mode:"open"},nX[nz("elementProperties")]=new Map,nX[nz("finalized")]=new Map,nH===null||nH===void 0?void 0:nH({ReactiveElement:nX}),((nY=nN.reactiveElementVersions)!==null&&nY!==void 0?nY:nN.reactiveElementVersions=[]).push("2.1.0");var nK=globalThis,nZ=nK.trustedTypes,n0=nZ?nZ.createPolicy("lit-html",{createHTML:function(e){return e}}):void 0,n1="$lit$",n2="lit$".concat(Math.random().toFixed(9).slice(2),"$"),n3="?"+n2,n5="<".concat(n3,">"),n4=nK.document===void 0?{createTreeWalker:function(){return{}}}:document,n6=function(){return n4.createComment("")},n9=function(e){return e===null||(typeof e==="undefined"?"undefined":T(e))!="object"&&typeof e!="function"},n7=Array.isArray,n8=function(e){return n7(e)||typeof(e===null||e===void 0?void 0:e[Symbol.iterator])=="function"},re="[ \n\f\r]",rt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,rn=/-->/g,rr=/>/g,ri=RegExp(">|".concat(re,"(?:([^\\s\"'>=/]+)(").concat(re,"*=").concat(re,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),ro=/'/g,ra=/"/g,rs=/^(?:script|style|textarea|title)$/i,rl=function(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}return{_$litType$:e,strings:t,values:r}}},ru=rl(1),rc=rl(2),rd=rl(3),rh=Symbol.for("lit-noChange"),rf=Symbol.for("lit-nothing"),rp=new WeakMap,rv=n4.createTreeWalker(n4,129);var ry=function(e,t){var r=e.length-1,i=[],o,a=t===2?"<svg>":t===3?"<math>":"",s=rt;for(var l=0;l<r;l++){var u=e[l],c=void 0,d=void 0,h=-1,f=0;for(;f<u.length&&(s.lastIndex=f,d=s.exec(u),d!==null);)f=s.lastIndex,s===rt?d[1]==="!--"?s=rn:d[1]!==void 0?s=rr:d[2]!==void 0?(rs.test(d[2])&&(o=RegExp("</"+d[2],"g")),s=ri):d[3]!==void 0&&(s=ri):s===ri?d[0]===">"?(s=o!==null&&o!==void 0?o:rt,h=-1):d[1]===void 0?h=-2:(h=s.lastIndex-d[2].length,c=d[1],s=d[3]===void 0?ri:d[3]==='"'?ra:ro):s===ra||s===ro?s=ri:s===rn||s===rr?s=rt:(s=ri,o=void 0);var p=s===ri&&e[l+1].startsWith("/>")?" ":"";a+=s===rt?u+n5:h>=0?(i.push(c),u.slice(0,h)+n1+u.slice(h)+n2+p):u+n2+(h===-2?l:p)}return[n(e,a+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),i]},rm=/*#__PURE__*/function(){"use strict";function e(t,n){var r=t.strings,i=t._$litType$;s(this,e);var o;this.parts=[];var a=0,l=0,u=r.length-1,c=this.parts,d=C(ry(r,i),2),h=d[0],f=d[1];if(this.el=e.createElement(h,n),rv.currentNode=this.el.content,i===2||i===3){var p;var v=this.el.content.firstChild;(p=v).replaceWith.apply(p,M(v.childNodes))}for(;(o=rv.nextNode())!==null&&c.length<u;){if(o.nodeType===1){var y=true,m=false,g=undefined;if(o.hasAttributes())try{for(var b=o.getAttributeNames()[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var k=_.value;if(k.endsWith(n1)){var w=f[l++],E=o.getAttribute(k).split(n2),x=/([.?@])?(.*)/.exec(w);c.push({type:1,index:a,name:x[2],strings:E,ctor:x[1]==="."?rw:x[1]==="?"?rE:x[1]==="@"?rx:rk}),o.removeAttribute(k)}else k.startsWith(n2)&&(c.push({type:6,index:a}),o.removeAttribute(k))}}catch(e){m=true;g=e}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}if(rs.test(o.tagName)){var q=o.textContent.split(n2),A=q.length-1;if(A>0){o.textContent=nZ?nZ.emptyScript:"";for(var S=0;S<A;S++)o.append(q[S],n6()),rv.nextNode(),c.push({type:2,index:++a});o.append(q[A],n6())}}}else if(o.nodeType===8)if(o.data===n3)c.push({type:2,index:a});else{var R=-1;for(;(R=o.data.indexOf(n2,R+1))!==-1;)c.push({type:7,index:a}),R+=n2.length-1}a++}}c(e,null,[{key:"createElement",value:function e(e,t){var n=n4.createElement("template");return n.innerHTML=e,n}}]);return e}();function rg(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e,r=arguments.length>3?arguments[3]:void 0;var i,o;if(t===rh)return t;var a=r!==void 0?(i=n._$Co)===null||i===void 0?void 0:i[r]:n._$Cl,s=n9(t)?void 0:t._$litDirective$;var l;return(a===null||a===void 0?void 0:a.constructor)!==s&&(a===null||a===void 0?void 0:(o=a._$AO)===null||o===void 0?void 0:o.call(a,!1),s===void 0?a=void 0:(a=new s(e),a._$AT(e,n,r)),r!==void 0?((l=n._$Co)!==null&&l!==void 0?l:n._$Co=[])[r]=a:n._$Cl=a),a!==void 0&&(t=rg(e,a._$AS(e,t.values),a,r)),t}var rb=/*#__PURE__*/function(){"use strict";function e(t,n){s(this,e);this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=n}c(e,[{key:"parentNode",get:function e(){return this._$AM.parentNode}},{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"u",value:function e(e){var t;var n=this._$AD,r=n.el,i=r.content,o=n.parts,a=((t=e===null||e===void 0?void 0:e.creationScope)!==null&&t!==void 0?t:n4).importNode(i,!0);rv.currentNode=a;var s=rv.nextNode(),l=0,u=0,c=o[0];for(;c!==void 0;){if(l===c.index){var d=void 0;c.type===2?d=new r_(s,s.nextSibling,this,e):c.type===1?d=new c.ctor(s,c.name,c.strings,this,e):c.type===6&&(d=new rq(s,this,e)),this._$AV.push(d),c=o[++u]}l!==(c===null||c===void 0?void 0:c.index)&&(s=rv.nextNode(),l++)}return rv.currentNode=n4,a}},{key:"p",value:function e(e){var t=0;var n=true,r=false,i=undefined;try{for(var o=this._$AV[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,t),t+=s.strings.length-2):s._$AI(e[t])),t++}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}}]);return e}(),r_=/*#__PURE__*/function(){"use strict";function e(t,n,r,i){s(this,e);var o;this.type=2,this._$AH=rf,this._$AN=void 0,this._$AA=t,this._$AB=n,this._$AM=r,this.options=i,this._$Cv=(o=i===null||i===void 0?void 0:i.isConnected)!==null&&o!==void 0?o:!0}c(e,[{key:"_$AU",get:function e(){var e;var t;return(t=(e=this._$AM)===null||e===void 0?void 0:e._$AU)!==null&&t!==void 0?t:this._$Cv}},{key:"parentNode",get:function e(){var e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&(e===null||e===void 0?void 0:e.nodeType)===11&&(e=t.parentNode),e}},{key:"startNode",get:function e(){return this._$AA}},{key:"endNode",get:function e(){return this._$AB}},{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;e=rg(this,e,t),n9(e)?e===rf||e==null||e===""?(this._$AH!==rf&&this._$AR(),this._$AH=rf):e!==this._$AH&&e!==rh&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):n8(e)?this.k(e):this._(e)}},{key:"O",value:function e(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}},{key:"T",value:function e(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}},{key:"_",value:function e(e){this._$AH!==rf&&n9(this._$AH)?this._$AA.nextSibling.data=e:this.T(n4.createTextNode(e)),this._$AH=e}},{key:"$",value:function e(e){var t;var r=e.values,i=e._$litType$,o=typeof i=="number"?this._$AC(e):(i.el===void 0&&(i.el=rm.createElement(n(i.h,i.h[0]),this.options)),i);if(((t=this._$AH)===null||t===void 0?void 0:t._$AD)===o)this._$AH.p(r);else{var a=new rb(o,this),s=a.u(this.options);a.p(r),this.T(s),this._$AH=a}}},{key:"_$AC",value:function e(e){var t=rp.get(e.strings);return t===void 0&&rp.set(e.strings,t=new rm(e)),t}},{key:"k",value:function t(t){n7(this._$AH)||(this._$AH=[],this._$AR());var n=this._$AH,r,i=0;var o=true,a=false,s=undefined;try{for(var l=t[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;i===n.length?n.push(r=new e(this.O(n6()),this.O(n6()),this,this.options)):r=n[i],r._$AI(c),i++}}catch(e){a=true;s=e}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}},{key:"_$AR",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,t=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,t);e&&e!==this._$AB;){var i=e.nextSibling;e.remove(),e=i}}},{key:"setConnected",value:function e(e){var t,n;this._$AM===void 0&&(this._$Cv=e,(t=(n=this)._$AP)===null||t===void 0?void 0:t.call(n,e))}}]);return e}(),rk=/*#__PURE__*/function(){"use strict";function e(t,n,r,i,o){s(this,e);this.type=1,this._$AH=rf,this._$AN=void 0,this.element=t,this.name=n,this._$AM=i,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=rf}c(e,[{key:"tagName",get:function e(){return this.element.tagName}},{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AI",value:function e(e){var t=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 i=this.strings,o=!1;if(i===void 0)e=rg(this,e,t,0),o=!n9(e)||e!==this._$AH&&e!==rh,o&&(this._$AH=e);else{var a=e,s,l;for(e=i[0],s=0;s<i.length-1;s++)l=rg(this,a[n+s],t,s),l===rh&&(l=this._$AH[s]),o||(o=!n9(l)||l!==this._$AH[s]),l===rf?e=rf:e!==rf&&(e+=(l!==null&&l!==void 0?l:"")+i[s+1]),this._$AH[s]=l}o&&!r&&this.j(e)}},{key:"j",value:function e(e){e===rf?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e!==null&&e!==void 0?e:"")}}]);return e}(),rw=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.type=3;return e}c(t,[{key:"j",value:function e(e){this.element[this.name]=e===rf?void 0:e}}]);return t}(rk),rE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.type=4;return e}c(t,[{key:"j",value:function e(e){this.element.toggleAttribute(this.name,!!e&&e!==rf)}}]);return t}(rk),rx=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r,i,o){s(this,t);var l;l=a(this,t,[e,n,r,i,o]),l.type=5;return l}c(t,[{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var n;if((e=(n=rg(this,e,t,0))!==null&&n!==void 0?n:rf)===rh)return;var r=this._$AH,i=e===rf&&r!==rf||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==rf&&(r===rf||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}},{key:"handleEvent",value:function e(e){var t;var n;typeof this._$AH=="function"?this._$AH.call((n=(t=this.options)===null||t===void 0?void 0:t.host)!==null&&n!==void 0?n:this.element,e):this._$AH.handleEvent(e)}}]);return t}(rk),rq=/*#__PURE__*/function(){"use strict";function e(t,n,r){s(this,e);this.element=t,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}c(e,[{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AI",value:function e(e){rg(this,e)}}]);return e}(),rA={M:n1,P:n2,A:n3,C:1,L:ry,R:rb,D:n8,V:rg,I:r_,H:rk,N:rE,U:rx,B:rw,F:rq},rS=nK.litHtmlPolyfillSupport;var rC;rS===null||rS===void 0?void 0:rS(rm,r_),((rC=nK.litHtmlVersions)!==null&&rC!==void 0?rC:nK.litHtmlVersions=[]).push("3.3.0");var rR=function(e,t,n){var r;var i=(r=n===null||n===void 0?void 0:n.renderBefore)!==null&&r!==void 0?r:t,o=i._$litPart$;if(o===void 0){var a;var s=(a=n===null||n===void 0?void 0:n.renderBefore)!==null&&a!==void 0?a:null;i._$litPart$=o=new r_(t.insertBefore(n6(),s),s,void 0,n!==null&&n!==void 0?n:{})}return o._$AI(e),o};var rP=globalThis,rI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.renderOptions={host:e},e._$Do=void 0;return e}c(t,[{key:"createRenderRoot",value:function e(){var e;var n=h(f(t.prototype),"createRenderRoot",this).call(this);var r;return(r=(e=this.renderOptions).renderBefore)!==null&&r!==void 0?r:e.renderBefore=n.firstChild,n}},{key:"update",value:function e(e){var n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),h(f(t.prototype),"update",this).call(this,e),this._$Do=rR(n,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function e(){var e;h(f(t.prototype),"connectedCallback",this).call(this),(e=this._$Do)===null||e===void 0?void 0:e.setConnected(!0)}},{key:"disconnectedCallback",value:function e(){var e;h(f(t.prototype),"disconnectedCallback",this).call(this),(e=this._$Do)===null||e===void 0?void 0:e.setConnected(!1)}},{key:"render",value:function e(){return rh}}]);return t}(nX);rI._$litElement$=!0,rI.finalized=!0,(tN=rP.litElementHydrateSupport)===null||tN===void 0?void 0:tN.call(rP,{LitElement:rI});var rM=rP.litElementPolyfillSupport;rM===null||rM===void 0?void 0:rM({LitElement:rI});var rT;((rT=rP.litElementVersions)!==null&&rT!==void 0?rT:rP.litElementVersions=[]).push("4.2.0");var rO=function(e){return function(t,n){n!==void 0?n.addInitializer(function(){customElements.define(e,t)}):customElements.define(e,t)}};var rU={attribute:!0,type:String,converter:nQ,reflect:!1,hasChanged:nF},r$=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rU,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;var r=n.kind,i=n.metadata,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),r==="setter"&&((e=Object.create(e)).wrapped=!0),o.set(n.name,e),r==="accessor"){var a=n.name;return{set:function n(n){var r=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,r,e)},init:function t(t){return t!==void 0&&this.C(a,void 0,e,t),t}}}if(r==="setter"){var s=n.name;return function n(n){var r=this[s];t.call(this,n),this.requestUpdate(s,r,e)}}throw Error("Unsupported decorator location: "+r)};var rL=function(e,t,n){return n.configurable=!0,n.enumerable=!0,Reflect.decorate&&(typeof t==="undefined"?"undefined":T(t))!="object"&&Object.defineProperty(e,t,n),n};var rN=Symbol("item");var rD=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}];var rV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.identifier="";e.adaptive="false";e.timeDependent=null;e._handleDisabledChange=function(t,n){e._interactionElements.forEach(function(e){return e.disabled=n})};e._handleReadonlyChange=function(t,n){return e._interactionElements.forEach(function(e){return e.readonly=n})};e._context={variables:rD};e._initialContext=E(k({},e._context),{variables:e._context.variables});e._feedbackElements=[];e._interactionElements=[];e._handleRegisterVariable=function(t){t.stopImmediatePropagation(),e._context=E(k({},e._context),{variables:M(e._context.variables).concat([t.detail.variable])}),e._initialContext=e._context,t.stopPropagation()};e._handleRegisterFeedback=function(t){var n;t.stopImmediatePropagation();var r=t.detail;e._feedbackElements.push(r),(Number((n=e._context.variables.find(function(e){return e.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)||0)>0&&r.checkShowFeedback(r.outcomeIdentifier)};e._handleRegisterInteraction=function(t){t.stopImmediatePropagation(),e._interactionElements.push(t.detail.interactionElement)};e._handleEndAttempt=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.responseIdentifier,i=n.countAttempt;e.validate(),e.updateResponseVariable(r,"true"),e.processResponse(i)};e._handleSetOutcomeValue=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.outcomeIdentifier,i=n.value;e.updateOutcomeVariable(r,i),t.stopPropagation()};e._handleUpdateResponseVariable=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.responseIdentifier,i=n.response;e.updateResponseVariable(r,i),e.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:e._context}}))};return e}c(t,[{key:"assessmentItemRefId",get:function e(){return this._context.identifier},set:function e(e){this._context=E(k({},this._context),{identifier:e})}},{key:"variables",get:function e(){return this._context.variables.map(function(e){return k({identifier:e.identifier,value:e.value,type:e.type},e.type==="outcome"&&e.identifier==="SCORE"?{externalScored:e.externalScored}:{})})},set:function e(e){var t=this;if(!Array.isArray(e)||e.some(function(e){return!("identifier"in e)})){console.warn("variables property should be an array of VariableDeclaration");return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(t){var n=e.find(function(e){return e.identifier===t.identifier});return n?E(k({},t,n),{interpolationTable:t.interpolationTable}):t})}),this._context.variables.forEach(function(e){if(e.type==="response"){var n=t._interactionElements.find(function(t){return t.responseIdentifier===e.identifier});n&&(n.response=e.value)}}),this.variables.forEach(function(e){e.type==="outcome"&&t._feedbackElements.forEach(function(t){return t.checkShowFeedback(e.identifier)})})}},{key:"responses",set:function e(e){var t=true,n=false,r=undefined;if(e)try{var i,o=function(){var e=s.value;i.getResponse(e.responseIdentifier)&&i.updateResponseVariable(e.responseIdentifier,e.response);var t=i._interactionElements.find(function(t){return t.getAttribute("response-identifier")===e.responseIdentifier});t&&(t.response=e.response)};for(var a=e[Symbol.iterator](),s;!(t=(s=a.next()).done);t=true)i=this,o()}catch(e){n=true;r=e}finally{try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}}}},{key:"render",value:function e(){return ru(D())}},{key:"connectedCallback",value:function e(){var e=this;this._attachEventListeners(),h(f(t.prototype),"connectedCallback",this).call(this),this.updateComplete.then(function(){e.dispatchEvent(new CustomEvent("qti-assessment-item-connected",{bubbles:!0,composed:!0,detail:e}))})}},{key:"disconnectedCallback",value:function e(){this._removeEventListeners(),h(f(t.prototype),"disconnectedCallback",this).call(this)}},{key:"_attachEventListeners",value:function e(){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 e(){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 e(e){var t=this._context.variables.filter(function(e){return e.type==="response"});var n=true,r=false,i=undefined;try{var o=function(){var n=s.value;var r=n.getAttribute("response-identifier"),i=t.find(function(e){return e.identifier===r});i&&n.toggleCorrectResponse(i,e)};for(var a=this._interactionElements[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true)o()}catch(e){r=true;i=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw i}}}}},{key:"processResponse",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n;this.validate(t),e&&this.updateOutcomeVariable("numAttempts",(+((n=this._context.variables.find(function(e){return e.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 e(){this._context=this._initialContext}},{key:"getResponse",value:function e(e){return this.getVariable(e)}},{key:"getOutcome",value:function e(e){return this.getVariable(e)}},{key:"getVariable",value:function e(e){return this._context.variables.find(function(t){return t.identifier===e})||null}},{key:"updateResponseVariable",value:function e(e,t){this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==e?n:E(k({},n),{value:t})})}),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,responseIdentifier:e,response:Array.isArray(t)?M(t):t}})),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}},{key:"setOutcomeVariable",value:function e(e,t){this.updateOutcomeVariable(e,t),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}}))}},{key:"updateOutcomeVariable",value:function e(e,t){var n;var r=this.getOutcome(e);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(e,", it is not available"));return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==e?n:E(k({},n),{value:r.cardinality==="single"?t:M(n.value).concat([t])})})}),this._feedbackElements.forEach(function(t){return t.checkShowFeedback(e)}),this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:e,value:(n=this._context.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.value}}))}},{key:"validate",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._interactionElements.every(function(e){return e.validate()})?!0:this._interactionElements.some(function(e){return e.validate()})?!1:(e&&this.reportValidity(),null)}},{key:"reportValidity",value:function e(){var e=true,t=false,n=undefined;try{for(var r=this._interactionElements[Symbol.iterator](),i;!(e=(i=r.next()).done);e=true){var o=i.value;o.reportValidity()}}catch(e){t=true;n=e}finally{try{if(!e&&r.return!=null){r.return()}}finally{if(t){throw n}}}}},{key:"_getCompletionStatus",value:function e(){var e=this.validate(!1);return e===!0?"completed":e===!1?"incomplete":"not_attempted"}}]);return t}(rI);tB([r({type:String})],rV.prototype,"title",2),tB([r({type:String})],rV.prototype,"identifier",2),tB([r({type:String})],rV.prototype,"adaptive",2),tB([r({type:String})],rV.prototype,"timeDependent",2),tB([r({type:Boolean})],rV.prototype,"disabled",2),tB([y("disabled",{waitUntilFirstUpdate:!0})],rV.prototype,"_handleDisabledChange",2),tB([r({type:Boolean})],rV.prototype,"readonly",2),tB([y("readonly",{waitUntilFirstUpdate:!0})],rV.prototype,"_handleReadonlyChange",2),tB([e({context:rN})],rV.prototype,"_context",2),rV=tB([rO("qti-assessment-item")],rV);var rj=String.raw,rH=rj(V());var rz=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var t,n="",r={load:function i(i){n=i;var o=encodeURI(i);if(e&&sessionStorage.getItem(o))return{promise:Promise.resolve(r.parse(sessionStorage.getItem(o))),request:null};var a=_(i),s=a.promise,l=a.xhr;return{promise:new Promise(function(n){s.then(function(i){return t=i,r.shuffleInteractions(),e&&sessionStorage.setItem(o,new XMLSerializer().serializeToString(t)),n(r)})}),request:l}},parse:function e(e){return t=w(e),r},path:function(e){return q(t,e),n=null,r},fn:function e(e){return e(t),r},pciHooks:function e(e){var n=["hook","module"],i=e.substring(0,e.lastIndexOf("/"));var o=true,a=false,s=undefined;try{var l=function(){var n=c.value;t.querySelectorAll("["+n+"]").forEach(function(t){var r=t.getAttribute(n);!r.startsWith("data:")&&!r.startsWith("http")&&(t.setAttribute("base-url",e),t.setAttribute("module",i+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var u=n[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(e){a=true;s=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return r},shuffleInteractions:function e(){var e=t.querySelectorAll('[shuffle="true"]'),n=Array.from(e).filter(function(e){var t;return(t=e.tagName)===null||t===void 0?void 0:t.toLowerCase().endsWith("-interaction")});var i=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=P(u.tagName.toLowerCase()),d=Array.isArray(c)?c:[c];var h=true,f=false,p=undefined;try{var v=function(){var e=m.value;var t;var n=Array.from(u.querySelectorAll(e)),i=n.map(function(e,t){return{element:e,fixed:e.hasAttribute("fixed")&&e.getAttribute("fixed")==="true",originalOrder:t}}).filter(function(e){return e.fixed}),o=n.filter(function(e){return!e.hasAttribute("fixed")||e.getAttribute("fixed")!=="true"});if(o.length<=1)return{v:(console.warn("Shuffling is not possible with fewer than 2 non-fixed elements."),r)};var a=M(o),s=!1,l=0;for(;!s&&l<20;){l++;for(var c=o.length-1;c>0;c--){var d=Math.floor(Math.random()*(c+1));var h;h=[o[d],o[c]],o[c]=h[0],o[d]=h[1],h}s=!o.every(function(e,t){return e===a[t]})}if(!s)return{v:(console.warn("Failed to shuffle the choices after multiple attempts."),null)};u.removeAttribute("shuffle");var f=0;var p=true,v=false,y=undefined;try{for(var g=o[Symbol.iterator](),b;!(p=(b=g.next()).done);p=true){var _=b.value;_.parentElement.insertBefore(_,(t=i[f])===null||t===void 0?void 0:t.element),f++}}catch(e){v=true;y=e}finally{try{if(!p&&g.return!=null){g.return()}}finally{if(v){throw y}}}var k=true,w=false,E=undefined;try{for(var x=i[Symbol.iterator](),q;!(k=(q=x.next()).done);k=true){var A=q.value;A.element.parentElement.insertBefore(A.element,o[A.originalOrder])}}catch(e){w=true;E=e}finally{try{if(!k&&x.return!=null){x.return()}}finally{if(w){throw E}}}};for(var y=d[Symbol.iterator](),m;!(h=(m=y.next()).done);h=true){var g=v();if(T(g)==="object")return g.v}}catch(e){f=true;p=e}finally{try{if(!h&&y.return!=null){y.return()}}finally{if(f){throw p}}}}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return r},extendElementName:function(e,n){return m(t,e,n),r},extendElementsWithClass:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return g(t,e),r},customInteraction:function e(e,n){var i=t.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",e),i.setAttribute("data-base-item",e+n),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),r},convertCDATAtoComment:function e(){return S(t),r},stripStyleSheets:function e(){return R(t),r},html:function e(){return n!==null&&q(t,n.substring(0,n.lastIndexOf("/"))),new XMLSerializer().serializeToString(x(t))},xml:function e(){return new XMLSerializer().serializeToString(t)},htmlDoc:function e(){return n!==null&&q(t,n.substring(0,n.lastIndexOf("/"))),x(t)},xmlDoc:function e(){return t}};return r};var rQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.identifier="";e.href="";return e}c(t,[{key:"connectedCallback",value:function e(){var e=this;var n=this,r=function(){return h(f(t.prototype),"connectedCallback",e)};return o(function(){var e,t,i;return L(this,function(o){switch(o.label){case 0:r().call(n);e=new Event("qti-assessment-stimulus-ref-connected",{cancelable:!0,bubbles:!0,composed:!0});if(!n.dispatchEvent(e))return[3,4];t=n.closest("qti-assessment-item").querySelector("[data-stimulus-idref=".concat(n.identifier,"]"));if(!t)return[3,2];return[4,n.updateStimulusRef(t)];case 1:i=o.sent();return[3,3];case 2:i=console.warn("Stimulus with data-stimulus-idref ".concat(n.identifier," not found"));o.label=3;case 3:i;o.label=4;case 4:return[2]}})})()}},{key:"updateStimulusRef",value:function e(e){var t=this;return o(function(){var n,r,i;return L(this,function(o){switch(o.label){case 0:return[4,rz().load(t.href).promise.then(function(e){return e.htmlDoc()})];case 1:n=o.sent();if(n){;i=n.querySelectorAll("qti-stimulus-body, qti-stylesheet");e.innerHTML="",(r=e).append.apply(r,M(i))}return[2]}})})()}}]);return t}(rI);tB([r({type:String})],rQ.prototype,"identifier",2),tB([r({type:String})],rQ.prototype,"href",2),rQ=tB([rO("qti-assessment-stimulus-ref")],rQ);var rF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(rI);rF=tB([rO("qti-companion-materials-info")],rF);var rB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(j(),this.handleSlotChange)}},{key:"handleSlotChange",value:function e(){var e;var t;var n=Array.from((t=(e=this.firstElementChild)===null||e===void 0?void 0:e.childNodes)!==null&&t!==void 0?t:[]).find(function(e){return e.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(e){console.error("custom-operator contains invalid javascript code",e)}}},{key:"calculate",value:function e(){var e=this;var t={variable:function(t){var n,r;var i;return(i=(r=e._context)===null||r===void 0?void 0:(n=r.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.value)!==null&&i!==void 0?i:""},correct:function(t){var n,r;var i;return(i=(r=e._context)===null||r===void 0?void 0:(n=r.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.correctResponse)!==null&&i!==void 0?i:""}},n={getVariable:function(t){var n;return(n=e._context)===null||n===void 0?void 0:n.variables.find(function(e){return e.identifier===t})},updateOutcomeVariable:function(t,n){e.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:n}}))},updateResponseVariable:function(t,n){e.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:t,response:n}}))}};return this.operatorFunction(this._context,t,n)}}]);return t}(rI);tB([t({context:rN,subscribe:!0}),i()],rB.prototype,"_context",2),rB=tB([rO("qti-custom-operator")],rB);var rW=function(){return new Intl.NumberFormat().format(.1).replace(/\d/g,"")},rJ=function(e){if(typeof e=="string")return e;var t=rW();return t==="."?e.toLocaleString():e.toString().replace(".","").replace(t,".")};var rG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}},{key:"checkShowFeedback",value:function e(e){var t=this._context.variables.find(function(t){return t.identifier===e})||null;if(this.outcomeIdentifier!==e||!t)return;var n=!1;Array.isArray(t.value)?n=t.value.includes(this.identifier):n=!O(this.identifier)&&!O(t===null||t===void 0?void 0:t.value)&&this.identifier===t.value||!1,this.showFeedback(n)}},{key:"showFeedback",value:function e(e){this.showStatus=e&&this.showHide==="show"||!e&&this.showHide==="hide"?"on":"off"}}]);return t}(rI);tB([r({type:String,attribute:"show-hide"})],rG.prototype,"showHide",2),tB([r({type:String,attribute:"outcome-identifier"})],rG.prototype,"outcomeIdentifier",2),tB([r({type:String})],rG.prototype,"identifier",2),tB([r({type:String,attribute:!1})],rG.prototype,"showStatus",2),tB([t({context:rN,subscribe:!0}),i()],rG.prototype,"_context",2);var rX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(H(),this.showStatus)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return t}(rG);rX.styles=nR(z()),rX=tB([rO("qti-feedback-block")],rX);var rY=function(e){return e!==null&&e!==void 0?e:rf};var rK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.render=function(){return ru(Q(),rY(e.showStatus))};return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return t}(rG);rK.styles=nR(F()),rK=tB([rO("qti-feedback-inline")],rK);var rZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(B(),this.showStatus==="on",this.closeFeedback)}},{key:"openFeedback",value:function e(){var e;var t=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t&&!t.open&&t.showModal()}},{key:"closeFeedback",value:function e(){var e;var t=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t&&t.open&&(t.close(),this.showStatus="off")}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.showStatus==="on"&&this.openFeedback()}},{key:"updated",value:function e(e){e.has("showStatus")&&(this.showStatus==="on"?this.openFeedback():this.closeFeedback())}}]);return t}(rG);rZ.styles=nR(W()),rZ=tB([rO("qti-modal-feedback")],rZ);var r0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"render",value:function e(){return ru(J())}}]);return t}(rI);r0.styles=nR(G()),r0=tB([rO("qti-associable-hotspot")],r0);var r1=function(e,t,n){var r=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(e);return r};var r2=function(e,t,n,i){var l=/*#__PURE__*/function(e){"use strict";p(r,e);function r(){s(this,r);var e;e=a(this,r,arguments);e.observer=null;e.droppableObsever=null;e.resizeObserver=null;e.draggables=[];e.droppables=[];e.dragContainers=[];e.dragClone=null;e.dragSource=null;e.touchStartPoint=null;e.isDraggable=!1;e.cloneOffset={x:0,y:0};e.isDragging=!1;e.allDropzones=[];e.lastTarget=null;e.currentDropTarget=null;e.MIN_DRAG_DISTANCE=5;e.DRAG_CLONE_OPACITY=1;e.dataTransfer={data:{},setData:function e(e,t){this.data[e]=t},getData:function e(e){return this.data[e]},effectAllowed:"move"};e.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};e.minAssociations=1;e.maxAssociations=0;e.draggablesModified=function(t,n){var r=true,i=false,o=undefined;try{var a=function(){var t=l.value;e.draggables.includes(t)&&(e.draggables=e.draggables.filter(function(e){return e!==t}),t.removeAttribute("tabindex"),t.removeEventListener("touchstart",e.handleTouchStart.bind(e)),t.removeEventListener("mousedown",e.handleTouchStart.bind(e)))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(e){i=true;o=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;e.draggables.includes(p)||(e.draggables.push(p),p.setAttribute("tabindex","0"),p.hasTouchStartListener||(p.addEventListener("touchstart",e.handleTouchStart.bind(e),{passive:!1}),p.addEventListener("mousedown",e.handleTouchStart.bind(e),{passive:!1}),p.hasTouchStartListener=!0))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=0;e.draggables.forEach(function(t){t.style.viewTransitionName="drag-".concat(v,"-").concat(e.getAttribute("identifier")||crypto.randomUUID()),t.setAttribute("qti-draggable","true"),v++})};e.droppablesModified=function(t,n){var r=true,i=false,o=undefined;try{var a=function(){var t=l.value;e.droppables.includes(t)&&(e.droppables=e.droppables.filter(function(e){return e!==t}),e.allDropzones=e.allDropzones.filter(function(e){return e!==t}))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(e){i=true;o=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;e.droppables.includes(p)||(e.droppables.push(p),e.allDropzones.push(p))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=true,y=false,m=undefined;try{for(var g=e.droppables[Symbol.iterator](),b;!(v=(b=g.next()).done);v=true){var _=b.value;e.dataset.choicesContainerWidth&&(_.style.width="".concat(e.dataset.choicesContainerWidth,"px"),_.style.boxSizing="border-box")}}catch(e){y=true;m=e}finally{try{if(!v&&g.return!=null){g.return()}}finally{if(y){throw m}}}};return e}c(r,[{key:"handleDraggableContainerChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.dragContainersModified(e||[],t||[])}},{key:"dragContainersModified",value:function e(e,t){var n=true,r=false,i=undefined;try{var o,a=function(){var e=l.value;o.dragContainers.includes(e)&&(o.dragContainers=o.dragContainers.filter(function(t){return t!==e}),o.allDropzones=o.allDropzones.filter(function(t){return t!==e}))};for(var s=t[Symbol.iterator](),l;!(n=(l=s.next()).done);n=true)o=this,a()}catch(e){r=true;i=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw i}}}var u=true,c=false,d=undefined;try{for(var h=e[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;this.dragContainers.includes(p)||(this.dragContainers.push(p),this.allDropzones.push(p))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"handleDraggablesChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.draggablesModified(e||[],t||[])}},{key:"handleDroppablesChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.droppablesModified(e||[],t||[])}},{key:"firstUpdated",value:function e(e){var o=this;var a,s,l;h(f(r.prototype),"firstUpdated",this).call(this,e),this.hasAttribute("disabled")||(document.addEventListener("touchmove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("mousemove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("touchend",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("mouseup",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("touchcancel",this.handleTouchCancel.bind(this),{passive:!1}));var u=Array.from(this.querySelectorAll(t)||[]).concat(Array.from(((a=this.shadowRoot)===null||a===void 0?void 0:a.querySelectorAll(t))||[])),c=Array.from(this.querySelectorAll(n)||[]).concat(Array.from(((s=this.shadowRoot)===null||s===void 0?void 0:s.querySelectorAll(n))||[])),d=Array.from(this.querySelectorAll(i)||[]).concat(Array.from(((l=this.shadowRoot)===null||l===void 0?void 0:l.querySelectorAll(i))||[]));this.dragContainersModified(d,[]),this.droppablesModified(c,[]),this.draggablesModified(u,[]),this.updateMinDimensionsForDropZones(),this.observer=new MutationObserver(function(){return o.updateMinDimensionsForDropZones()}),this.observer.observe(this,{childList:!0,subtree:!0}),this.resizeObserver=new ResizeObserver(function(){return o.updateMinDimensionsForDropZones()}),this.querySelectorAll("qti-gap-text").forEach(function(e){var t;return(t=o.resizeObserver)===null||t===void 0?void 0:t.observe(e)})}},{key:"moveDraggableToDroppable",value:function e(e,t){var n=this;return o(function(){return L(this,function(r){(function(){e.style.transform="translate(0, 0)",t.tagName==="SLOT"?e.setAttribute("slot",t.getAttribute("name")):t.appendChild(e),n.checkAllMaxAssociations(),n.saveResponse()})();return[2]})})()}},{key:"activateDroppable",value:function e(e){this.dragContainers.includes(e)?(this._internals.states.add("--dragzone-active"),e.setAttribute("active","")):(this._internals.states.delete("--dragzone-active"),e.setAttribute("active",""))}},{key:"deactivateDroppable",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;t&&this._internals.states.add("--dragzone-active"),e.removeAttribute("active")}},{key:"connectedCallback",value:function e(){h(f(r.prototype),"connectedCallback",this).call(this)}},{key:"isMatchTabular",value:function e(){return this.classList.contains("qti-match-tabular")}},{key:"updateMinDimensionsForDropZones",value:function e(){var e;var r=this.querySelectorAll(t),o=Array.from(this.querySelectorAll(n)).map(function(e){return e}),a=0,s=0;r.forEach(function(e){var t=e.getBoundingClientRect();a=Math.max(a,t.height),s=Math.max(s,t.width)});var l=this.querySelector(i)||((e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector(i));l&&(l.style.minHeight="".concat(a,"px"),l.style.minWidth="".concat(s,"px"));var u=true,c=false,d=undefined;try{for(var h=o[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;p.style.minHeight="".concat(a,"px"),p.style.minWidth="".concat(s,"px")}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"activateDroppables",value:function e(e){this.dragContainers.forEach(function(t){t.setAttribute("enabled",""),t.hasAttribute("disabled")&&(t.contains(e)||t.shadowRoot&&t.shadowRoot.contains(e))&&t.removeAttribute("disabled")}),this.droppables.forEach(function(t){t.setAttribute("enabled",""),t.hasAttribute("disabled")&&(t.contains(e)||t.shadowRoot&&t.shadowRoot.contains(e))&&t.removeAttribute("disabled")})}},{key:"activateDragLocation",value:function e(){this._internals.states.add("--dragzone-enabled")}},{key:"deactivateDragLocation",value:function e(){this._internals.states.delete("--dragzone-enabled")}},{key:"deactivateDroppables",value:function e(){this.dragContainers.forEach(function(e){e.removeAttribute("enabled"),e.removeAttribute("active")}),this.droppables.forEach(function(e){e.removeAttribute("enabled"),e.removeAttribute("active")})}},{key:"disconnectedCallback",value:function e(){h(f(r.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("touchmove",this.handleTouchMove),document.removeEventListener("mousemove",this.handleTouchMove),document.removeEventListener("touchend",this.handleTouchEnd),document.removeEventListener("mouseup",this.handleTouchEnd),document.removeEventListener("touchcancel",this.handleTouchCancel)}},{key:"handleTouchMove",value:function e(e){if(this.isDraggable&&this.dragClone){var t=this.getEventCoordinates(e),n=t.x,r=t.y,i={clientX:n,clientY:r};this.calculateDragDistance(i)>=this.MIN_DRAG_DISTANCE&&(this.isDragging=!0,this.updateDragClonePosition(i));var o=this.findClosestDropzone();this.currentDropTarget=o,o!==this.lastTarget&&(this.lastTarget&&(this.deactivateDroppable(this.lastTarget),this.dispatchCustomEvent(this.lastTarget,"dragleave")),o&&(this.activateDroppable(o),this.dispatchCustomEvent(o,"dragenter")),this.lastTarget=o),this.currentDropTarget&&this.dispatchCustomEvent(this.currentDropTarget,"dragover"),e.preventDefault()}}},{key:"handleTouchEnd",value:function e(e){this.isDragging&&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(e){e.removeAttribute("dragging")}),e.preventDefault()}},{key:"handleTouchCancel",value:function e(e){this.resetDragState()}},{key:"validate",value:function e(){if(!this.shadowRoot)return!1;var e=this.getValidAssociations(),t=!0,n="";this.maxAssociations>0&&e>this.maxAssociations?(t=!1,n=this.dataset.maxSelectionsMessage||"You've selected too many associations. Maximum allowed is ".concat(this.maxAssociations,".")):this.minAssociations>0&&e<this.minAssociations&&(t=!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(t?{}:{customError:!0},n,r),t}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("#validationMessage");return e&&(this._internals.validity.valid?(e.textContent="",e.style.display="none"):(e.textContent=this._internals.validationMessage,e.style.display="block")),this._internals.validity.valid}},{key:"checkMaxAssociations",value:function e(e){var t=this.getMatchMaxValue(e),n=e.querySelectorAll('[qti-draggable="true"]').length;return!(t===0)&&n>=t}},{key:"dropDraggableInDroppable",value:function e(e,t){var n=e.cloneNode(!0);n.removeAttribute("style"),this.moveDraggableToDroppable(n,t),this.draggablesModified([n],[]);var r=this.getMatchMaxValue(e),i=this.draggables.filter(function(t){return t.getAttribute("identifier")===e.getAttribute("identifier")});r!==0&&i.length>=r?(e.style.opacity="0.0",e.style.pointerEvents="none"):e.style.opacity="1.0"}},{key:"resetDragState",value:function e(){if(this.dragClone){var e=this.currentDropTarget!==null,t=!e||this.dragContainers.includes(this.currentDropTarget);e&&this.currentDropTarget&&!t&&this.dropDraggableInDroppable(this.dragSource,this.currentDropTarget),t&&(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 e(){var e=this;var t=this.getValidAssociations(),n=this.maxAssociations!==0&&t>=this.maxAssociations;this.droppables.forEach(function(t){n?e.disableDroppable(t):e.checkMaxAssociations(t)?e.disableDroppable(t):e.enableDroppable(t)})}},{key:"getMatchMaxValue",value:function e(e){var t=e.getAttribute("match-max");return t?parseInt(t,10):1}},{key:"disableDroppable",value:function e(e){e.setAttribute("disabled","")}},{key:"enableDroppable",value:function e(e){e.removeAttribute("disabled")}},{key:"response",get:function e(){var e;return typeof this.getResponse=="function"?e=this.getResponse():e=this.collectResponseData(),e.join(",")},set:function e(e){var t=this;if(!this.isMatchTabular())if(typeof this.getValue=="function"&&(e=this.getValue(e)),Array.isArray(e)){this.reset(!1),e===null||e===void 0?void 0:e.forEach(function(e){return t.placeResponse(e)});var n=new FormData;e.forEach(function(e){n.append(t.responseIdentifier,e)}),this._internals.setFormValue(n)}else this._internals.setFormValue(e||"")}},{key:"placeResponse",value:function e(e){var t=this;var n=I(e.split(" ").reverse()),r=n[0],i=n.slice(1),o=Array.from(this.draggables),a=Array.from(this.droppables);i.forEach(function(e){if(e==="")return;var n=o.find(function(t){return t.getAttribute("identifier")===e}),i=a.find(function(e){return e.getAttribute("identifier")===r});t.dropDraggableInDroppable(n,i)})}},{key:"getValidAssociations",value:function e(){var e=0;var t=true,n=false,r=undefined;try{for(var i=this.droppables[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;e=e+this.getDraggablesFromDroppable(a).length}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}},{key:"saveResponse",value:function e(){var e;typeof this.getResponse=="function"?e=this.getResponse():e=this.collectResponseData(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:e}}))}},{key:"collectResponseData",value:function e(){var e=this;return this.droppables.map(function(t){var n=e.getDraggablesFromDroppable(t).map(function(e){return e.getAttribute("identifier")}),r=t.getAttribute("identifier");return n.map(function(e){return"".concat(e," ").concat(r)})}).flat()}},{key:"getDraggablesFromDroppable",value:function e(e){return this.draggables.map(function(e){return e.getAttribute("identifier")}).filter(function(e,t,n){return n.indexOf(e)===t}).flatMap(function(t){return Array.from(e.querySelectorAll("[identifier='".concat(t,"']")))}).filter(function(e){return!!e}).map(function(e){return e})}},{key:"reset",value:function e(){var e=this;var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.droppables.forEach(function(t){e.getDraggablesFromDroppable(t).forEach(function(t){t.remove(),e.draggablesModified([],[t])})}),this.dragContainers.forEach(function(e){Array.from(e.querySelectorAll('[qti-draggable="true"]')).forEach(function(e){e.style.opacity="1.0"})}),this.dragClone=null,this.dragSource=null,this.isDragging=!1,this.isDraggable=!1,this.currentDropTarget=null,this.lastTarget=null,t&&this.saveResponse()}},{key:"updateDragClonePosition",value:function e(e){if(!this.isDragging||!this.dragClone)return;var t=e.clientX-this.cloneOffset.x,n=e.clientY-this.cloneOffset.y,r=this.applyInteractionBoundaries(t,n,this.dragClone),i=r.newLeft,o=r.newTop;this.dragClone.style.left="".concat(i,"px"),this.dragClone.style.top="".concat(o,"px")}},{key:"applyInteractionBoundaries",value:function e(e,t,n){var r=this.getBoundingClientRect(),i=n.getBoundingClientRect(),o=i.width,a=i.height,s=Math.max(r.left,Math.min(e,r.right-o)),l=Math.max(r.top,Math.min(t,r.bottom-a));return{newLeft:s,newTop:l}}},{key:"getEventCoordinates",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=e.touches?e.touches[0]:e;return{x:t?n.pageX:n.clientX,y:t?n.pageY:n.clientY}}},{key:"calculateDragDistance",value:function e(e){var t=Math.abs(e.clientX-this.touchStartPoint.x),n=Math.abs(e.clientY-this.touchStartPoint.y);return t+n}},{key:"findClosestDropzone",value:function e(){var e=this.allDropzones.filter(function(e){return!e.hasAttribute("disabled")});if(!this.dragClone||e.length===0)return null;var t=this.dragClone.getBoundingClientRect(),n=null,r=0;var i=true,o=false,a=undefined;try{for(var s=e[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getBoundingClientRect(),d=this.calculateOverlapArea(t,c);d>r&&(r=d,n=u)}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}if(!n){var h=200;var f=true,p=false,v=undefined;try{for(var y=e[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;var b=g.getBoundingClientRect(),_=Math.sqrt(Math.pow(t.left-b.left,2)+Math.pow(t.top-b.top,2));_<h&&(h=_,n=g)}}catch(e){p=true;v=e}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}}return n}},{key:"calculateOverlapArea",value:function e(e,t){var n=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top));return n*r}},{key:"dispatchCustomEvent",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)return;var r=new CustomEvent(t,{bubbles:n,cancelable:!0});r.dataTransfer=this.dataTransfer,e.dispatchEvent(r)}},{key:"appendClone",value:function e(){document.body.appendChild(this.dragClone)}},{key:"handleTouchStart",value:function e(e){var t=this;if(this.isDragging)return;var n=this.getEventCoordinates(e),r=n.x,i=n.y;this.touchStartPoint={x:r,y:i},this.dragSource=e.currentTarget,this.isDraggable=!0,this._internals.states.add("--dragzone-enabled"),this._internals.states.add("--dragzone-active"),this.activateDragLocation(),this.activateDroppables(this.dragSource);var o=this.findDraggableInDraggableContainer(this.dragSource.getAttribute("identifier")),a=this.droppables.some(function(e){return Array.from(e.children).some(function(e){return e===t.dragSource})}),s=this.dragSource.getBoundingClientRect();a&&(this.dragSource.remove(),this.draggablesModified([],[this.dragSource]),this.dragSource=o),this.cloneOffset.x=r-s.left,this.cloneOffset.y=i-s.top,this.dragClone=o.cloneNode(!0);var l=window.getComputedStyle(o);for(var u=0;u<l.length;u++){var c=l[u];this.dragClone.style.setProperty(c,l.getPropertyValue(c))}var d=o.getBoundingClientRect();this.dragClone.style.width="".concat(d.width,"px"),this.dragClone.style.height="".concat(d.height,"px"),s&&this.setDragCloneStyles(s),this.dragClone.style.display="block",this.dragClone.style.opacity="1",this.appendClone();var h=this.getMatchMaxValue(this.dragSource),f=this.draggables.filter(function(e){return e.getAttribute("identifier")===t.dragSource.getAttribute("identifier")});h!==0&&f.length>=h?(o.style.opacity="0.0",o.style.pointerEvents="none"):o.style.opacity="1.0",e.preventDefault(),this.dragClone.setAttribute("dragging","")}},{key:"findDraggableInDraggableContainer",value:function e(e){var n=this.dragContainers.flat();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;if(l.getAttribute("identifier")===e)return l;var u=void 0;v(l,HTMLSlotElement)?u=Array.from((l===null||l===void 0?void 0:l.assignedElements())||[]):u=Array.from(l.querySelectorAll(t));var c=u.find(function(t){return t.getAttribute("identifier")===e});if(c)return c}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"setDragCloneStyles",value:function e(e){this.dragClone.style.position="fixed",this.dragClone.style.top="".concat(e.top,"px"),this.dragClone.style.left="".concat(e.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 r}(r1(e,n,t));return tB([r({attribute:!1,type:Object})],l.prototype,"configuration",2),tB([r({type:Number,reflect:!0,attribute:"min-associations"})],l.prototype,"minAssociations",2),tB([r({type:Number,reflect:!0,attribute:"max-associations"})],l.prototype,"maxAssociations",2),tB([tI(i)],l.prototype,"handleDraggableContainerChange",1),tB([tI(t)],l.prototype,"handleDraggablesChange",1),tB([tI(n)],l.prototype,"handleDroppablesChange",1),l};var r3=nR(X());var r5=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e.disabled=!1;e.readonly=!1;e._internals=e.attachInternals();return e}c(t,[{key:"correctResponse",get:function e(){return this._correctResponse},set:function e(e){this._correctResponse=e}},{key:"toggleCorrectResponse",value:function e(e,t){this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:e.cardinality==="single"?"":[]}},{key:"value",get:function e(){return JSON.stringify(this.response)},set:function e(e){this.response=e?JSON.parse(e):null}},{key:"reportValidity",value:function e(){return this._internals.reportValidity()}},{key:"reset",value:function e(){this.response=null}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}},{key:"saveResponse",value:function e(e){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(e)?M(e):e}}))}}]);return t}(rI);r5.formAssociated=!0,tB([r({type:String,attribute:"response-identifier"})],r5.prototype,"responseIdentifier",2),tB([r({reflect:!0,type:Boolean})],r5.prototype,"disabled",2),tB([r({reflect:!0,type:Boolean})],r5.prototype,"readonly",2),tB([i()],r5.prototype,"_correctResponse",2);var r4=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._childrenMap=[];e._registerChoiceHandler=e._registerChoice.bind(e),e.addEventListener("register-qti-simple-associable-choice",e._registerChoiceHandler);return e}c(t,[{key:"_registerChoice",value:function e(e){var t=e.target;this._childrenMap.push(t)}},{key:"render",value:function e(){return ru(K(),this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map(function(e,t){return ru(Y(),t,t,t,t)}))}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-qti-simple-associable-choice",this._registerChoiceHandler)}}]);return t}(r2(r5,"qti-simple-associable-choice",".dl","slot[name='qti-simple-associable-choice']"));r4.styles=r3,tB([i()],r4.prototype,"_childrenMap",2),r4=tB([rO("qti-associate-interaction")],r4);var r6=function(e,t){var n=/*#__PURE__*/function(e){"use strict";p(n,e);function n(){s(this,n);var e;e=a(this,n,arguments);e._choiceElements=[];e.minChoices=0;e.maxChoices=1;e._handleDisabledChange=function(t,n){e._choiceElements.forEach(function(e){return e.disabled=n})};e._handleReadonlyChange=function(t,n){e._choiceElements.forEach(function(e){return e.readonly=n})};e.response="";e._handleValueChange=function(){e._internals.setFormValue(e.value),e._updateChoiceSelection()};return e}c(n,[{key:"_handleMaxChoicesChange",value:function e(e,t){this._determineInputType()}},{key:"value",get:function e(){return Array.isArray(this.response)&&this.response.length===0||this.response===""?null:Array.isArray(this.response)?this.response.join(","):this.response},set:function e(e){this.maxChoices>1&&(typeof e=="string"||e===null)?this.response=e?e.toString().split(","):[]:this.response=e||""}},{key:"toggleCorrectResponse",value:function e(e,t){if(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:"connectedCallback",value:function e(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("register-".concat(t),this._registerChoiceElement),this.addEventListener("unregister-".concat(t),this._unregisterChoiceElement),this.addEventListener("activate-".concat(t),this._choiceElementSelectedHandler)}},{key:"disconnectedCallback",value:function e(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-".concat(t),this._registerChoiceElement),this.removeEventListener("unregister-".concat(t),this._unregisterChoiceElement),this.removeEventListener("activate-".concat(t),this._choiceElementSelectedHandler)}},{key:"validate",value:function e(){var e=this;var t=this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}),n=t.length,r=!0,i="";return this.maxChoices!==0&&n>this.maxChoices?(r=!1,i=this.dataset.maxSelectionsMessage||"Please select no more than ".concat(this.maxChoices," ").concat(this.maxChoices===1?"option":"options",".")):n<this.minChoices&&(r=!1,i=this.dataset.minSelectionsMessage||"Please select at least ".concat(this.minChoices," ").concat(this.minChoices===1?"option":"options",".")),t.length>0&&this._internals.setValidity(r?{}:{customError:!0},i,t[n-1]||this._choiceElements[0]||this),r}},{key:"reportValidity",value:function e(){return this._validationMessageElement&&(this._internals.validity.valid?(this._validationMessageElement.textContent="",this._validationMessageElement.style.display="none"):(this._validationMessageElement.textContent=this._internals.validationMessage,this._validationMessageElement.style.display="block")),this._internals.validity.valid}},{key:"_registerChoiceElement",value:function e(e){e.stopPropagation();var t=e.target;t.disabled=this.disabled,this._choiceElements.push(t),this._setInputType(t)}},{key:"_unregisterChoiceElement",value:function e(e){e.stopPropagation();var t=e.target;this._choiceElements=this._choiceElements.filter(function(e){return e!==t})}},{key:"_determineInputType",value:function e(){var e=this;this._choiceElements.forEach(function(t){e._setInputType(t)})}},{key:"_setInputType",value:function e(e){this._internals.role=this.maxChoices===1?"radiogroup":null;var t=this.maxChoices===1?"radio":"checkbox";e.internals.role=t,e.internals.states.delete(t==="radio"?"checkbox":"radio"),e.internals.states.add(t)}},{key:"_choiceElementSelectedHandler",value:function e(e){var t=this;this._toggleChoiceChecked(e.target),this.maxChoices===1&&this._choiceElements.forEach(function(n){n.identifier!==e.detail.identifier&&t._setChoiceChecked(n,!1)}),this._handleChoiceSelection()}},{key:"_setChoiceChecked",value:function e(e,t){var n;((n=e.internals)===null||n===void 0?void 0:n.states)&&(t?(e.internals.states.add("--checked"),e.internals.ariaChecked="true"):(e.internals.states.delete("--checked"),e.internals.ariaChecked="false"))}},{key:"_getChoiceChecked",value:function e(e){return e.internals.states.has("--checked")}},{key:"_toggleChoiceChecked",value:function e(e){var t=this._getChoiceChecked(e);this._setChoiceChecked(e,!t)}},{key:"_handleChoiceSelection",value:function e(){var e=this;var t=this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}).map(function(e){return e.identifier});this.response=this.maxChoices===1?t[0]||"":t,this.validate(),this.saveResponse(this.response)}},{key:"_updateChoiceSelection",value:function e(){var e=this;var t=Array.isArray(this.response)?this.response:[this.response];this._choiceElements.forEach(function(n){var r=t.includes(n.identifier);e._setChoiceChecked(n,r)})}}]);return n}(e);return tB([l("#validationMessage")],n.prototype,"_validationMessageElement",2),tB([r({type:Number,attribute:"min-choices"})],n.prototype,"minChoices",2),tB([r({type:Number,attribute:"max-choices"})],n.prototype,"maxChoices",2),tB([y("maxChoices",{waitUntilFirstUpdate:!0})],n.prototype,"_handleMaxChoicesChange",1),tB([y("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"_handleDisabledChange",2),tB([y("readonly",{waitUntilFirstUpdate:!0})],n.prototype,"_handleReadonlyChange",2),tB([i()],n.prototype,"response",2),tB([y("response",{waitUntilFirstUpdate:!0})],n.prototype,"_handleValueChange",2),n};var r9=function(e,t){var n=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._classes=[];e._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];e._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"];return e}c(t,[{key:"class",get:function e(){var e;return((e=this._classes)===null||e===void 0?void 0:e.join(" "))||""},set:function e(e){e&&(this._classes=e.split(" "),this._addLabels())}},{key:"updated",value:function e(e){h(f(t.prototype),"updated",this).call(this,e),this._addLabels()}},{key:"_addLabels",value:function e(){var e=this;var t=this._classes.some(function(t){return e._allLabels.includes(t)||e._allLabelSuffixes.includes(t)}),n=function(e){return!isNaN(+e)};if(t){var r=Array.from(this.querySelectorAll("qti-simple-choice")).map(function(e){return e}).map(function(e,t){return{el:e,order:n(e.style.order)?+e.style.order:t+1}}).sort(function(e,t){return e.order-t.order}).map(function(e){return e.el});for(var i=0;i<r.length;i++)r[i].marker=this._getLabel(i+1)}}},{key:"_getLabel",value:function e(e){var t=this;var n=this._classes.filter(function(e){return t._allLabels.includes(e)}).pop(),r=this._classes.filter(function(e){return t._allLabelSuffixes.includes(e)}).pop();!n&&r&&(n="qti-labels-upper-alpha");var i="";switch(n){case"qti-labels-decimal":i="".concat(e);break;case"qti-labels-lower-alpha":i="".concat(String.fromCharCode(97+e-1));break;case"qti-labels-upper-alpha":i="".concat(String.fromCharCode(65+e-1));break}return r==="qti-labels-suffix-period"?i+=".":r==="qti-labels-suffix-parenthesis"&&(i+=")"),i}}]);return t}(e);return tB([r({type:String,reflect:!0})],n.prototype,"class",1),n};var r7=nR(Z());var r8=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.orientation="vertical";return e}c(t,[{key:"_handleSlotChange",value:function e(){var e=this.querySelectorAll("qti-simple-choice");this.style.setProperty("--item-count",e.length.toString())}},{key:"render",value:function e(){return ru(ee(),this._handleSlotChange)}}]);return t}(r9(r6(r5,"qti-simple-choice"),"qti-simple-choice"));r8.styles=r7,tB([r({type:String})],r8.prototype,"orientation",2),r8=tB([rO("qti-choice-interaction")],r8);var ie=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._errorMessage=null;e.handlePostMessage=e.handlePostMessage.bind(e);return e}c(t,[{key:"connectedCallback",value:function e(){var e=this;h(f(t.prototype),"connectedCallback",this).call(this);var n=this.data.startsWith("http")||this.data.startsWith("blob")?this.data:$(this.baseItemUrl+"/"+this.data);fetch(n).then(function(e){return e.json()}).then(function(t){e.manifest=t,e.setupCES()}).catch(function(t){e._errorMessage=t})}},{key:"setupCES",value:function e(){var e=this.shadowRoot.querySelector("#pciContainer"),t=e.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 n=this.manifest.style[0],r=n.startsWith("http")||n.startsWith("blob")?n:$("".concat(this.baseRefUrl,"/").concat(n)),i=this.manifest.script[0],o=i.startsWith("http")||i.startsWith("blob")?i:$("".concat(this.baseRefUrl,"/").concat(i));window.addEventListener("message",this.handlePostMessage),t.open(),t.write("\n <html>\n <head>\n <link href='".concat(r,"' rel=\"stylesheet\" />\n <script src='").concat(o,"'><\/script>\n </head>\n <body></body>\n </html>\n ")),t.close()}},{key:"getIFrames",value:function e(){var e=this.shadowRoot.querySelectorAll("iframe"),t=this.querySelectorAll("iframe"),n=M(e).concat(M(t));var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;var u=l.src;if(new URL(u,window.location.href).origin===window.location.origin)try{var c=l.contentDocument||l.contentWindow.document;c&&this.getInnerIFrames(c,n)}catch(e){console.error("Error accessing nested iframe:",e)}}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}return n.forEach(function(e,t){n.indexOf(e)!==t&&n.splice(t,1)}),n}},{key:"getInnerIFrames",value:function e(e){var t=this;var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.querySelectorAll("iframe").forEach(function(e){n.push(e);var r=e.src;if(new URL(r,window.location.href).origin===window.location.origin)try{var i=e.contentDocument||e.contentWindow.document;t.getInnerIFrames(i,n)}catch(e){console.error("Error accessing nested iframe:",e)}else console.warn("Skipped cross-origin iframe:",r)}),n}},{key:"postToWindowAndIframes",value:function e(e,t){window.postMessage({type:e,data:t},"*");var n=this.getIFrames();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;l.contentWindow&&l.contentWindow.postMessage({type:e,data:t},"*")}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"handlePostMessage",value:function e(e){var t=this;var n=e.data,r=n.type,i=n.data;switch(r){case"setResponse":this.rawResponse=i,this.saveResponse(i);break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{var o=this.manifest.media.map(function(e){return e.startsWith("http")||e.startsWith("blob")?e:$(t.baseRefUrl+"/"+e)});this.postToWindowAndIframes("mediaData",o);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}},{key:"validate",value:function e(){return this.rawResponse!==""}},{key:"response",get:function e(){return this.rawResponse},set:function e(e){if(typeof e=="string")this.rawResponse=e,this.saveResponse(e);else throw new Error("Value must be a string")}},{key:"disconnectedCallback",value:function e(){window.removeEventListener("message",this.handlePostMessage),h(f(t.prototype),"disconnectedCallback",this).call(this)}},{key:"render",value:function e(){return ru(en(),this.getAttribute("width"),this.getAttribute("height"),this._errorMessage&&ru(et(),this._errorMessage))}}]);return t}(r5);tB([r({type:String,attribute:"data"})],ie.prototype,"data",2),tB([r({type:String,attribute:"data-base-item"})],ie.prototype,"baseItemUrl",2),tB([r({type:String,attribute:"data-base-ref"})],ie.prototype,"baseRefUrl",2),tB([r({type:String,attribute:"id"})],ie.prototype,"id",2),tB([i()],ie.prototype,"_errorMessage",2),ie=tB([rO("qti-custom-interaction")],ie);var it=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.disabled=!1;e.countAttempt=null;e.title="end attempt";return e}c(t,[{key:"render",value:function e(){return ru(er(),this.disabled,this.endAttempt,this.title)}},{key:"endAttempt",value:function e(e){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}}]);return t}(rI);tB([r({type:String,attribute:"response-identifier"})],it.prototype,"responseIdentifier",2),tB([r({reflect:!0,type:Boolean})],it.prototype,"disabled",2),tB([r({type:String,attribute:"count-attempt"})],it.prototype,"countAttempt",2),tB([r({type:String})],it.prototype,"title",2),it=tB([rO("qti-end-attempt-interaction")],it);var ir=nR(ei());var ii=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._rows=5;e.response=null;e._handleResponseChange=function(){e._internals.setFormValue(e.value),e.validate()};return e}c(t,[{key:"handleclassNamesChange",value:function e(e,t){var n=this;var r=t.split(" "),i=!1;if(r.forEach(function(e){if(e.startsWith("qti-height-lines-")){var t=e.replace("qti-height-lines-","");n._rows=parseInt(t),i=!0}}),!i&&this.expectedLength){var o=Math.ceil(this.expectedLength/50);this._rows=o}}},{key:"value",get:function e(){return this.response||null},set:function e(e){this.response=e||null}},{key:"validate",value:function e(){var e=this.shadowRoot.querySelector("textarea");if(!e)return!1;if(this.patternMask&&this.dataPatternmaskMessage){this._internals.setValidity({}),e.setCustomValidity("");var t=this.patternMask.startsWith("^")&&this.patternMask.endsWith("$")?this.patternMask:"^".concat(this.patternMask,"$"),n=new RegExp(t);e.checkValidity()&&n.test(e.value)||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),e.setCustomValidity(this.dataPatternmaskMessage))}else{var r=e.checkValidity();this._internals.setValidity(r?{}:{customError:!1})}return!!this.response&&e.checkValidity()}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("textarea");if(!e)return!1;var t=this.validate();return t||e.reportValidity(),t}},{key:"render",value:function e(){var e=this;return ru(eo(),this.responseIdentifier,5e3,function(e){return e.stopImmediatePropagation()},this.textChanged,this.textChanged,function(t){e.reportValidity()},rY(this.placeholderText?this.placeholderText:void 0),this._rows,this.disabled,this.readonly,this.response)}},{key:"textChanged",value:function e(e){if(this.disabled||this.readonly)return;var t=e.target;this.setEmptyAttribute(t.value),this.response!==t.value&&(this.value=t.value,this.saveResponse(t.value))}},{key:"setEmptyAttribute",value:function e(e){this.setAttribute("empty",e===""?"true":"false")}}]);return t}(r5);ii.styles=ir,tB([i()],ii.prototype,"_rows",2),tB([r({type:Number,attribute:"expected-length"})],ii.prototype,"expectedLength",2),tB([r({type:String,attribute:"pattern-mask"})],ii.prototype,"patternMask",2),tB([r({type:String,attribute:"placeholder-text"})],ii.prototype,"placeholderText",2),tB([r({type:String,attribute:"data-patternmask-message"})],ii.prototype,"dataPatternmaskMessage",2),tB([r({type:String,attribute:"class"})],ii.prototype,"classNames",2),tB([y("classNames")],ii.prototype,"handleclassNamesChange",1),tB([i()],ii.prototype,"response",2),tB([y("response",{waitUntilFirstUpdate:!0})],ii.prototype,"_handleResponseChange",2),ii=tB([rO("qti-extended-text-interaction")],ii);var io=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"connectedCallback",value:function e(){this.setAttribute("slot","drags")}}]);return t}(rI);io.styles=nR(ea()),tB([r({type:Number,reflect:!0})],io.prototype,"tabindex",2),io=tB([rO("qti-gap-img")],io);var ia=nR(es());var is=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(el())}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(t&&e.correctResponse){var r=[],i=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];i&&(r=i.map(function(e){var t=e.split(" ");return{text:t[0],gap:t[1]}})),this.querySelectorAll("qti-gap").forEach(function(e){var t,i,o;var a=e.getAttribute("identifier"),s=(t=r.find(function(e){return e.gap===a}))===null||t===void 0?void 0:t.text,l=(i=n.querySelector('qti-gap-text[identifier="'.concat(s,'"]')))===null||i===void 0?void 0:i.textContent.trim();if(s&&l){var u;if(!((u=e.nextElementSibling)===null||u===void 0?void 0:u.classList.contains("correct-option"))){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",e.insertAdjacentElement("afterend",c)}}else((o=e.nextElementSibling)===null||o===void 0?void 0:o.classList.contains("correct-option"))&&e.nextElementSibling.remove()})}else this.querySelectorAll(".correct-option").forEach(function(e){e.remove()})}}]);return t}(r2(r5,"qti-gap-text","qti-gap","slot[part='drags']"));is.styles=ia,is=tB([rO("qti-gap-match-interaction")],is);var il={toAttribute:function(e){return e?"true":"false"},fromAttribute:function(e){return e==="true"}};var iu=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","drags")}},{key:"render",value:function e(){return ru(eu())}}]);return t}(tM(rI,"qti-gap-text"));iu.styles=nR(ec()),tB([r({type:Number,reflect:!0})],iu.prototype,"tabindex",2),iu=tB([rO("qti-gap-text")],iu);var ic=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"render",value:function e(){return ru(ed())}}]);return t}(rI);ic.styles=nR(eh()),tB([r({type:Number,reflect:!0})],ic.prototype,"tabindex",2),ic=tB([rO("qti-gap")],ic);var id={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ih=function(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}return{_$litDirective$:e,values:n}}},ip=/*#__PURE__*/function(){"use strict";function e(t){s(this,e)}c(e,[{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AT",value:function e(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}},{key:"_$AS",value:function e(e,t){return this.update(e,t)}},{key:"update",value:function e(e,t){return this.render.apply(this,M(t))}}]);return e}();var iv=rA.I;var iy=function(e){return e.strings===void 0},im=function(){return document.createComment("")},ig=function(e,t,n){var r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0){var o=r.insertBefore(im(),i),a=r.insertBefore(im(),i);n=new iv(o,a,e,e.options)}else{var s=n._$AB.nextSibling,l=n._$AM,u=l!==e;if(u){var c;var d;(c=n._$AQ)===null||c===void 0?void 0:c.call(n,e),n._$AM=e,n._$AP!==void 0&&(d=e._$AU)!==l._$AU&&n._$AP(d)}if(s!==i||u){var h=n._$AA;for(;h!==s;){var f=h.nextSibling;r.insertBefore(h,i),h=f}}}return n},ib=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e;return e._$AI(t,n),e},i_={},ik=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i_;return e._$AH=t},iw=function(e){return e._$AH},iE=function(e){var t;(t=e._$AP)===null||t===void 0?void 0:t.call(e,!1,!0);var n=e._$AA,r=e._$AB.nextSibling;for(;n!==r;){var i=n.nextSibling;n.remove(),n=i}};var ix=function(e,t,n){var r=new Map;for(var i=t;i<=n;i++)r.set(e[i],i);return r},iq=ih(/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;if(n=a(this,t,[e]),e.type!==id.CHILD)throw Error("repeat() can only be used in text expressions");return n}c(t,[{key:"dt",value:function e(e,t,n){var r;n===void 0?n=t:t!==void 0&&(r=t);var i=[],o=[],a=0;var s=true,l=false,u=undefined;try{for(var c=e[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;i[a]=r?r(h,a):a,o[a]=n(h,a),a++}}catch(e){l=true;u=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}return{values:o,keys:i}}},{key:"render",value:function e(e,t,n){return this.dt(e,t,n).values}},{key:"update",value:function e(e,t){var n=C(t,3),r=n[0],i=n[1],o=n[2];var a=iw(e),s=this.dt(r,i,o),l=s.values,u=s.keys;if(!Array.isArray(a))return this.ut=u,l;var c;var d=(c=this.ut)!==null&&c!==void 0?c:this.ut=[],h=[],f,p,v=0,y=a.length-1,m=0,g=l.length-1;for(;v<=y&&m<=g;)if(a[v]===null)v++;else if(a[y]===null)y--;else if(d[v]===u[m])h[m]=ib(a[v],l[m]),v++,m++;else if(d[y]===u[g])h[g]=ib(a[y],l[g]),y--,g--;else if(d[v]===u[g])h[g]=ib(a[v],l[g]),ig(e,h[g+1],a[v]),v++,g--;else if(d[y]===u[m])h[m]=ib(a[y],l[m]),ig(e,a[v],a[y]),y--,m++;else if(f===void 0&&(f=ix(u,m,g),p=ix(d,v,y)),f.has(d[v]))if(f.has(d[y])){var b=p.get(u[m]),_=b!==void 0?a[b]:null;if(_===null){var k=ig(e,a[v]);ib(k,l[m]),h[m]=k}else h[m]=ib(_,l[m]),ig(e,a[v],_),a[b]=null;m++}else iE(a[y]),y--;else iE(a[v]),v++;for(;m<=g;){var w=ig(e,h[g+1]);ib(w,l[m]),h[m++]=w}for(;v<=y;){var E=a[v++];E!==null&&iE(E)}return this.ut=u,ik(e,h),rh}}]);return t}(ip));var iA=nR(ef());var iS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e.startPoint=null;e.endPoint=null;e._correctLines=[];e._response=[];e.addEventListener("qti-register-hotspot",e.positionHotspotOnRegister);return e}c(t,[{key:"reset",value:function e(){this._response=[],this._correctLines=[]}},{key:"validate",value:function e(){return this.response.length>0}},{key:"response",get:function e(){return this._response},set:function e(e){this._response=e}},{key:"toggleCorrectResponse",value:function e(e,t){if(!t){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 e(){var e=this;var t,n,r,i;return ru(em(),rY((t=this.grImage[0])===null||t===void 0?void 0:t.width),rY((n=this.grImage[0])===null||n===void 0?void 0:n.height),(r=this.grImage[0])===null||r===void 0?void 0:r.width,(i=this.grImage[0])===null||i===void 0?void 0:i.height,iq(this.response,function(e){return e},function(t,n){return rc(ep(),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.top),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.top),function(t){t.stopPropagation(),e._response=e._response.filter(function(e,t){return t!==n}),e.saveResponse(e.response)})}),iq(this._correctLines,function(e){return e},function(t,n){return rc(ev(),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.top),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.top))}),this.startPoint&&rc(ey(),this.startCoord.x,this.startCoord.y,this.mouseCoord.x,this.mouseCoord.y))}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tT(i,o,t,n)}},{key:"firstUpdated",value:function e(){var e=this;this.hotspots=this.querySelectorAll("qti-associable-hotspot"),this.addEventListener("mousemove",function(t){var n=e.grImage[0];if(!n)return;var r=n.getBoundingClientRect();e.mouseCoord={x:t.clientX-r.left,y:t.clientY-r.top}}),this.hotspots.forEach(function(t){t.style.left=t.getAttribute("coords").split(",")[0]+"px",t.style.top=t.getAttribute("coords").split(",")[1]+"px",t.addEventListener("click",function(t){e.startPoint?e.endPoint||(e.endPoint=t.target,e._response=M(e.response).concat(["".concat(e.startPoint.getAttribute("identifier")," ").concat(e.endPoint.getAttribute("identifier"))]),e.saveResponse(e.response),e.startPoint=null,e.endPoint=null):(e.startPoint=t.target,e.startCoord={x:parseInt(e.startPoint.getAttribute("coords").split(",")[0]),y:parseInt(e.startPoint.getAttribute("coords").split(",")[1])})})})}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return t}(r5);iS.styles=iA,tB([i()],iS.prototype,"_correctLines",2),tB([i()],iS.prototype,"startCoord",2),tB([i()],iS.prototype,"mouseCoord",2),tB([u({selector:"img"})],iS.prototype,"grImage",2),tB([i()],iS.prototype,"_response",2),iS=tB([rO("qti-graphic-associate-interaction")],iS);var iC=nR(eg());var iR=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(eb())}},{key:"positionHotspotOnRegister",value:function e(e){var t=e.target,n=t.getAttribute("coords"),r=t.getAttribute("shape"),i=n.split(",").map(function(e){return parseInt(e)});switch(r){case"circle":{var o=C(i,3),a=o[0],s=o[1],l=o[2];t.style.left=a-l+"px",t.style.top=s-l+"px",t.style.width=t.style.height=2*l+"px"}break;case"rect":{var u=C(i,4),c=u[0],d=u[1],h=u[2],f=u[3];t.style.left=c+"px",t.style.top=d+"px",t.style.width=h-c+"px",t.style.height=f-d+"px"}break;default:break}}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return t}(r2(r5,"qti-gap-img, qti-gap-text","qti-associable-hotspot","slot[part='drags']"));iR.styles=iC,iR=tB([rO("qti-graphic-gap-match-interaction")],iR);var iP=nR(e_());var iI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._choiceElements=[];return e}c(t,[{key:"render",value:function e(){return ru(ek())}},{key:"setHotspotOrder",value:function e(e){var t=e.detail,n=t.identifier,r=this._choiceElements.find(function(e){return e.getAttribute("identifier")===n});if(!r)return;var i=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){var o=this._choiceElements.filter(function(e){return e.order!=null}).length;if(o>=i){this.choiceOrdering=!1;return}r.order=o+1}else{var a=r.order;r.order=null,this._choiceElements.forEach(function(e){e.order!=null&&e.order>a&&e.order--})}this.choiceOrdering=!1}}},{key:"toggleCorrectResponse",value:function e(e,t){var n;var r=this._choiceElements;var i=true,o=false,a=undefined;try{var s=function(){var r=u.value;if(t&&((n=e.correctResponse)===null||n===void 0?void 0:n.length)>0&&Array.isArray(e.correctResponse)){var i=e.correctResponse.findIndex(function(e){return e===r.identifier});i>=0?r.orderCorrect=i+1:r.orderCorrect=null}else r.orderCorrect=null};for(var l=r[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(e){o=true;a=e}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tT(i,o,t,n)}},{key:"connectedCallback",value:function e(){h(f(t.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 e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return t}(r6(r5,"qti-hotspot-choice"));iI.styles=iP,iI=tB([rO("qti-graphic-order-interaction")],iI);var iM=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(tM(rI,"qti-hotspot-choice"));iM.styles=nR(ew()),tB([r({attribute:"aria-ordervalue",type:Number,reflect:!0})],iM.prototype,"order",2),tB([r({attribute:"aria-ordercorrectvalue",type:Number,reflect:!0})],iM.prototype,"orderCorrect",2),iM=tB([rO("qti-hotspot-choice")],iM);var iT=nR(eE());var iO=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(ex())}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tT(i,o,t,n)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("unregister-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return t}(r6(r5,"qti-hotspot-choice"));iO.styles=iT,iO=tB([rO("qti-hotspot-interaction")],iO);var iU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.render=function(){return ru(eq())};return e}return t}(r6(r5,"qti-hottext"));iU=tB([rO("qti-hottext-interaction")],iU);var i$=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(eA())}}]);return t}(tM(rI,"qti-hottext"));i$.styles=nR(eS()),i$=tB([rO("qti-hottext")],i$);var iL=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;if(n=a(this,t,[e]),n.it=rf,e.type!==id.CHILD)throw Error(n.constructor.directiveName+"() can only be used in child bindings");return n}c(t,[{key:"render",value:function e(e){if(e===rf||e==null)return this._t=void 0,this.it=e;if(e===rh)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;var t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}]);return t}(ip);iL.directiveName="unsafeHTML",iL.resultType=1;var iN=ih(iL);var iD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.options=[];e.correctOption="";e.dataPrompt="select";return e}c(t,[{key:"render",value:function e(){return ru(eP(),this.choiceSelected,this.disabled,this.readonly,this.options.map(function(e){return ru(eR(),e.value,e.selected,iN(e.textContent))}),iN(this.correctOption))}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("on-dropdown-selected",this.choiceSelected);var e=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1}].concat(M(e.map(function(e){return{textContent:e.innerHTML,value:e.getAttribute("identifier"),selected:!1}})))}},{key:"disconnectedCallback",value:function e(){this.removeEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"validate",value:function e(){var e=this.options.find(function(e){return e.selected});return e?e.value!=="":!1}},{key:"reset",value:function e(){this.options=this.options.map(function(e,t){return E(k({},e),{selected:t===0})})}},{key:"response",get:function e(){var e;return((e=this.options.find(function(e){return e.selected}))===null||e===void 0?void 0:e.value)||null},set:function e(e){this.options=this.options.map(function(t){return e&&e===t.value&&(t.selected=!0),t})}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;var r;if(this.correctResponse=t&&((r=e.correctResponse)===null||r===void 0?void 0:r.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(e){return n.correctResponse===e.value}).textContent,"</span>")}},{key:"choiceSelected",value:function e(e){var t=e.target.value;this.options=this.options.map(function(e){return E(k({},e),{selected:e.value===t})}),this.saveResponse(t)}}],[{key:"styles",get:function e(){return[nR(eC())]}}]);return t}(r5);iD.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"],tB([i()],iD.prototype,"options",2),tB([i()],iD.prototype,"correctOption",2),tB([r({attribute:"data-prompt",type:String})],iD.prototype,"dataPrompt",2),iD=tB([rO("qti-inline-choice-interaction")],iD);var iV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.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 e(){this.removeEventListener("click",this._onSelectInlineChoice)}},{key:"render",value:function e(){return ru(eM())}},{key:"_onSelectInlineChoice",value:function e(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}}],[{key:"styles",get:function e(){return[nR(eI())]}}]);return t}(rI);tB([r({type:String})],iV.prototype,"identifier",2),iV=tB([rO("qti-inline-choice")],iV);var ij=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.matchMin=0;e.matchMax=1;e.fixed=!1;return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}},{key:"render",value:function e(){return ru(eT())}}]);return t}(tM(rI,"qti-simple-associable-choice"));ij.styles=nR(eO()),tB([r({type:Number,attribute:"match-min"})],ij.prototype,"matchMin",2),tB([r({type:Number,attribute:"match-max"})],ij.prototype,"matchMax",2),tB([r({type:String,attribute:"fixed",converter:{fromAttribute:function(e){return e==="true"},toAttribute:function(e){return String(e)}}})],ij.prototype,"fixed",2),ij=tB([rO("qti-simple-associable-choice")],ij);var iH=nR(eU());var iz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.lastCheckedRadio=null;e.class="";e._response=[];e.responseIdentifier="";e.correctOptions=[];e.handleRadioClick=function(t){var n=t.target;e.lastCheckedRadio===n?(n.checked=!1,e.lastCheckedRadio=null,e.handleRadioChange(t)):e.lastCheckedRadio=n};e.handleRadioChange=function(t){var n=t.target,r=n.value,i=n.name,o=n.type;n.checked?(e.response?e.response.indexOf(r)===-1&&(o==="radio"&&(e.response=e.response.filter(function(e){return e.indexOf(i)===-1})),e.response=M(e.response).concat([r])):e.response=[r],e.lastCheckedRadio=n):(e.response=e.response.filter(function(e){return e!==r}),e.lastCheckedRadio=null),e.requestUpdate(),e.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:e.responseIdentifier,response:Array.isArray(e.response)?M(e.response):e.response}}))};return e}c(t,[{key:"response",get:function e(){return this.classList.contains("qti-match-tabular")?this._response:h(f(t.prototype),"response",this)},set:function e(e){this.classList.contains("qti-match-tabular")?this._response=e:A(f(t.prototype),"response",e,this,true)}},{key:"connectedCallback",value:function e(){var e=this;var n=this,r=function(){return h(f(t.prototype),"connectedCallback",e)};return o(function(){return L(this,function(e){r().call(n),n.rows=Array.from(n.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),n.cols=Array.from(n.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),n.response=[];return[2]})})()}},{key:"validate",value:function e(){var e;return this.class.split(" ").includes("qti-match-tabular")?((e=this.response)===null||e===void 0?void 0:e.length)===this.rows.length:h(f(t.prototype),"validate",this).call(this)}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(e.correctResponse){var r=(Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse]).map(function(e){var t=C(e.split(" "),2),n=t[0],r=t[1];return{text:n,gap:r}});this.class.split(" ").includes("qti-match-tabular")?t?this.correctOptions=r:this.correctOptions=null:t&&(this.querySelectorAll(".correct-option").forEach(function(e){return e.remove()}),this.cols.forEach(function(e){var t=e.getAttribute("identifier"),i=r.find(function(e){return e.gap===t});if(i===null||i===void 0?void 0:i.text){var o,a,s;var l=(a=n.querySelector('qti-simple-associable-choice[identifier="'.concat(i.text,'"]')))===null||a===void 0?void 0:(o=a.textContent)===null||o===void 0?void 0:o.trim();if(l&&!((s=e.previousElementSibling)===null||s===void 0?void 0:s.classList.contains("correct-option"))){var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=l,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",e.insertAdjacentElement("beforebegin",u)}}}))}else this.querySelectorAll(".correct-option").forEach(function(e){return e.remove()})}},{key:"render",value:function e(){var e=this;var t=this.class.split(" ").includes("qti-match-tabular");return ru(ej(),t,t?ru(eV(),this.cols.map(function(e){return ru(e$(),iN(e.innerHTML))}),this.rows.map(function(t){return ru(eD(),iN(t.innerHTML),e.cols.map(function(n){var r,i;var o=t.getAttribute("identifier"),a=n.getAttribute("identifier"),s="".concat(o," ").concat(a),l=e.response.filter(function(e){return e.split(" ")[0]===o}).length||0,u=e.response.includes(s),c=t.matchMax===1?"radio":"checkbox",d=!!((r=e.correctOptions)===null||r===void 0?void 0:r.find(function(e){return e.text===o&&e.gap===a})),h=c==="radio"?"rb ".concat(u?"rb-checked":""," ").concat(e.correctOptions?d?"rb-correct":"rb-incorrect":""):"cb ".concat(u?"cb-checked":""," ").concat(e.correctOptions?d?"cb-correct":"cb-incorrect":""),f=((i=e.correctOptions)===null||i===void 0?void 0:i.length)>0?!0:t.matchMax===1?!1:t.matchMax!==0&&l>=t.matchMax&&!u;return ru(eN(),c,h,o,s,f,function(t){return e.handleRadioChange(t)},function(n){return t.matchMax===1?e.handleRadioClick(n):null},c==="checkbox"&&u?ru(eL()):"")}))})):rf)}}]);return t}(r2(r5,"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"));iz.styles=iH,tB([r({type:String})],iz.prototype,"class",2),tB([i()],iz.prototype,"_response",2),tB([r({type:String,attribute:"response-identifier"})],iz.prototype,"responseIdentifier",2),tB([i()],iz.prototype,"correctOptions",2),iz=tB([rO("qti-match-interaction")],iz);var iQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._value=null;return e}c(t,[{key:"reset",value:function e(){}},{key:"validate",value:function e(){return!0}},{key:"response",get:function e(){return this._value?this._value.toString():null},set:function e(e){if(e)if(!isNaN(parseInt(e===null||e===void 0?void 0:e.toString())))this._value=parseInt(e.toString());else throw new Error("Value must be a number ".concat(e))}},{key:"render",value:function e(){return ru(eH())}},{key:"connectedCallback",value:function e(){var e=this;h(f(t.prototype),"connectedCallback",this).call(this);var n=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");n&&n.addEventListener("ended",function(){e._value++,e.saveResponse(e.value)})}}],[{key:"properties",get:function e(){return E(k({},r5.properties),{step:{type:Number,attribute:"step",default:10}})}}]);return t}(r5);iQ.styles=[nR(ez())],iQ=tB([rO("qti-media-interaction")],iQ);var iF=nR(eQ());var iB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.nrChoices=0;e.correctResponses=[];e.showCorrectResponses=!1;return e}c(t,[{key:"render",value:function e(){var e=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<e.length&&(this.nrChoices=e.length),ru(eB(),M(Array(this.nrChoices)).map(function(e,t){return ru(eF(),t)}))}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(this.shadowRoot.querySelectorAll(".correct-option").forEach(function(e){return e.remove()}),t&&e.correctResponse){var r=(Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse]).map(function(e){return e.split(" ")[0]}),i=new Set;this.querySelectorAll("qti-simple-choice").forEach(function(e,t){var o;var a=e.getAttribute("identifier");if(!a||!r.includes(a)||i.has(a))return;i.add(a);var s=(o=e.textContent)===null||o===void 0?void 0:o.trim();if(!s)return;var l=n.shadowRoot.querySelector('drop-list[identifier="droplist'.concat(t,'"]'));if(!l)return;var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=s,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",u.style.marginTop="4px",l.insertAdjacentElement("afterend",u)})}}},{key:"getValue",value:function e(e){return(e===null||e===void 0?void 0:e.map(function(e,t){return"".concat(e," droplist").concat(t)}))||[]}},{key:"getResponse",value:function e(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(function(e){var t=e.querySelectorAll('[qti-draggable="true"]');return M(Array.from(t).map(function(e){return e.getAttribute("identifier")})).join(" ")})}},{key:"firstUpdated",value:function e(e){var n=this;var r=this,i=function(){return h(f(t.prototype),"firstUpdated",n)};return o(function(){return L(this,function(t){i().call(r,e),r.childrenMap=Array.from(r.querySelectorAll("qti-simple-choice")),r.childrenMap.forEach(function(e){return e.setAttribute("part","qti-simple-choice")});return[2]})})()}}]);return t}(r2(r5,"qti-simple-choice","drop-list","slot[part='drags']"));iB.styles=iF,tB([i()],iB.prototype,"nrChoices",2),tB([i()],iB.prototype,"correctResponses",2),tB([i()],iB.prototype,"showCorrectResponses",2),tB([r({type:String})],iB.prototype,"orientation",2),iB=tB([rO("qti-order-interaction")],iB);var iW=nR(eW());var iJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;var n;e=a(this,t,arguments),n=e;e._iframeLoaded=!1;e._pendingMessages=[];e._responseCheckInterval=null;e._lastResponseStr="";e.requirePathsJson="";e.requireShimJson="";e.requireJsUrl="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js";e.baseUrl="";e.useIframe=!1;e.useDefaultShims=!1;e.useDefaultPaths=!1;e._errorMessage=null;e.response=[];e._parsedRequirePaths=null;e._parsedRequireShim=null;e.handleIframeMessage=function(t){var n=t.data;if(!(!n||n.source!=="qti-pci-iframe"))switch(n.method){case"iframeReady":e.initializeInteraction(),e.processPendingMessages(),e.dispatchEvent(new CustomEvent("qti-portable-custom-interaction-loaded",{bubbles:!0}));break;case"resize":typeof n.height=="number"&&e.iframe&&(e.iframe.style.height="".concat(n.height,"px"),e.iframe.style.width="".concat(n.width,"px"));break;case"interactionChanged":{var r=e.convertQtiVariableJSON(n.params.value);console.log("Interaction changed:",r),e.response=r,e.validate(),e.saveResponse(e.response);break}case"error":e._errorMessage=n.params.message,console.error("Error from PCI iframe:",n.params.message);break}};e._onInteractionChanged=function(t){t.stopPropagation();var n=e.convertQtiVariableJSON(t.detail.value);e.response=n,e.saveResponse(n)};e.loadConfig=/*#__PURE__*/function(){var e=o(function(e,t){var r,i,o,a;return L(this,function(o){switch(o.label){case 0:e=n.removeDoubleSlashes(e);o.label=1;case 1:o.trys.push([1,5,,6]);return[4,fetch(e)];case 2:r=o.sent();if(!r.ok)return[3,4];return[4,r.json()];case 3:i=o.sent();for(var s in i.paths)t&&(i.paths[s]=n.getResolvablePath(i.paths[s],t));return[2,i];case 4:return[3,6];case 5:a=o.sent();return[3,6];case 6:return[2,null]}})});return function(t,n){return e.apply(this,arguments)}}();e.getResolvablePathString=function(t,n){return t=t.replace(/\.js$/,""),(t===null||t===void 0?void 0:t.toLocaleLowerCase().startsWith("http"))||!n?t:e.removeDoubleSlashes("".concat(n,"/").concat(t))};e.getResolvablePath=function(t,n){return Array.isArray(t)?t.map(function(t){return e.getResolvablePathString(t,n)}):e.getResolvablePathString(t,n)};e._previousState=null;return e}c(t,[{key:"getRequirePaths",value:function e(){var e=this;if(this._parsedRequirePaths===null&&this.requirePathsJson)try{var t=JSON.parse(this.requirePathsJson);Array.isArray(t)?(this._parsedRequirePaths={},t.forEach(function(t){t.name&&t.value&&(e._parsedRequirePaths[t.name]=t.value)})):this._parsedRequirePaths=t}catch(e){console.error("Error parsing require paths JSON:",e),this._errorMessage="Error parsing require paths JSON: ".concat(e.message),this._parsedRequirePaths={}}return this._parsedRequirePaths||{}}},{key:"getRequireShim",value:function e(){if(this._parsedRequireShim===null&&this.requireShimJson)try{this._parsedRequireShim=JSON.parse(this.requireShimJson)}catch(e){console.error("Error parsing require shim JSON:",e),this._errorMessage="Error parsing require shim JSON: ".concat(e.message),this._parsedRequireShim={}}return this._parsedRequireShim||{}}},{key:"getDefaultRequirePaths",value:function e(){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 e(){return{mathJax:{exports:"MathJax",init:function e(){var e=window;if(e.MathJax)return e.MathJax.Hub.Config({showMathMenu:!1,showMathMenuMSIE:!1,menuSettings:{inTabOrder:!1}}),e.MathJax.Hub.Startup.MenuZoom=function(){},e.MathJax.Hub.Startup.onload(),e.MathJax}}}}},{key:"getFinalRequirePaths",value:function e(){var e=this.getDefaultRequirePaths(),t=this.getRequirePaths();return this.useDefaultPaths?k({},e,t):t}},{key:"getFinalRequireShim",value:function e(){var e=this.getRequireShim(),t=this.getDefaultRequireShim();return this.useDefaultShims?k({},t,e):e}},{key:"convertQtiVariableJSON",value:function e(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];if(n){for(var r in n)if(n.hasOwnProperty(r)){var i=n[r];if(Array.isArray(i))return i.map(String);if(i!=null)return String(i)}}}return null}},{key:"addHyphenatedKeys",value:function e(e){var t=k({},e);for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=n.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())});t[r]=e[n]}return t}},{key:"responseVariablesToQtiVariableJSON",value:function e(e,t,n){if(t!=="single"){var r={list:{}};return r.list[n]=e,r}else{var i={base:{}};return i.base[n]=e,i}}},{key:"validate",value:function e(){return!0}},{key:"value",get:function e(){var e,t;if(this.useIframe)return((e=this._value)===null||e===void 0?void 0:e.toString())||null;{var n;var r=(n=this.pci)===null||n===void 0?void 0:n.getResponse();if(r){var i=this.convertQtiVariableJSON(r);return Array.isArray(i)?i.join(","):i}}return Array.isArray(this._value)?this._value.join(","):((t=this._value)===null||t===void 0?void 0:t.toString())||null},set:function e(e){e===null?this._value=[]:this._value=Array.isArray(e)?e:e.split(",")}},{key:"boundTo",get:function e(){var e=this;var t,n;var r={};if((n=this.context)===null||n===void 0?void 0:(t=n.variables)===null||t===void 0?void 0:t.find(function(t){return t.identifier===e.responseIdentifier})){var i,o,a,s,l,u,c,d,h;var f=((a=this.context)===null||a===void 0?void 0:(o=a.variables)===null||o===void 0?void 0:(i=o.find(function(t){return t.identifier===e.responseIdentifier}))===null||i===void 0?void 0:i.cardinality)||"single",p=((u=this.context)===null||u===void 0?void 0:(l=u.variables)===null||l===void 0?void 0:(s=l.find(function(t){return t.identifier===e.responseIdentifier}))===null||s===void 0?void 0:s.baseType)||"string",v=((h=this.context)===null||h===void 0?void 0:(d=h.variables)===null||d===void 0?void 0:(c=d.find(function(t){return t.identifier===e.responseIdentifier}))===null||c===void 0?void 0:c.value)||null,y=this.responseVariablesToQtiVariableJSON(v,f,p);r[this.responseIdentifier]=y}return r},set:function e(e){if(!e||!e[this.responseIdentifier])return;var t=this.convertQtiVariableJSON(e[this.responseIdentifier]);this._value=t,this.saveResponse(t)}},{key:"register",value:function e(e){var t=this;this.pci=e,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(k({},this.dataset)),onready:function(e){if(t.pci=e,t.pci&&typeof t.pci.getResponse=="function")try{var n=t.pci.getResponse();t._lastResponseStr=JSON.stringify(n)}catch(e){console.error("Error getting initial response:",e)}try{var r=new ResizeObserver(function(e){var n=true,r=false,i=undefined;try{for(var o=e[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s.contentRect&&s.contentRect.height>0&&(t.style.height="".concat(s.contentRect.height+20,"px"))}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}});r.observe(t.dom),t._resizeObserver=r}catch(e){console.warn("ResizeObserver not supported, falling back to static sizing")}},ondone:function(e,n,r,i){t.response=t.convertQtiVariableJSON(n),t.saveResponse(t.response),t._lastResponseStr=JSON.stringify(n)},responseIdentifier:this.responseIdentifier,boundTo:this.boundTo};if(e.getInstance)e.getInstance(this.dom,n,void 0);else{var r=function(e){var t={},n=function(e){var t={};Object.entries(e.dataset).forEach(function(e){var n=C(e,2),r=n[0],i=n[1];r.includes("__")||(t[r]=i)});var n={};return Object.entries(e.dataset).forEach(function(e){var t=C(e,2),r=t[0],i=t[1];var o=r.split("__");if(o.length>1){var a=C(o,3),s=a[0],l=a[1],u=a[2];n[s]=n[s]||{},n[s][l]=n[s][l]||{},n[s][l][u]=i}}),Object.entries(n).forEach(function(e){var n=C(e,2),r=n[0],i=n[1];t[r]=Object.values(i)}),t}(e);for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];r==="config"?t[r]=JSON.parse(i):t[r]=i}return t}(this);e.initialize(this.customInteractionTypeIdentifier,this.dom.firstElementChild||this.dom,Object.keys(r).length?r:null)}}},{key:"disconnectedCallback",value:function e(){if(h(f(t.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 e=requirejs.s.contexts;delete e[this.customInteractionTypeIdentifier],this.removeEventListener("qti-interaction-changed",this._onInteractionChanged)}}},{key:"sendMessageToIframe",value:function e(e,t){if(!this._iframeLoaded){this._pendingMessages.push({method:e,params:t});return}this.iframe.contentWindow.postMessage({source:"qti-portable-custom-interaction",method:e,params:t},"*")}},{key:"processPendingMessages",value:function e(){var e=this;this._pendingMessages.length&&(this._pendingMessages.forEach(function(t){e.sendMessageToIframe(t.method,t.params)}),this._pendingMessages=[])}},{key:"createIframe",value:function e(){var e=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(){e._iframeLoaded=!0,e.addMarkupToIframe(),e.sendIframeInitData()};var t="qti-pci-".concat(this.responseIdentifier,"-").concat(Date.now());this.iframe.name=t;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 e(){var e={module:this.module,customInteractionTypeIdentifier:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl?this.baseUrl.startsWith("http")||this.baseUrl.startsWith("blob")||this.baseUrl.startsWith("base64")?this.baseUrl:$("".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",e)}},{key:"getInteractionModules",value:function e(){var e=[],t=this.querySelector("qti-interaction-modules");if(t){var n=t.querySelectorAll("qti-interaction-module");var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;e.push({id:l.getAttribute("id"),primaryPath:l.getAttribute("primary-path"),fallbackPath:l.getAttribute("fallback-path")})}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}return e}},{key:"addMarkupToIframe",value:function e(){var e=this.querySelector("qti-interaction-markup");e&&this.sendMessageToIframe("setMarkup",e.innerHTML);var t=this.querySelector("properties");t&&this.sendMessageToIframe("setProperties",t.innerHTML)}},{key:"initializeInteraction",value:function e(){}},{key:"connectedCallback",value:function e(){var e=this;if(h(f(t.prototype),"connectedCallback",this).call(this),this.useIframe)window.addEventListener("message",this.handleIframeMessage),this.createIframe();else{define("qtiCustomInteractionContext",function(){return{register:function(t){e.register(t)},notifyReady:function(){}}});var n=this.buildRequireConfig();if(n){var r=requirejs.config(n);requirejs.onError=function(e){throw console.error("RequireJS error:",e),e.requireType==="timeout"&&console.error("Modules that timed out:",e.requireModules),e},r(["require"],function(t){try{t([e.module],function(){},function(e){console.error("Error loading module:",e)})}catch(e){console.error("Error in require call:",e)}}),this.startResponseCheck()}}}},{key:"startResponseCheck",value:function e(){var e=this;this.stopResponseCheck(),this._responseCheckInterval=window.setInterval(function(){if(e.pci&&typeof e.pci.getResponse=="function")try{var t=e.pci.getResponse(),n=JSON.stringify(t);if(n!==e._lastResponseStr){e._lastResponseStr=n;var r=e.convertQtiVariableJSON(t);e.saveResponse(r)}}catch(e){console.error("Error checking for response changes:",e)}},500)}},{key:"stopResponseCheck",value:function e(){this._responseCheckInterval!==null&&(window.clearInterval(this._responseCheckInterval),this._responseCheckInterval=null)}},{key:"buildRequireConfig",value:function e(){var e={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 t=this.getAttribute("data-base-url"),n=this.querySelector("qti-interaction-modules");if(n){var r=n.querySelectorAll("qti-interaction-module");var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getAttribute("id"),d=u.getAttribute("primary-path"),h=u.getAttribute("fallback-path");if(c&&d){var f=h?this.combineRequireResolvePaths(this.getResolvablePath(d,t),this.getResolvablePath(h,t)):this.getResolvablePath(d,t),p=e.paths[c]||[];e.paths[c]=this.combineRequireResolvePaths(p,f)}}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}}return e}},{key:"combineRequireResolvePaths",value:function e(e,t){var n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];return n.concat(r).filter(function(e,t,n){return n.indexOf(e)===t})}},{key:"removeDoubleSlashes",value:function e(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}},{key:"generateIframeContent",value:function e(){var e=window.getComputedStyle(document.body),t=JSON.stringify(this.getFinalRequirePaths()),n=JSON.stringify(this.getFinalRequireShim()),r="\n font-family: ".concat(e.getPropertyValue("font-family"),";\n font-size: ").concat(e.getPropertyValue("font-size"),";\n line-height: ").concat(e.getPropertyValue("line-height"),";\n font-weight: ").concat(e.getPropertyValue("font-weight"),";\n color: ").concat(e.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(t,";\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 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({ ...config.dataAttributes }),\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 \n contextRequire(['require'], require => { \n // Now load the actual module\n require([modulePath], () => {\n }, err => {\n console.error('Error loading module after tap loaded:', modulePath, err);\n this.notifyError('Module load error: ' + err.toString());\n });\n });\n } catch (error) {\n console.error('Exception in loadModule:', 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 };\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:"toggleCorrectResponse",value:function e(e,t){var n;this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:e.cardinality==="single"?"":[];var r="correct-response-container-".concat(this.responseIdentifier),i=(n=this.parentElement)===null||n===void 0?void 0:n.querySelectorAll("#".concat(r));if(i&&i.forEach(function(e){e.remove()}),t)this.disable();else{this.enable();return}if(!t||!(e===null||e===void 0?void 0:e.correctResponse))return;var o=document.createElement("div");o.id=r,o.className="pci-correct-response-container",o.style.position="relative",o.style.marginTop="20px",o.style.border="2px solid green",o.style.padding="16px",o.style.borderRadius="4px",o.style.backgroundColor="rgba(0, 128, 0, 0.05)";var a=document.createElement("div");a.textContent="Correct Response:",a.style.fontWeight="bold",a.style.marginBottom="10px",a.style.color="green",o.appendChild(a);var s=document.createElement("qti-portable-custom-interaction");Array.from(this.attributes).forEach(function(e){e.name!=="id"&&e.name!=="response-identifier"&&s.setAttribute(e.name,e.value)});var l=this.responseIdentifier;s.responseIdentifier="".concat(l,"-correct"),Array.from(this.children).forEach(function(e){var t=e.cloneNode(!0);s.appendChild(t)});var u=e.correctResponse;if(this.useIframe){var c=s.connectedCallback;s.connectedCallback=function(){var t=this;c.call(this);var n=function(){return t._iframeLoaded?(setTimeout(function(){var n=t.responseVariablesToQtiVariableJSON(u,e.cardinality,e.baseType);t.sendMessageToIframe("setBoundTo",d({},l,n)),t.sendMessageToIframe("setState",{state:"review"})},1e3),!0):!1};if(!n()){var r=setInterval(function(){n()&&clearInterval(r)},100);setTimeout(function(){clearInterval(r)},1e4)}}}else{var h=s.register;s.register=function(t){var n=this;h.call(this,t);var r=function(){if(n.pci&&typeof n.pci.setResponse=="function"){var t=n.responseVariablesToQtiVariableJSON(u,e.cardinality,e.baseType);return n.pci.setResponse(t),typeof n.pci.setState=="function"&&n.pci.setState("review"),!0}return!1};setTimeout(function(){if(!r()){var e=setInterval(function(){r()&&clearInterval(e)},200);setTimeout(function(){clearInterval(e)},5e3)}},500)}}s.style.pointerEvents="none",o.appendChild(s),this.after(o)}},{key:"disable",value:function e(){if(this._previousState={pointerEvents:this.style.pointerEvents,position:this.style.position},this.useIframe&&this.sendMessageToIframe("setState",{state:"disabled"}),!this.querySelector(".pci-interaction-overlay")){var e=document.createElement("div");e.className="pci-interaction-overlay",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="rgba(200, 200, 200, 0.3)",e.style.zIndex="100",e.style.pointerEvents="all",e.style.cursor="not-allowed",getComputedStyle(this).position==="static"&&(this.style.position="relative"),this.appendChild(e)}}},{key:"enable",value:function e(){var e=this.querySelector(".pci-interaction-overlay");e&&e.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 e(){return ru(eG(),this._errorMessage?ru(eJ(),this._errorMessage):"")}}]);return t}(r5);iJ.styles=[iW,nR(eX())],tB([r({type:String,attribute:"module"})],iJ.prototype,"module",2),tB([r({type:String,attribute:"custom-interaction-type-identifier"})],iJ.prototype,"customInteractionTypeIdentifier",2),tB([r({type:String,attribute:"data-require-paths"})],iJ.prototype,"requirePathsJson",2),tB([r({type:String,attribute:"data-require-shim"})],iJ.prototype,"requireShimJson",2),tB([r({type:String,attribute:"data-require-js-url"})],iJ.prototype,"requireJsUrl",2),tB([r({type:String,attribute:"data-base-url"})],iJ.prototype,"baseUrl",2),tB([r({type:Boolean,attribute:"data-use-iframe"})],iJ.prototype,"useIframe",2),tB([r({type:Boolean,attribute:"data-use-default-shims"})],iJ.prototype,"useDefaultShims",2),tB([r({type:Boolean,attribute:"data-use-default-paths"})],iJ.prototype,"useDefaultPaths",2),tB([i()],iJ.prototype,"_errorMessage",2),tB([t({context:rN,subscribe:!0}),i()],iJ.prototype,"context",2),tB([i()],iJ.prototype,"response",2),iJ=tB([rO("qti-portable-custom-interaction")],iJ);var iG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(eY())}}]);return t}(rI);iG.styles=[nR(eK())];customElements.define("qti-position-object-interaction",iG);var iX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e.removeMoveListener=e.removeMoveListener.bind(e),e.dragElementHandler=e.dragElementHandler.bind(e);return e}c(t,[{key:"render",value:function e(){return ru(eZ())}},{key:"dragElementHandler",value:function e(e){e.preventDefault();var t=e.clientX-this.startX,n=e.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+t+"px",this.dragElement.style.top=this.dragElement.offsetTop+n+"px",this.startX=e.clientX,this.startY=e.clientY}},{key:"firstUpdated",value:function e(e){var n=this;h(f(t.prototype),"firstUpdated",this).call(this,e),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",function(e){n.startX=e.clientX,n.startY=e.clientY,document.addEventListener("mousemove",n.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}},{key:"removeMoveListener",value:function e(){document.removeEventListener("mousemove",this.dragElementHandler,!0)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}}]);return t}(rI);iX.styles=[nR(e0())],iX=tB([rO("qti-position-object-stage")],iX);var iY="important",iK=" !"+iY,iZ=ih(/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;var r;if(n=a(this,t,[e]),e.type!==id.ATTRIBUTE||e.name!=="style"||((r=e.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}c(t,[{key:"render",value:function e(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return r==null?t:t+"".concat(n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase(),":").concat(r,";")},"")}},{key:"update",value:function e(e,t){var n=C(t,1),r=n[0];var i=e.element,o=i.style;if(this.ft===void 0)return this.ft=new Set(Object.keys(r)),this.render(r);var a=true,s=false,l=undefined;try{for(var u=this.ft[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;r[d]==null&&(this.ft.delete(d),d.includes("-")?o.removeProperty(d):o[d]=null)}}catch(e){s=true;l=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}for(var h in r){var f=r[h];if(f!=null){this.ft.add(h);var p=typeof f=="string"&&f.endsWith(iK);h.includes("-")||p?o.setProperty(h,p?f.slice(0,-11):f,p?iY:""):o[h]=f}}return rh}}]);return t}(ip));var i0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.maxChoices=1/0;e.minChoices=0;e.response=[];e._correctAreas=[];e._imgElement=null;e._scaleX=1;e._scaleY=1;e._imageWidthOrginal=0;e._imageHeightOrginal=0;e._onImageClick=function(t){if(!e._imgElement){console.warn("No <img> element found in <qti-select-point-interaction>");return}e.calculateScale();var n=e._imgElement.getBoundingClientRect(),r=(t.clientX-n.left)*e._scaleX,i=(t.clientY-n.top)*e._scaleY,o="".concat(r.toFixed()," ").concat(i.toFixed());e.maxChoices===1?e.response=[o]:(e.maxChoices===0||e.response.length<e.maxChoices)&&(e.response=M(e.response).concat([o])),e.saveResponse(e.response)};e._onResize=function(){e.calculateScale()};return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._onResize)}},{key:"toggleCorrectResponse",value:function e(e,t){if(!t){this._correctAreas=[];return}var n=e.areaMapping,r=[];if(!n||n.areaMapEntries.length===0)if(e.correctResponse){var i=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];if(i.length===0||i.find(function(e){return e.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=i.map(function(e){return{shape:"circle",coords:e.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(e){return{coords:e.coords,shape:e.shape}})}},{key:"updated",value:function e(e){h(f(t.prototype),"updated",this).call(this,e);var n=this._imgElement;n&&e.has("_correctAreas")&&this._correctAreas.length>0&&(this.calculateScale(),this.shadowRoot.querySelectorAll("div").forEach(function(e){var t=e.dataset.coord,r=e.dataset.shape;t&&r&&tT(r,t.split(",").map(function(e){return+e}),n,e)}))}},{key:"render",value:function e(){var e=this;var t,n;return ru(e3(),iq((t=this.response)===null||t===void 0?void 0:t.filter(function(e){return e}),function(e){return e},function(t,n){var r=C(t.split(" ").map(Number),2),i=r[0],o=r[1],a=i/(e._imageWidthOrginal||1)*100,s=o/(e._imageHeightOrginal||1)*100,l=16,u=l/(e._imageWidthOrginal||1)*100,c=l/(e._imageHeightOrginal||1)*100;return ru(e1(),iZ({pointerEvents:e.maxChoices===1?"none":"auto",position:"absolute",transform:"translate(-50%, -50%)",left:"".concat(a,"%"),top:"".concat(s,"%"),width:"min(".concat(u,"%, 1rem)"),height:"min(".concat(c,"%, 1rem)"),minWidth:"min(".concat(u,"%, 1rem)"),minHeight:"min(".concat(c,"%, 1rem)"),borderRadius:"50%",background:"red"}),t,function(t){t.stopPropagation(),e.response=e.response.filter(function(e,t){return t!==n}),e.saveResponse(e.response)})}),iq((n=this._correctAreas)===null||n===void 0?void 0:n.filter(function(e){return e}),function(e){return e},function(e,t){return ru(e2(),iZ({position:"absolute",pointerEvents:"none",backgroundColor:"var(--qti-correct)",opacity:"0.5"}),e.coords,"correct-response-".concat(t+1),e.shape)}))}},{key:"reset",value:function e(){this.response=null}},{key:"validate",value:function e(){return this.response.length>=this.minChoices&&this.response.length<=this.maxChoices}},{key:"calculateScale",value:function e(){this._imageWidthOrginal=this._imgElement.getAttribute("width")?parseFloat(this._imgElement.getAttribute("width")):this._imgElement.naturalWidth,this._imageHeightOrginal=this._imgElement.getAttribute("height")?parseFloat(this._imgElement.getAttribute("height")):this._imgElement.naturalHeight;var e=this._imgElement.getBoundingClientRect();this._scaleX=e.width===0?1:this._imageWidthOrginal/e.width,this._scaleY=e.height===0?1:this._imageHeightOrginal/e.height}},{key:"firstUpdated",value:function e(){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 e(){h(f(t.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._onResize),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}}]);return t}(r5);i0.styles=[nR(e5())],tB([r({type:Number,attribute:"max-choices"})],i0.prototype,"maxChoices",2),tB([r({type:Number,attribute:"min-choices"})],i0.prototype,"minChoices",2),tB([i()],i0.prototype,"response",2),tB([i()],i0.prototype,"_correctAreas",2),i0=tB([rO("qti-select-point-interaction")],i0);var i1=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.templateIdentifier=null;e.showHide="show";e.fixed=!1;return e}c(t,[{key:"checked",get:function e(){return this.internals.states.has("--checked")}},{key:"render",value:function e(){return ru(e6(),this.marker?ru(e4(),this.marker):rf)}}]);return t}(tM(rI,"qti-simple-choice"));i1.styles=nR(e9()),tB([r({type:String,attribute:"template-identifier"})],i1.prototype,"templateIdentifier",2),tB([r({type:String,attribute:"show-hide"})],i1.prototype,"showHide",2),tB([r({type:Boolean,converter:{fromAttribute:function(e){return e==="true"},toAttribute:function(e){return String(e)}}})],i1.prototype,"fixed",2),tB([r({type:String,attribute:!1})],i1.prototype,"marker",2),i1=tB([rO("qti-simple-choice")],i1);var i2=nR(e7());var i3=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._value=0;e._correctResponseNumber=null;e.min=0;e.max=100;e.step=1;return e}c(t,[{key:"validate",value:function e(){return!0}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this._updateValue(this.min),this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}},{key:"response",get:function e(){return this._value.toString()},set:function e(e){var t=parseInt(e,10);isNaN(t)||this._updateValue(t)}},{key:"toggleCorrectResponse",value:function e(e,t){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 e(e){var t=this._value;if(this._value=Math.min(this.max,Math.max(this.min,e)),this._value===t)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 e(){return ru(te(),this.min,this.max,this._onMouseDown,this._onTouchStart,this.response,this._correctResponseNumber!==null?ru(e8(),this._correctResponseNumber):null)}},{key:"_onMouseDown",value:function e(e){var t=this;this._startDrag(e.pageX);var n=function(e){return t._onDrag(e.pageX)},r=function(){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r),t._onDragEnd()};document.addEventListener("mousemove",n),document.addEventListener("mouseup",r)}},{key:"_onTouchStart",value:function e(e){var t=this;this._startDrag(e.touches[0].pageX);var n=function(e){return t._onDrag(e.touches[0].pageX)},r=function(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",r),t._onDragEnd()};document.addEventListener("touchmove",n,{passive:!1}),document.addEventListener("touchend",r)}},{key:"_startDrag",value:function e(e){this._onDrag(e)}},{key:"_onDrag",value:function e(e){var t=this._rail.getBoundingClientRect(),n=e-t.left,r=Math.min(1,Math.max(0,n/t.width)),i=this.min+Math.round(r*(this.max-this.min)/this.step)*this.step;this._updateValue(i)}},{key:"_onDragEnd",value:function e(){this.dispatchEvent(new Event("change",{bubbles:!0}))}}]);return t}(r5);i3.styles=i2,tB([l("#rail")],i3.prototype,"_rail",2),tB([r({type:Number,attribute:"lower-bound"})],i3.prototype,"min",2),tB([r({type:Number,attribute:"upper-bound"})],i3.prototype,"max",2),tB([r({type:Number,attribute:"step"})],i3.prototype,"step",2),i3=tB([rO("qti-slider-interaction")],i3);var i5=function(e,t){var n;var r=e._$AN;if(r===void 0)return!1;var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;(n=u._$AO)===null||n===void 0?void 0:n.call(u,t,!1),i5(u,t)}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return!0},i4=function(e){var t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while((n===null||n===void 0?void 0:n.size)===0)},i6=function(e){for(var t;t=e._$AM;e=t){var n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),i9(t)}};var i9=function(e){var t,n;e.type==id.CHILD&&((t=e._$AP)!==null&&t!==void 0?t:e._$AP=tU,(n=e._$AQ)!==null&&n!==void 0?n:e._$AQ=tO)},i7=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e._$AN=void 0;return e}c(t,[{key:"_$AT",value:function e(e,n,r){h(f(t.prototype),"_$AT",this).call(this,e,n,r),i6(this),this.isConnected=e._$AU}},{key:"_$AO",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n,r,i,o;e!==this.isConnected&&(this.isConnected=e,e?(n=(r=this).reconnected)===null||n===void 0?void 0:n.call(r):(i=(o=this).disconnected)===null||i===void 0?void 0:i.call(o)),t&&(i5(this,e),i4(this))}},{key:"setValue",value:function e(e){if(iy(this._$Ct))this._$Ct._$AI(e,this);else{var t=M(this._$Ct._$AH);t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}},{key:"disconnected",value:function e(){}},{key:"reconnected",value:function e(){}}]);return t}(ip);var i8=function(){return new oe},oe=function e(){"use strict";s(this,e)},ot=new WeakMap,on=ih(/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(e){return rf}},{key:"update",value:function e(e,t){var n=C(t,1),r=n[0];var i;var o=r!==this.G;return o&&this.G!==void 0&&this.rt(void 0),(o||this.lt!==this.ct)&&(this.G=r,this.ht=(i=e.options)===null||i===void 0?void 0:i.host,this.rt(this.ct=e.element)),rf}},{key:"rt",value:function e(e){if(this.isConnected||(e=void 0),typeof this.G=="function"){var t;var n=(t=this.ht)!==null&&t!==void 0?t:globalThis,r=ot.get(n);r===void 0&&(r=new WeakMap,ot.set(n,r)),r.get(this.G)!==void 0&&this.G.call(this.ht,void 0),r.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}},{key:"lt",get:function e(){var e,t;var n;return typeof this.G=="function"?(e=ot.get((n=this.ht)!==null&&n!==void 0?n:globalThis))===null||e===void 0?void 0:e.get(this.G):(t=this.G)===null||t===void 0?void 0:t.value}},{key:"disconnected",value:function e(){this.lt===this.ct&&this.rt(void 0)}},{key:"reconnected",value:function e(){this.rt(this.ct)}}]);return t}(i7));var or=nR(tt());var oi=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.inputRef=i8();e.response=null;e._handleValueChange=function(){e._internals.setFormValue(e.value),e.validate()};return e}c(t,[{key:"value",get:function e(){return this.response||null},set:function e(e){this.response=e||null}},{key:"validate",value:function e(){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 e=this._input.checkValidity();this._internals.setValidity(e?{}:{customError:!1})}return this.response!==""&&this._input.checkValidity()}},{key:"toggleCorrectResponse",value:function e(e,t){if(t&&e.correctResponse){var n=e.correctResponse.toString();this._correctResponse=n}else this._correctResponse=null}},{key:"render",value:function e(){var e=this;return ru(tr(),this.responseIdentifier,function(t){e.reportValidity()},function(e){return e.stopImmediatePropagation()},this.textChanged,this.textChanged,this.patternMask=="[0-9]*"?"number":"text",rY(this.placeholderText?this.placeholderText:void 0),this.response,rY(this.patternMask?this.patternMask:void 0),1e3,this.disabled,this.readonly,this._correctResponse?ru(tn(),this._correctResponse):rf)}},{key:"textChanged",value:function e(e){if(this.disabled||this.readonly)return;var t=e.target;this.setEmptyAttribute(t.value),this.response!==t.value&&(this.value=t.value,this.saveResponse(t.value))}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("input");if(!e)return!1;var t=this.validate();return t||e.reportValidity(),t}},{key:"reset",value:function e(){this.response=""}},{key:"setEmptyAttribute",value:function e(e){this.setAttribute("empty",e===""?"true":"false")}}]);return t}(r5);oi.styles=or,tB([r({type:Number,attribute:"expected-length"})],oi.prototype,"expectedLength",2),tB([r({type:String,attribute:"pattern-mask"})],oi.prototype,"patternMask",2),tB([r({type:String,attribute:"placeholder-text"})],oi.prototype,"placeholderText",2),tB([r({type:String,attribute:"data-patternmask-message"})],oi.prototype,"dataPatternmaskMessage",2),tB([i()],oi.prototype,"response",2),tB([l("input")],oi.prototype,"_input",2),tB([y("response",{waitUntilFirstUpdate:!0})],oi.prototype,"_handleValueChange",2),oi=tB([rO("qti-text-entry-interaction")],oi);var oo=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._file=null;e._base64=null;return e}c(t,[{key:"reset",value:function e(){this._file=null,this._base64=null,this.saveResponse(null)}},{key:"validate",value:function e(){return this._base64!==null}},{key:"response",get:function e(){return this._base64},set:function e(e){if(typeof e=="string")this._base64=e,this.saveResponse(e);else if(e===null)this.reset();else throw new Error("Value must be a Base64-encoded string or null")}},{key:"render",value:function e(){return ru(ti(),this._onFileChange,this.disabled,this.readonly)}},{key:"_onFileChange",value:function e(e){var t=this;return o(function(){var n,r;return L(this,function(i){switch(i.label){case 0:n=e.target;r=n.files&&n.files.length>0;if(!r)return[3,2];t._file=n.files[0];return[4,t._convertToBase64(t._file)];case 1:r=(t._base64=i.sent(),t.saveResponse(t._base64),t.dispatchEvent(new CustomEvent("qti-interaction-response",{detail:{response:t._base64}})));i.label=2;case 2:r;return[2]}})})()}},{key:"_convertToBase64",value:function e(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){return t(r.result)},r.onerror=function(){return n(r.error)},r.readAsDataURL(e)})}}],[{key:"properties",get:function e(){return k({},r5.properties)}}]);return t}(r5);oo.styles=[nR(to())],oo=tB([rO("qti-upload-interaction")],oo);var oa=nR(ta());var os=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(ts())}}]);return t}(rI);os.styles=oa,os=tB([rO("qti-item-body")],os);var ol=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tl())}},{key:"process",value:function e(){var e=new ou,t=M(this.children);e.process(t)}}]);return t}(rI);ol.styles=[nR(tu())],ol=tB([rO("qti-outcome-processing")],ol);var ou=/*#__PURE__*/function(){"use strict";function e(){s(this,e)}c(e,[{key:"process",value:function e(e){var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;a.process()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}}}]);return e}();var oc=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tc())}},{key:"connectedCallback",value:function e(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}]);return t}(rI);oc=tB([rO("qti-prompt")],oc);var od='<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>',oh='<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 op=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(td())}},{key:"process",value:function e(){if(!this.closest("qti-assessment-item"))return;var e=M(this.children);var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;a.process()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}}},{key:"firstUpdated",value:function e(e){if(this.getAttribute("template")){var t=this.getAttribute("template").split("/"),n=t[t.length-1].replace(".xml","");switch(this.innerHTML="",n){case"map_response":{this.appendChild(this.fragmentFromString(oh).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(of).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(od).firstElementChild.firstElementChild);break}}}},{key:"fragmentFromString",value:function e(e){return document.createRange().createContextualFragment(e)}}]);return t}(rI);op.styles=[nR(th())],op=tB([rO("qti-response-processing")],op);var ov=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tf())}},{key:"process",value:function e(){throw new Error("Not implemented")}}]);return t}(rI);ov=tB([rO("qti-rule")],ov);var oy=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"childExpression",get:function e(){return this.firstElementChild}},{key:"process",value:function e(){var e=this.getAttribute("identifier"),t=this.context.variables.find(function(t){return t.identifier===e})||null,n;return t.interpolationTable&&(n=t.interpolationTable.get(parseInt(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:rJ(n)}})),n)}}]);return t}(ov);tB([r({type:String})],oy.prototype,"identifier",2),tB([t({context:rN,subscribe:!0}),i()],oy.prototype,"context",2);customElements.define("qti-lookup-outcome-value",oy);var om=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tp())}},{key:"process",value:function e(){var e=M(this.children);for(var t=0;t<e.length;t++){var n=e[t];if(n.calculate()){n.process();return}}}}]);return t}(ov);customElements.define("qti-response-condition",om);var og=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"process",value:function e(){var e=this.getAttribute("identifier");if(!e){console.warn('QtiSetOutcomeValue: Missing "identifier" attribute.');return}var t=this.firstElementChild;if(!t){console.warn("QtiSetOutcomeValue: No expression found.");return}var n=new ob(t).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:e,value:this.formatValue(n)}}))}},{key:"formatValue",value:function e(e){return Array.isArray(e)?e.map(rJ):e!==null?rJ(e):null}}]);return t}(ov),ob=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.expression=t}c(e,[{key:"process",value:function e(){var e;var t=(e=this.expression.calculate())!==null&&e!==void 0?e:null;return t===null&&console.warn("QtiSetOutcomeValueRule: Evaluated value is null."),Array.isArray(t)?t.map(function(e){return e.value?e.value:e}):t}}]);return e}();customElements.define("qti-set-outcome-value",og);var o_=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tv())}},{key:"calculate",value:function e(){return!0}},{key:"getSubRules",value:function e(){return M(this.children)}},{key:"process",value:function e(){var e=this.getSubRules();for(var t=0;t<e.length;t++)e[t].process()}}]);return t}(rI);customElements.define("qti-response-else",o_);var ok=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.firstElementChild.calculate()}},{key:"getSubRules",value:function e(){var e=[];for(var t=1;t<this.children.length;t++)e.push(this.children[t]);return e}}]);return t}(o_);customElements.define("qti-response-if",ok);var ow=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(ty(),h(f(t.prototype),"render",this).call(this))}}]);return t}(ok);customElements.define("qti-response-else-if",ow);var oE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.getVariables=function(){return Array.from(e.children).map(function(t){switch(t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=t.getAttribute("identifier")||"";return e.context.variables.find(function(e){return e.identifier===n})||null}case"qti-multiple":{var r=t.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(e){return e.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=t.getAttribute("identifier")||"",o=e.context.variables.find(function(e){return e.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:t.getResult().toString(),cardinality:"single"}}catch(e){console.warn("default not sufficient")}return null}}}).filter(function(e){return e!==null})};return e}c(t,[{key:"render",value:function e(){return ru(tm(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(rI);oE.styles=nR(tg()),tB([i()],oE.prototype,"result",2),tB([t({context:rN,subscribe:!0}),i()],oE.prototype,"context",2);var ox=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(oE);var oq=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.calculateChildren(Array.from(this.children))}}]);return t}(t$(ox));oq=tB([rO("qti-and")],oq);var oA=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.baseType="string";return e}c(t,[{key:"getResult",value:function e(){return this.textContent.trim()}}]);return t}(oE);tB([r({type:String,attribute:"base-type"})],oA.prototype,"baseType",2);customElements.define("qti-base-value",oA);var oS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(this.children.length===2){var t=e[0],n=e[1];if(t.baseType==="directedPair"&&n.baseType==="directedPair"&&t.cardinality==="multiple"){var r=t.value,i=n.value;return r.filter(function(e){return i.includes(e)}).length>0}else if(t.baseType==="directedPair"&&n.baseType==="directedPair"&&t.cardinality==="single"){var o=t.value;return n.value.includes(o)}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 t}(ox);customElements.define("qti-contains",oS);var oC=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"interpretation",get:function e(){return this.getAttribute("interpretation")||""}},{key:"getResult",value:function e(){var e=this.getAttribute("identifier")||"",t=this.context.variables.find(function(t){return t.identifier===e})||null;return t.cardinality!=="single"?t.correctResponse.length>0?t.correctResponse[0]:"":t.correctResponse}}]);return t}(oE);customElements.define("qti-correct",oC);var oR=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.roundingMode="significantFigures";return e}c(t,[{key:"figures",get:function e(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;var e=parseInt(this.getAttribute("figures")||"0");return isNaN(e)?(console.error("figures attribute is not a number"),null):e<0?(console.error("figures attribute is negative"),null):e<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):e}},{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if(this.roundingMode===null)return null;if(t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{var r=parseFloat(t.value),i=parseFloat(n.value);if(!isNaN(r)&&!isNaN(i))return this.roundingMode==="significantFigures"?r.toPrecision(this.figures)===i.toPrecision(this.figures):Math.round(r*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(i*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(i));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 t}(oE);tB([r({type:String})],oR.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",oR);var oP=/*#__PURE__*/function(){"use strict";function e(){s(this,e)}c(e,null,[{key:"isPointInArea",value:function e(e,t,n){if(n!=="point")return console.warn("Base type ".concat(n," is not supported for point area mapping.")),!1;var r=C(e.split(" ").map(Number),2),i=r[0],o=r[1],a=I(t.split(",")),s=a[0],l=a.slice(1),u=l.map(Number);switch(s.toLowerCase()){case"circle":case"default":{var c=C(u,3),d=c[0],h=c[1],f=c[2];return u.length!==3?(console.warn("Invalid circle definition: ".concat(t)),!1):Math.sqrt(Math.pow(i-d,2)+Math.pow(o-h,2))<=f}case"rect":{var p=C(u,4),v=p[0],y=p[1],m=p[2],g=p[3];return u.length!==4?(console.warn("Invalid rectangle definition: ".concat(t)),!1):i>=v&&i<=m&&o>=y&&o<=g}case"ellipse":{var b=C(u,4),_=b[0],k=b[1],w=b[2],E=b[3];if(u.length!==4)return console.warn("Invalid ellipse definition: ".concat(t)),!1;var x=Math.pow(i-_,2)/Math.pow(w,2),q=Math.pow(o-k,2)/Math.pow(E,2);return x+q<=1}case"poly":{if(u.length<6||u.length%2!==0)return console.warn("Invalid polygon definition: ".concat(t)),!1;var A=[];for(var S=0;S<u.length;S+=2)A.push({x:u[S],y:u[S+1]});return this.isPointInPolygon({x:i,y:o},A)}default:return console.warn("Unsupported shape type: ".concat(s)),!1}}},{key:"isPointInPolygon",value:function e(e,t){var n=!1;for(var r=0,i=t.length-1;r<t.length;i=r++){var o=t[r].x,a=t[r].y,s=t[i].x,l=t[i].y;a>e.y!=l>e.y&&e.x<(s-o)*(e.y-a)/(l-a)+o&&(n=!n)}return n}},{key:"compareSingleValues",value:function e(e,t,n){switch(n){case"identifier":case"string":return e===t;case"integer":{var r=parseInt(e,10),i=parseInt(t,10);if(!isNaN(r)&&!isNaN(i))return r===i;console.error("Cannot convert ".concat(e," and/or ").concat(t," to int."));break}case"float":{var o=parseFloat(e),a=parseFloat(t);if(!isNaN(o)&&!isNaN(a))return o===a;console.error("couldn't convert ".concat(e," and/or ").concat(t," to float."));break}case"pair":case"directedPair":{var s=e.split(" ").sort(),l=t.split(" ").sort();if(s.length===2&&l.length===2)return n==="pair"&&(s.sort(),l.sort()),s.join(" ")===l.join(" ");console.error("compared two pair but one of the values does not have 2 values: 1: ".concat(e," 2: ").concat(t));break}}return!1}}]);return e}();var oI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.toleranceMode="exact";return e}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),!1):oP.compareSingleValues(t.value,n.value,t.baseType)}return console.error("unexpected number of children in qti-equal"),null}}]);return t}(oE);tB([r({type:String})],oI.prototype,"toleranceMode",2);customElements.define("qti-equal",oI);var oM=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if((t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+t.value>+n.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}}]);return t}(oE);customElements.define("qti-gt",oM);var oT=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return(t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+t.value>=+n.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}}]);return t}(ox);customElements.define("qti-gte",oT);var oO=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===1){var e=this.getVariables();if(!e)return!0;var t=e[0].value;return t==null||t==null||t===""}return console.error("unexpected number of children in qti Null"),null}}]);return t}(oE);customElements.define("qti-is-null",oO);var oU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if((t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+t.value<+n.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}}]);return t}(oE);customElements.define("qti-lt",oU);var o$=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return(t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+t.value<=+n.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}}]);return t}(ox);customElements.define("qti-lte",o$);var oL=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this;var t=this.context.variables.find(function(t){return t.identifier===e.identifier});if(!t||!t.mapping)return console.error("Response ".concat(this.identifier," can not be found")),null;var n=t.mapping,r=Array.isArray(t.value)?t.value:[t.value],i=0;var o=true,a=false,s=undefined;try{var l=function(){var e=c.value;var r=n.mapEntries.filter(function(n){return t.baseType==="string"&&!n.caseSensitive?oP.compareSingleValues(n.mapKey.toLowerCase(),e.toLowerCase(),t.baseType):oP.compareSingleValues(n.mapKey,e,t.baseType)}),o=r.reduce(function(e,t){return e.mappedValue>t.mappedValue?e:t},r.length>0?r[0]:{mapKey:null,mappedValue:null});o===null||o.mappedValue==null?i+=n.defaultValue:i+=o.mappedValue};for(var u=r[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(e){a=true;s=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return(n===null||n===void 0?void 0:n.lowerBound)!==null&&(n===null||n===void 0?void 0:n.lowerBound)!==void 0&&(i=Math.max(n.lowerBound,i)),(n===null||n===void 0?void 0:n.upperBound)!==null&&(n===null||n===void 0?void 0:n.upperBound)!==void 0&&(i=Math.min(n.upperBound,i)),i}}]);return t}(oE);tB([r({type:String})],oL.prototype,"identifier",2);customElements.define("qti-map-response",oL);var oN=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.getVariables=function(){return Array.from(e.children).map(function(t){switch(t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=t.getAttribute("identifier")||"";return e.context.variables.find(function(e){return e.identifier===n})||null}case"qti-multiple":{var r=t.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(e){return e.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=t.getAttribute("identifier")||"",o=e.context.variables.find(function(e){return e.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:t.getResult().toString(),cardinality:"single"}}catch(e){console.warn("default not sufficient")}return null}}}).filter(function(e){return e!==null})};return e}c(t,[{key:"render",value:function e(){return ru(tb(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(rI);oN.styles=nR(t_()),tB([i()],oN.prototype,"result",2),tB([t({context:rN,subscribe:!0}),i()],oN.prototype,"context",2);var oD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this;var t=this.context.variables.find(function(t){return t.identifier===e.identifier});if(!t)return console.warn("Response ".concat(this.identifier," cannot be found")),null;var n=t.areaMapping;if(!n)return console.warn("Area mapping not found for response ".concat(this.identifier)),null;var r=Array.isArray(t.value)?t.value:[t.value];if(!r||r.length===0)return console.warn("No candidate responses for response ".concat(this.identifier)),null;var i=0,o=new Set;var a=true,s=false,l=undefined,u=true,c=false,d=undefined;try{for(var h=r[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;try{for(var v=n.areaMapEntries[Symbol.iterator](),y;!(a=(y=v.next()).done);a=true){var m=y.value;if(o.has(m.coords))continue;var g;oP.isPointInArea(p,"".concat(m.shape,",").concat(m.coords),t.baseType)&&(i+=(g=m.mappedValue)!==null&&g!==void 0?g:0,o.add(m.coords))}}catch(e){s=true;l=e}finally{try{if(!a&&v.return!=null){v.return()}}finally{if(s){throw l}}}}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}return o.size<r.length&&(i+=n.defaultValue),n.lowerBound!=null&&(i=Math.max(n.lowerBound,i)),n.upperBound!=null&&(i=Math.min(n.upperBound,i)),i}}]);return t}(oN);tB([r({type:String})],oD.prototype,"identifier",2);customElements.define("qti-map-response-point",oD);var oV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),n=e[0],r=e[1];return t.match(n,r)}return console.error("unexpected number of children in match"),null}}],[{key:"match",value:function e(e,t){if(e.value===null)return!1;switch(t.cardinality){case"single":var n;return Array.isArray(e.value)||Array.isArray(t.value)?(console.error("unexpected cardinality in qti match"),!1):oP.compareSingleValues((n=e.value)===null||n===void 0?void 0:n.toString(),t.value.toString(),t.baseType);case"ordered":{if(!Array.isArray(e.value)||!Array.isArray(t.value))return console.error("unexpected cardinality in qti match"),!1;if(e.value.length!==t.value.length)return!1;for(var r=0;r<e.value.length;r++)if(!oP.compareSingleValues(t.value[r],e.value[r],t.baseType))return!1;return!0}case"multiple":{if(!Array.isArray(e.value)||!Array.isArray(t.value))return console.error("unexpected cardinality in qti match"),!1;if(e.value.length!==t.value.length)return!1;var i=0;var o=true,a=false,s=undefined;try{for(var l=t.value[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=null,h=M(e.value);var f=true,p=false,v=undefined;try{for(var y=h[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;if(oP.compareSingleValues(c,g,t.baseType)){d=g;break}}}catch(e){p=true;v=e}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}if(d!==null)h.splice(h.indexOf(d),1);else return!1;i++}}catch(e){a=true;s=e}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}}]);return t}(oE);customElements.define("qti-match",oV);var oj=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");var t=C(e,2),n=t[0],r=t[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 i=n.value;return r.value.includes(i)}}]);return t}(oE);customElements.define("qti-member",oj);var oH=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===0)return console.error("unexpected number of children in qti multiple"),null;var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;if(a.cardinality!=="multiple"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[]}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}}]);return t}(oE);customElements.define("qti-multiple",oH);var oz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tk(),h(f(t.prototype),"render",this).call(this))}},{key:"getResult",value:function e(){return!this.firstElementChild.calculate()}}]);return t}(oE);customElements.define("qti-not",oz);var oQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return Array.from(this.children).map(function(e){var t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=t.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(e){return typeof e=="boolean"&&e})}}]);return t}(ox);customElements.define("qti-or",oQ);var oF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===0)return console.error("unexpected number of children in qti multiple"),null;var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;if(a.cardinality!=="ordered"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[]}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}}]);return t}(oE);customElements.define("qti-ordered",oF);var oB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.context)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return r===null?rf:ru(tw(),JSON.stringify(r,null,2))}},{key:"calculate",value:function e(){var e=this;return this.context.variables.find(function(t){return t.identifier===e.identifier})||null}}]);return t}(rI);tB([r({type:String})],oB.prototype,"identifier",2),tB([t({context:rN,subscribe:!0}),i()],oB.prototype,"context",2);customElements.define("qti-printed-variable",oB);var oW=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return this.getVariables().reduce(function(e,t){if(t.baseType=="float"||t.baseType=="integer")try{return e*parseInt(t.value.toString())}catch(e){console.warn("can not convert to number")}else console.warn("has another baseType ".concat(t.baseType));return e},1)}}]);return t}(oE);customElements.define("qti-product",oW);var oJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return this.calculateChildren(Array.from(this.children))}}]);return t}(tL(oE));customElements.define("qti-subtract",oJ);var oG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.caseSensitive="true";return e}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if(t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti string-match"),!1;var r=this.caseSensitive==="true"?t.value:t.value.toLowerCase(),i=this.caseSensitive==="true"?n.value:n.value.toLowerCase();return oP.compareSingleValues(r,i,t.baseType)}return console.error("unexpected number of children in qti-string-match"),null}}]);return t}(oE);tB([r({type:String,attribute:"case-sensitive"})],oG.prototype,"caseSensitive",2);customElements.define("qti-string-match",oG);var oX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e._expression=new oY(Array.from(e.children));return e}c(t,[{key:"getResult",value:function e(){return this._expression.calculate()}}]);return t}(oE),oY=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.expressions=t}c(e,[{key:"calculate",value:function e(){return this.expressions.map(function(e){if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var t=e.calculate();return Number.isNaN(t)?(console.error("unexpected value in qti-sum, expected number"),null):Number(t)}).reduce(function(e,t){return e+t},0)}}]);return e}();customElements.define("qti-sum",oX);var oK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getAttribute("identifier");return this.context.variables.find(function(t){return t.identifier===e}).value}}]);return t}(oE);customElements.define("qti-variable",oK);var oZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===1){var t=e[0].value;if(Array.isArray(t)){var n=Math.floor(Math.random()*t.length);return t[n]}return t}return console.error("unexpected number of children in match"),null}}]);return t}(oE);customElements.define("qti-random",oZ);var o0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return t.cardinality!=="single"||!Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),null):e[0].baseType!==e[1].baseType?(console.error("The baseType of the two variables is different"),null):n.value.filter(function(e){return!t.value.includes(e)})}}}]);return t}(oN);customElements.define("qti-delete",o0);var o1=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tE())}}]);return t}(rI);o1=tB([rO("qti-content-body")],o1);var o2=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"handleclassNamesChange",value:function e(){var e=this;this.classNames.split(" ").forEach(function(t){switch(t){case"qti-rubric-discretionary-placement":e.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":e.setAttribute("slot","");break;default:break}})}},{key:"render",value:function e(){return ru(tx())}}]);return t}(rI);o2.styles=nR(tq()),tB([r({type:String})],o2.prototype,"id",2),tB([r({type:String})],o2.prototype,"use",2),tB([r({type:String})],o2.prototype,"view",2),tB([r({type:String,attribute:"class"})],o2.prototype,"classNames",2),tB([y("classNames",{waitUntilFirstUpdate:!0})],o2.prototype,"handleclassNamesChange",1),o2=tB([rO("qti-rubric-block")],o2);var o3=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.styleElement=null;return e}c(t,[{key:"firstUpdated",value:function e(e){var n=this;h(f(t.prototype),"firstUpdated",this).call(this,e);var r=this.getAttribute("href");if(r!==null&&fetch(r).then(function(e){return e.text()}).then(function(e){var t=n.minifyCss(e);n.styleElement=document.createElement("style"),n.styleElement.media="screen",n.styleElement.textContent="@scope {".concat(t,"}"),n.parentElement?n.parentElement.appendChild(n.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}).catch(function(e){console.error("Failed to load stylesheet:",e)}),this.textContent!==null&&this.textContent.trim()!==""){var i=this.minifyCss(this.textContent);this.styleElement=document.createElement("style"),this.styleElement.media="screen",this.styleElement.textContent="@scope {".concat(i,"}"),this.parentElement?this.parentElement.appendChild(this.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}}},{key:"minifyCss",value:function e(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;])\s*/g,"$1").trim()}},{key:"disconnectedCallback",value:function e(){if(this.styleElement)try{this.styleElement.remove()}catch(e){console.error("Could not remove stylesheet:",e)}h(f(t.prototype),"disconnectedCallback",this).call(this)}}]);return t}(rI);o3=tB([rO("qti-stylesheet")],o3);var o5=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tA())}},{key:"defaultValues",value:function e(e){var t=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(t.length===0)return null;var n=t.map(function(e){return e.innerHTML.trim()});return n.length>1||e.cardinality==="multiple"||e.cardinality==="ordered"?n:n[0]}}]);return t}(rI);o5=tB([rO("qti-variabledeclaration")],o5);var o4=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.externalScored=null;return e}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return ru(tS(),JSON.stringify(r,null,2))}},{key:"interpolationTable",get:function e(){var e=this.querySelector("qti-interpolation-table");if(e){var t=new Map;var n=true,r=false,i=undefined;try{for(var o=e.querySelectorAll("qti-interpolation-table-entry")[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;!s.getAttribute("source-value")&&s.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");var l=parseInt(s.getAttribute("source-value")),u=parseInt(s.getAttribute("target-value"));(isNaN(l)||isNaN(u))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),t.set(l,u)}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return t}return null}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this);var e={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,type:"outcome",value:null,interpolationTable:this.interpolationTable,externalScored:this.externalScored};e.value=this.defaultValues(e),(e.value===null||e.value==null)&&(e.baseType==="integer"||e.baseType==="float")&&(e.value="0"),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}}]);return t}(o5);o4.styles=[nR(tC())],tB([r({type:String,attribute:"base-type"})],o4.prototype,"baseType",2),tB([r({type:String,attribute:"external-scored"})],o4.prototype,"externalScored",2),tB([r({type:String})],o4.prototype,"identifier",2),tB([r({type:String})],o4.prototype,"cardinality",2),tB([t({context:rN,subscribe:!0}),i()],o4.prototype,"itemContext",2),o4=tB([rO("qti-outcome-declaration")],o4);var o6=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return ru(tR(),JSON.stringify(r,null,2))}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this);var e={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,areaMapping:this.areaMapping,value:null,type:"response",candidateResponse:null};e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}},{key:"correctResponse",get:function e(){var e,t=this.querySelector("qti-correct-response");if(t){var n=t.querySelectorAll("qti-value");if(this.cardinality==="single"&&n.length>0)e=n[0].textContent.trim(),n[0].remove();else if(this.cardinality!=="single"){e=[];for(var r=0;r<n.length;r++)e.push(n[r].textContent.trim()),n[r].remove()}}return e}},{key:"mapping",get:function e(){var e=this.querySelector("qti-mapping"),t=parseInt(e===null||e===void 0?void 0:e.getAttribute("lower-bound")),n=parseInt(e===null||e===void 0?void 0:e.getAttribute("upper-bound"));return{defaultValue:Number(e===null||e===void 0?void 0:e.getAttribute("default-value"))||0,lowerBound:isNaN(t)?null:t,upperBound:isNaN(n)?null:n,mapEntries:Array.from((e===null||e===void 0?void 0:e.querySelectorAll("qti-map-entry"))||[]).map(function(e){return{mapKey:e.getAttribute("map-key")||"",mappedValue:Number(e.getAttribute("mapped-value"))||0,caseSensitive:e.hasAttribute("case-sensitive")?e.getAttribute("case-sensitive")!=="false":!0}})}}},{key:"areaMapping",get:function e(){var e=this.querySelector("qti-area-mapping"),t=Number(e===null||e===void 0?void 0:e.getAttribute("default-value"))||0,n=parseInt(e===null||e===void 0?void 0:e.getAttribute("lower-bound")),r=parseInt(e===null||e===void 0?void 0:e.getAttribute("upper-bound")),i=Array.from((e===null||e===void 0?void 0:e.querySelectorAll("qti-area-map-entry"))||[]).map(function(e){return{shape:e.getAttribute("shape")||"default",coords:e.getAttribute("coords")||"",mappedValue:Number(e.getAttribute("mapped-value"))||0,defaultValue:Number(e.getAttribute("default-value"))||0}});return{defaultValue:t,lowerBound:isNaN(n)?null:n,upperBound:isNaN(r)?null:r,areaMapEntries:i}}}]);return t}(o5);o6.styles=[nR(tP())],tB([r({type:String,attribute:"base-type"})],o6.prototype,"baseType",2),tB([r({type:String})],o6.prototype,"identifier",2),tB([r({type:String})],o6.prototype,"cardinality",2),tB([t({context:rN,subscribe:!0}),i()],o6.prototype,"itemContext",2),o6=tB([rO("qti-response-declaration")],o6);return tF(tW)}();
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function i(e,t,n,r,i,o,a){try{var s=e[o](a);var l=s.value}catch(e){n(e);return}if(s.done){t(l)}else{Promise.resolve(l).then(r,i)}}function o(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){i(a,r,o,s,l,"next",e)}function l(e){i(a,r,o,s,l,"throw",e)}s(undefined)})}}function a(e,t,n){t=f(t);return x(e,$()?Reflect.construct(t,n||[],f(e).constructor):t.apply(e,n))}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function l(e,t,n){if($()){l=Reflect.construct}else{l=function e(e,t,n){var r=[null];r.push.apply(r,t);var i=Function.bind.apply(e,r);var o=new i;if(n)S(o,n.prototype);return o}}return l.apply(null,arguments)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function c(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function d(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function h(e,t,n){if(typeof Reflect!=="undefined"&&Reflect.get){h=Reflect.get}else{h=function e(e,t,n){var r=R(e,t);if(!r)return;var i=Object.getOwnPropertyDescriptor(r,t);if(i.get){return i.get.call(n||e)}return i.value}}return h(e,t,n||e)}function f(e){f=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return f(e)}function p(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function v(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function y(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function m(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var i=true;var o=false;var a,s;try{for(n=n.call(e);!(i=(a=n.next()).done);i=true){r.push(a.value);if(t&&r.length===t)break}}catch(e){o=true;s=e}finally{try{if(!i&&n["return"]!=null)n["return"]()}finally{if(o)throw s}}return r}function b(){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 _(){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(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){d(e,t,n[t])})}return e}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function E(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{w(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function x(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function q(e,t,n,r){if(typeof Reflect!=="undefined"&&Reflect.set){q=Reflect.set}else{q=function e(e,t,n,r){var i=R(e,t);var o;if(i){o=Object.getOwnPropertyDescriptor(i,t);if(o.set){o.set.call(r,n);return true}else if(!o.writable){return false}}o=Object.getOwnPropertyDescriptor(r,t);if(o){if(!o.writable){return false}o.value=n;Object.defineProperty(r,t,o)}else{d(r,t,n)}return true}}return q(e,t,n,r)}function A(e,t,n,r,i){var o=q(e,t,n,r||e);if(!o&&i){throw new Error("failed to set property")}return n}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function C(e,n){return t(e)||g(e,n)||O(e,n)||b()}function R(e,t){while(!Object.prototype.hasOwnProperty.call(e,t)){e=f(e);if(e===null)break}return e}function P(e,t){if(!t){t=e.slice(0)}return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function I(e){return t(e)||m(e)||O(e)||b()}function M(e){return n(e)||m(e)||O(e)||_()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function O(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.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 e(t,n)}function U(e){var t=typeof Map==="function"?new Map:undefined;U=function e(e){if(e===null||!y(e))return e;if(typeof e!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof t!=="undefined"){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return l(e,arguments,f(this).constructor)}n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}});return S(n,e)};return U(e)}function $(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return($=function(){return!!e})()}function L(e,t){var n,r,i,o={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=s(0),a["throw"]=s(1),a["return"]=s(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(s){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(o=0)),o)try{if(n=1,r&&(i=s[0]&2?r["return"]:s[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;if(r=0,i)s=[s[0]&2,i.value];switch(s[0]){case 0:case 1:i=s;break;case 4:o.label++;return{value:s[1],done:false};case 5:o.label++;r=s[1];s=[0];continue;case 7:s=o.ops.pop();o.trys.pop();continue;default:if(!(i=o.trys,i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){o=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(s[0]===6&&o.label<i[1]){o.label=i[1];i=s;break}if(i&&o.label<i[2]){o.label=i[2];o.ops.push(s);break}if(i[2])o.ops.pop();o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e];r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}function N(){var e=P(["<slot></slot>"]);N=function t(){return e};return e}function D(){var e=P(["<slot></slot>"]);D=function t(){return e};return e}function V(){var e=P(['<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>']);V=function t(){return e};return e}function j(){var e=P(["<slot @slotchange=","></slot>"]);j=function t(){return e};return e}function H(){var e=P([' <slot part="feedback" class="feedback ','"></slot> ']);H=function t(){return e};return e}function z(){var e=P(["\n :host {\n display: block;\n }\n .on {\n display: block;\n }\n .off {\n display: none;\n }\n "]);z=function t(){return e};return e}function Q(){var e=P([' <slot part="feedback" class="','"></slot> ']);Q=function t(){return e};return e}function F(){var e=P(["\n .on {\n display: inline-block;\n }\n .off {\n display: none;\n }\n "]);F=function t(){return e};return e}function B(){var e=P(['\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 ']);B=function t(){return e};return e}function W(){var e=P(["\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 "]);W=function t(){return e};return e}function J(){var e=P([' <slot name="drags"></slot> ']);J=function t(){return e};return e}function G(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);G=function t(){return e};return e}function X(){var e=P(["\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 :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"]);X=function t(){return e};return e}function Y(){var e=P(['<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>']);Y=function t(){return e};return e}function K(){var e=P([' <slot name="prompt"></slot>\n <slot name="qti-simple-associable-choice"></slot>\n <div part="drop-container">\n ','\n\n <div role="alert" id="validationMessage"></div>\n </div>']);K=function t(){return e};return e}function Z(){var e=P(["\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"]);Z=function t(){return e};return e}function ee(){var e=P(['\n <slot part="prompt" name="prompt"></slot><slot part="slot" @slotchange=','></slot>\n <div part="message" role="alert" id="validationMessage"></div>\n ']);ee=function t(){return e};return e}function et(){var e=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);et=function t(){return e};return e}function en(){var e=P(["<iframe\n width=","\n height=",'\n frameborder="0"\n title="pciContainer"\n id="pciContainer"\n >\n </iframe>\n ',""]);en=function t(){return e};return e}function er(){var e=P(["<button ?disabled=",' part="button" @click=',">","</button>"]);er=function t(){return e};return e}function ei(){var e=P(["\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"]);ei=function t(){return e};return e}function eo(){var e=P(['<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>"]);eo=function t(){return e};return e}function ea(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);ea=function t(){return e};return e}function es(){var e=P(["\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"]);es=function t(){return e};return e}function el(){var e=P(['<slot name="prompt"> </slot>\n <slot part="drags" name="drags"></slot>\n <slot part="drops"></slot>\n <div role="alert" id="validationMessage"></div>']);el=function t(){return e};return e}function eu(){var e=P(["<slot></slot>"]);eu=function t(){return e};return e}function ec(){var e=P(["\n :host {\n display: inline-flex;\n user-select: none;\n }\n "]);ec=function t(){return e};return e}function ed(){var e=P([' <slot name="drags"></slot>']);ed=function t(){return e};return e}function eh(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);eh=function t(){return e};return e}function ef(){var e=P(["\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"]);ef=function t(){return e};return e}function ep(){var e=P(['\n <line\n part="line"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="red"\n stroke-width="3"\n @click=',"\n />\n "]);ep=function t(){return e};return e}function ev(){var e=P(['\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 ']);ev=function t(){return e};return e}function ey(){var e=P(['<line\n part="point"\n x1=',"\n y1=","\n x2=","\n y2=",'\n stroke="var(--qti-border-active)"\n stroke-width="3"\n />']);ey=function t(){return e};return e}function em(){var e=P(['<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" id="validationMessage"></div>']);em=function t(){return e};return e}function eg(){var e=P(["\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"]);eg=function t(){return e};return e}function eb(){var e=P([' <slot name="prompt"></slot>\n <slot part="image"></slot>\n <slot part="drags" name="drags" class="hover-border"></slot>\n <div role="alert" id="validationMessage"></div>']);eb=function t(){return e};return e}function e_(){var e=P(["\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"]);e_=function t(){return e};return e}function ek(){var e=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n <div role="alert" id="validationMessage"></div>\n ']);ek=function t(){return e};return e}function ew(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n position: absolute;\n }\n "]);ew=function t(){return e};return e}function eE(){var e=P(["\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 /* width:100%; */\n }\n"]);eE=function t(){return e};return e}function ex(){var e=P(['\n <slot name="prompt"></slot>\n <slot></slot>\n ']);ex=function t(){return e};return e}function eq(){var e=P(["<slot></slot>"]);eq=function t(){return e};return e}function eA(){var e=P(['<div part="ch"><div part="cha"></div></div>\n <slot></slot> ']);eA=function t(){return e};return e}function eS(){var e=P(["\n :host {\n display: flex;\n user-select: none;\n }\n "]);eS=function t(){return e};return e}function eC(){var e=P(["\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 "]);eC=function t(){return e};return e}function eR(){var e=P(['\n <option value="','" ?selected="','">',"</option>\n "]);eR=function t(){return e};return e}function eP(){var e=P(['\n <select part="select" @change="','" ?disabled="','" ?readonly="','">\n ',"\n </select>\n\n ","\n "]);eP=function t(){return e};return e}function eI(){var e=P(["\n :host {\n display: block;\n cursor: pointer;\n }\n "]);eI=function t(){return e};return e}function eM(){var e=P([" <slot></slot> "]);eM=function t(){return e};return e}function eT(){var e=P(['\n <slot part="slot"></slot>\n <slot part="dropslot" name="qti-simple-associable-choice"></slot>\n ']);eT=function t(){return e};return e}function eO(){var e=P(["\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: 100%; */\n }\n "]);eO=function t(){return e};return e}function eU(){var e=P(["\n slot:not([hidden]) {\n /* slot where the */\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n align-items: flex-start; /* prevents the drag and drop container slots having the same height */\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"]);eU=function t(){return e};return e}function e$(){var e=P(['<th part="r-header">',"</th>"]);e$=function t(){return e};return e}function eL(){var e=P(['\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 ']);eL=function t(){return e};return e}function eN(){var e=P(['<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>"]);eN=function t(){return e};return e}function eD(){var e=P(['<tr part="row">\n <td part="c-header">',"</td>\n ","\n </tr>"]);eD=function t(){return e};return e}function eV(){var e=P(['\n <table part="table">\n <tr part="r-header">\n <td></td>\n ',"\n </tr>\n\n ","\n </table>\n "]);eV=function t(){return e};return e}function ej(){var e=P(['\n <slot name="prompt"></slot>\n <slot ?hidden=',"></slot>\n\n ",'\n\n <div role="alert" id="validationMessage"></div>\n ']);ej=function t(){return e};return e}function eH(){var e=P([' <slot name="prompt"></slot>\n <slot></slot>']);eH=function t(){return e};return e}function ez(){var e=P([""]);ez=function t(){return e};return e}function eQ(){var e=P(["\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='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"]);eQ=function t(){return e};return e}function eF(){var e=P(['<drop-list role="region" part="drop-list" identifier="droplist','"></drop-list>']);eF=function t(){return e};return e}function eB(){var e=P([' <slot name="prompt"> </slot>\n <div part="container">\n <slot part="drags"> </slot>\n <div part="drops">\n ',"\n </div>\n </div>"]);eB=function t(){return e};return e}function eW(){var e=P(["\n ::slotted(qti-interaction-markup) {\n display: none;\n }\n"]);eW=function t(){return e};return e}function eJ(){var e=P(['<div style="color:red">\n <h1>Error</h1>\n ',"\n </div>"]);eJ=function t(){return e};return e}function eG(){var e=P(["\n <slot></slot>\n ","\n "]);eG=function t(){return e};return e}function eX(){var e=P(["\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 "]);eX=function t(){return e};return e}function eY(){var e=P(["<slot></slot>"]);eY=function t(){return e};return e}function eK(){var e=P(["\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 "]);eK=function t(){return e};return e}function eZ(){var e=P(["<slot></slot>"]);eZ=function t(){return e};return e}function e0(){var e=P(["\n :host {\n display: inline-block;\n position: relative;\n }\n "]);e0=function t(){return e};return e}function e1(){var e=P(['\n <button\n part="point"\n style=','\n aria-label="Remove point at ','"\n @click=',"\n ></button>\n "]);e1=function t(){return e};return e}function e2(){var e=P(["<div\n style=",'\n data-coord="','"\n alt=','\n data-shape="','"\n ></div>']);e2=function t(){return e};return e}function e3(){var e=P([' <slot name="prompt"></slot>\n <point-container>\n ',"\n ","\n <slot></slot>\n </point-container>"]);e3=function t(){return e};return e}function e5(){var e=P(["\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 "]);e5=function t(){return e};return e}function e4(){var e=P(['<div id="label">',"</div>"]);e4=function t(){return e};return e}function e6(){var e=P(['<div part="ch">\n <div part="cha"></div>\n </div>\n ','\n <slot part="slot"></slot>']);e6=function t(){return e};return e}function e9(){var e=P(["\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 "]);e9=function t(){return e};return e}function e7(){var e=P(["\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"]);e7=function t(){return e};return e}function e8(){var e=P(['\n <div id="knob-correct" part="knob-correct">\n <div id="value" part="value">',"</div>\n </div>\n "]);e8=function t(){return e};return e}function te(){var e=P(['\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 "]);te=function t(){return e};return e}function tt(){var e=P(["\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"]);tt=function t(){return e};return e}function tn(){var e=P(['<div part="correct">',"</div>"]);tn=function t(){return e};return e}function tr(){var e=P(['\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 "]);tr=function t(){return e};return e}function ti(){var e=P(['\n <div>\n <slot name="prompt"></slot>\n <input type="file" @change="','" ?disabled="','" ?readonly="','" />\n </div>\n ']);ti=function t(){return e};return e}function to(){var e=P(["\n :host {\n display: block;\n margin: 1em 0;\n }\n input[type='file'] {\n display: block;\n margin-top: 0.5em;\n }\n "]);to=function t(){return e};return e}function ta(){var e=P(["\n :host {\n display: block;\n }\n"]);ta=function t(){return e};return e}function ts(){var e=P(['<slot part="qti-rubric-blocks" name="qti-rubric-block"></slot><slot></slot>']);ts=function t(){return e};return e}function tl(){var e=P(["<slot></slot>"]);tl=function t(){return e};return e}function tu(){var e=P(["\n :host {\n display: none;\n }\n "]);tu=function t(){return e};return e}function tc(){var e=P(["<slot></slot>"]);tc=function t(){return e};return e}function td(){var e=P(["<slot></slot>"]);td=function t(){return e};return e}function th(){var e=P(["\n :host {\n display: none;\n }\n "]);th=function t(){return e};return e}function tf(){var e=P(["<slot></slot>"]);tf=function t(){return e};return e}function tp(){var e=P(["<slot></slot>"]);tp=function t(){return e};return e}function tv(){var e=P(["<slot></slot>"]);tv=function t(){return e};return e}function ty(){var e=P(["",""]);ty=function t(){return e};return e}function tm(){var e=P(["<pre>","</pre>\n <slot></slot>"]);tm=function t(){return e};return e}function tg(){var e=P(["\n slot {\n display: none;\n }\n "]);tg=function t(){return e};return e}function tb(){var e=P(["<pre>","</pre>\n <slot></slot>"]);tb=function t(){return e};return e}function t_(){var e=P(["\n slot {\n display: none;\n }\n "]);t_=function t(){return e};return e}function tk(){var e=P(["",""]);tk=function t(){return e};return e}function tw(){var e=P(["",""]);tw=function t(){return e};return e}function tE(){var e=P(["<slot></slot>"]);tE=function t(){return e};return e}function tx(){var e=P(["<slot></slot>"]);tx=function t(){return e};return e}function tq(){var e=P(["\n :host {\n display: block;\n }\n "]);tq=function t(){return e};return e}function tA(){var e=P(["<slot></slot>"]);tA=function t(){return e};return e}function tS(){var e=P(["",""]);tS=function t(){return e};return e}function tC(){var e=P(["\n :host {\n display: none;\n }\n "]);tC=function t(){return e};return e}function tR(){var e=P(["",""]);tR=function t(){return e};return e}function tP(){var e=P(["\n :host {\n display: none;\n }\n "]);tP=function t(){return e};return e}var QtiComponents=function(){var e=function e(e){var t=e.context;return function(e,n){var r=new WeakMap;if((typeof n==="undefined"?"undefined":T(n))=="object")return{get:function t(){return e.get.call(this)},set:function t(t){return r.get(this).setValue(t),e.set.call(this,t)},init:function e(e){return r.set(this,new tK(this,{context:t,initialValue:e})),e}};{e.constructor.addInitializer(function(e){r.set(e,new tK(e,{context:t}))});var i=Object.getOwnPropertyDescriptor(e,n),o;if(i===void 0){var a=new WeakMap;o={get:function e(){return a.get(this)},set:function e(e){r.get(this).setValue(e),a.set(this,e)},configurable:!0,enumerable:!0}}else{var s=i.set;o=E(k({},i),{set:function e(e){r.get(this).setValue(e),s===null||s===void 0?void 0:s.call(this,e)}})}return void Object.defineProperty(e,n,o)}}};var t=function e(e){var t=e.context,n=e.subscribe;return function(e,r){(typeof r==="undefined"?"undefined":T(r))=="object"?r.addInitializer(function(){var r=this;new tG(this,{context:t,callback:function(t){e.set.call(r,t)},subscribe:n})}):e.constructor.addInitializer(function(e){new tG(e,{context:t,callback:function(t){e[r]=t},subscribe:n})})}};var n=function e(e,t){if(!n7(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return n0!==void 0?n0.createHTML(t):t};var r=function e(e){return function(t,n){return(typeof n==="undefined"?"undefined":T(n))=="object"?r$(e,t,n):function(e,t,n){var r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0}(e,t,n)}};var i=function e(e){return r(E(k({},e),{state:!0,attribute:!1}))};var l=function e(e,t){return function(n,r,i){var o=function(t){var n;var r;return(r=(n=t.renderRoot)===null||n===void 0?void 0:n.querySelector(e))!==null&&r!==void 0?r:null};if(t){var a=(typeof r==="undefined"?"undefined":T(r))=="object"?n:i!==null&&i!==void 0?i:function(){var e=Symbol();return{get:function t(){return this[e]},set:function t(t){this[e]=t}}}(),s=a.get,l=a.set;return rL(n,r,{get:function e(){var e=s.call(this);return e===void 0&&(e=o(this),(e!==null||this.hasUpdated)&&l.call(this,e)),e}})}return rL(n,r,{get:function e(){return o(this)}})}};var u=function e(e){return function(t,n){var r=e!==null&&e!==void 0?e:{},i=r.slot,o=r.selector,a="slot"+(i?"[name=".concat(i,"]"):":not([name])");return rL(t,n,{get:function t(){var t;var n;var r=(t=this.renderRoot)===null||t===void 0?void 0:t.querySelector(a),i=(n=r===null||r===void 0?void 0:r.assignedElements(e))!==null&&n!==void 0?n:[];return o===void 0?i:i.filter(function(e){return e.matches(o)})}})}};var y=function e(e,t){var n=k({waitUntilFirstUpdate:!1},t);return function(t,r){var i=t.update,o=Array.isArray(e)?e:[e];t.update=function(e){var t=this;o.forEach(function(i){var o=i;if(e.has(o)){var a=e.get(o),s=t[o];a!==s&&(!n.waitUntilFirstUpdate||t.hasUpdated)&&t[r](a,s)}}),i.call(this,e)}}};var m=function e(e,t,n){e.querySelectorAll(t).forEach(function(e){var r="".concat(t,"-").concat(n),i=b(e,r);e.replaceWith(i)})};var g=function e(e,t){e.querySelectorAll("*").forEach(function(e){var n=e.classList;n&&n.forEach(function(n){if(n.startsWith("".concat(t,":"))){var r=n.slice("".concat(t,":").length),i="".concat(e.nodeName,"-").concat(r),o=b(e,i);e.replaceWith(o)}})})};var b=function e(e,t){var n=document.createElement(t);var r=true,i=false,o=undefined;try{for(var a=e.attributes[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;n.setAttribute(l.name,l.value)}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}for(;e.firstChild;)n.appendChild(e.firstChild);return n};var _=function e(e){var t=new XMLHttpRequest;return{promise:new Promise(function(n,r){t.open("GET",e,!0),t.responseType="document",t.onload=function(){t.status>=200&&t.status<300?n(t.responseXML):r(t.statusText)},t.onerror=function(){r(t.statusText)},t.send()}),xhr:t}};var w=function e(e){return new DOMParser().parseFromString(e,"text/xml")};var x=function e(e){var t=new XSLTProcessor,n=new DOMParser().parseFromString(rH,"text/xml");return t.importStylesheet(n),t.transformToFragment(e,document)};var q=function e(e,t){t.endsWith("/")||(t+="/"),e.querySelectorAll("[src],[href],[primary-path]").forEach(function(e){var n;var r="";e.getAttribute("src")&&(r="src"),e.getAttribute("href")&&(r="href"),e.getAttribute("primary-path")&&(r="primary-path");var i=(n=e.getAttribute(r))===null||n===void 0?void 0:n.trim();if(!i.startsWith("data:")&&!i.startsWith("http:")&&!i.startsWith("blob:")){var o=t+encodeURI(i);e.setAttribute(r,o)}})};var S=function e(e){e.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(function(e){var t=document.createComment(e.textContent);e.replaceChild(t,e.firstChild)})};var R=function e(e){e.querySelectorAll("qti-stylesheet").forEach(function(e){return e.remove()})};var P=function e(e){switch(e){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:}};var O=function e(e){return e==null};var $=function e(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")};var tI=function e(e,t){var n;return function(t,r){var i=t.connectedCallback,o=t.disconnectedCallback;t.connectedCallback=function(){var t=this;var o;i.call(this);var a=function(n){var i;var o=Array.from(t.querySelectorAll(e)).concat(Array.from(((i=t.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(e))||[]));var a=true,s=false,l=undefined;try{for(var u=n[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;var h=Array.from(d.addedNodes).map(function(e){return e}),f=Array.from(d.addedNodes).map(function(e){return e});d.type==="childList"&&h.find(function(e){return o.includes(e)})&&t[r](h,f)}}catch(e){s=true;l=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}};n=new MutationObserver(a),n.observe(this,{childList:!0,subtree:!0});var s=Array.from(this.querySelectorAll(e)).concat(Array.from(((o=this.shadowRoot)===null||o===void 0?void 0:o.querySelectorAll(e))||[]));this[r](Array.from(s),[])},t.disconnectedCallback=function(){o.call(this),n.disconnect()}}};var tM=function e(e,t){var n=/*#__PURE__*/function(e){"use strict";p(n,e);function n(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}s(this,n);var i;i=a(this,n,M(t));i.identifier="";i.tabIndex=0;i.disabled=!1;i.readonly=!1;i.internals=i.attachInternals();return i}c(n,[{key:"handleDisabledChange",value:function e(e,t){this.tabIndex=t?-1:0,t&&this.blur()}},{key:"connectedCallback",value:function e(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("register-".concat(t),{bubbles:!0,composed:!0}))}},{key:"disconnectedCallback",value:function e(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("click",this._onClick),this.dispatchEvent(new CustomEvent("unregister-".concat(t),{bubbles:!0,composed:!0}))}},{key:"_onKeyUp",value:function e(e){e.altKey||e.code==="Space"&&(e.preventDefault(),this._activate())}},{key:"_onClick",value:function e(){this.disabled||this.readonly||(this.focus(),this._activate())}},{key:"_activate",value:function e(){this.disabled||this.readonly||this.dispatchEvent(new CustomEvent("activate-".concat(t),{bubbles:!0,composed:!0,detail:{identifier:this.identifier}}))}},{key:"render",value:function e(){return ru(N())}}]);return n}(e);return tB([r({type:String})],n.prototype,"identifier",2),tB([r({type:Number,reflect:!0,attribute:"tabindex"})],n.prototype,"tabIndex",2),tB([r({type:Boolean,reflect:!0,attribute:"aria-disabled",converter:il})],n.prototype,"disabled",2),tB([r({type:Boolean,reflect:!0,attribute:"aria-readonly",converter:il})],n.prototype,"readonly",2),tB([y("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"handleDisabledChange",1),n};var tT=function e(e,t,n,r){var i=n.getAttribute("width")?parseFloat(n.getAttribute("width")):n.naturalWidth,o=n.getAttribute("height")?parseFloat(n.getAttribute("height")):n.naturalHeight;switch(e){case"circle":{if(t.length!==3){console.error("Invalid cirlce coordinates:",t);return}var a=C(t,3),s=a[0],l=a[1],u=a[2],c=s/i*100,d=l/o*100,h=u/i*100;r.style.left=c-h+"%",r.style.top=d-h+"%";var f=u/i*100,p=u/o*100;r.style.width=2*f+"%",r.style.height=2*p+"%",r.style.borderRadius="50%"}break;case"rect":{if(t.length!==4){console.error("Invalid rectangle coordinates:",t);return}var v=C(t,4),y=v[0],m=v[1],g=v[2],b=v[3],_=y/i*100,k=m/o*100,w=g/i*100,E=b/o*100;r.style.left=_+"%",r.style.top=k+"%",r.style.width=w-_+"%",r.style.height=E-k+"%"}break;case"ellipse":{if(t.length!==4){console.error("Invalid ellipse coordinates:",t);return}var x=C(t,4),q=x[0],A=x[1],S=x[2],R=x[3],P=q/i*100,I=A/o*100,T=S/i*100,O=R/o*100;r.style.left=P-T+"%",r.style.top=I-O+"%",r.style.width=2*T+"%",r.style.height=2*O+"%",r.style.borderRadius="50%"}break;case"poly":{var U,$,L,N;if(t.length<6||t.length%2!==0){console.error("Invalid polygon coordinates:",t);return}var D=[];for(var V=0;V<t.length;V+=2)D.push({x:t[V],y:t[V+1]});var j=(U=Math).min.apply(U,M(D.map(function(e){return e.x}))),H=($=Math).max.apply($,M(D.map(function(e){return e.x}))),z=(L=Math).min.apply(L,M(D.map(function(e){return e.y}))),Q=(N=Math).max.apply(N,M(D.map(function(e){return e.y}))),F=j/i*100,B=z/o*100,W=H/i*100,J=Q/o*100;r.style.left=F+"%",r.style.top=B+"%",r.style.width=W-F+"%",r.style.height=J-B+"%";var G=D.map(function(e){return{x:(e.x-j)/(H-j)*100,y:(e.y-z)/(Q-z)*100}}).map(function(e){return"".concat(e.x,"% ").concat(e.y,"%")}).join(",");r.style.clipPath="polygon(".concat(G,")")}break;default:console.error("Unsupported shape: ".concat(e));break}};var tO=function e(e){this._$AN!==void 0?(i4(this),this._$AM=e,i6(this)):this._$AM=e};var tU=function e(e){var t=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,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(var o=n;o<r.length;o++)i5(r[o],!1),i4(r[o]);else r!=null&&(i5(r,!1),i4(r));else i5(this,e)};var t$=function e(e){return /*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculateChildren",value:function e(e){return e.map(function(e){var t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=t.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(e){return typeof e=="boolean"&&e})}}]);return t}(e)};var tL=function e(e){return /*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculateChildren",value:function e(e){var t=e.map(function(e){if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var t=e.calculate();return Number.isNaN(t)?(console.error("Unexpected value in qti-subtract, expected number"),null):Number(t)});return t.some(function(e){return e===null})?(console.error("One or more child expressions returned invalid values"),0):t[0]-t[1]}}]);return t}(e)};var tN;var tD=Object.defineProperty;var tV=Object.getOwnPropertyDescriptor;var tj=Object.getOwnPropertyNames;var tH=Object.prototype.hasOwnProperty;var tz=function(e,t){for(var n in t)tD(e,n,{get:t[n],enumerable:!0})},tQ=function(e,t,n,r){var i=true,o=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":T(t))=="object"||typeof t=="function")try{var s=function(){var i=u.value;!tH.call(e,i)&&i!==n&&tD(e,i,{get:function(){return t[i]},enumerable:!(r=tV(t,i))||r.enumerable})};for(var l=tj(t)[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(e){o=true;a=e}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}return e};var tF=function(e){return tQ(tD({},"__esModule",{value:!0}),e)},tB=function(e,t,n,r){for(var i=r>1?void 0:r?tV(t,n):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(i=(r?a(t,n,i):a(i))||i);return r&&i&&tD(t,n,i),i};var tW={};tz(tW,{QtiAnd:function(){return oq},QtiAssessmentItem:function(){return rV},QtiAssessmentStimulusRef:function(){return rQ},QtiAssociableHotspot:function(){return r0},QtiAssociateInteraction:function(){return r4},QtiBaseValue:function(){return oA},QtiChoiceInteraction:function(){return r8},QtiCompanionMaterialsInfo:function(){return rF},QtiContains:function(){return oS},QtiContentBody:function(){return o1},QtiCorrect:function(){return oC},QtiCustomInteraction:function(){return ie},QtiCustomOperator:function(){return rB},QtiDelete:function(){return o0},QtiEndAttemptInteraction:function(){return it},QtiEqual:function(){return oI},QtiEqualRounded:function(){return oR},QtiExtendedTextInteraction:function(){return ii},QtiFeedbackBlock:function(){return rX},QtiFeedbackInline:function(){return rK},QtiGap:function(){return ic},QtiGapImg:function(){return io},QtiGapMatchInteraction:function(){return is},QtiGapText:function(){return iu},QtiGraphicAssociateInteraction:function(){return iS},QtiGraphicGapMatchInteraction:function(){return iR},QtiGraphicOrderInteraction:function(){return iI},QtiGt:function(){return oM},QtiGte:function(){return oT},QtiHotspotChoice:function(){return iM},QtiHotspotInteraction:function(){return iO},QtiHottext:function(){return i$},QtiHottextInteraction:function(){return iU},QtiInlineChoice:function(){return iV},QtiInlineChoiceInteraction:function(){return iD},QtiIsNull:function(){return oO},QtiItemBody:function(){return os},QtiLookupOutcomeValue:function(){return oy},QtiLt:function(){return oU},QtiLte:function(){return o$},QtiMapResponse:function(){return oL},QtiMapResponsePoint:function(){return oD},QtiMatch:function(){return oV},QtiMatchInteraction:function(){return iz},QtiMediaInteraction:function(){return iQ},QtiMember:function(){return oj},QtiModalFeedback:function(){return rZ},QtiMultiple:function(){return oH},QtiNot:function(){return oz},QtiOr:function(){return oQ},QtiOrderInteraction:function(){return iB},QtiOrdered:function(){return oF},QtiOutcomeDeclaration:function(){return o4},QtiOutcomeProcessing:function(){return ol},QtiOutcomeProcessingProcessor:function(){return ou},QtiPortableCustomInteraction:function(){return iJ},QtiPositionObjectInteraction:function(){return iG},QtiPositionObjectStage:function(){return iX},QtiPrintedVariable:function(){return oB},QtiProduct:function(){return oW},QtiPrompt:function(){return oc},QtiRandom:function(){return oZ},QtiResponseCondition:function(){return om},QtiResponseDeclaration:function(){return o6},QtiResponseElse:function(){return o_},QtiResponseElseIf:function(){return ow},QtiResponseIf:function(){return ok},QtiResponseProcessing:function(){return op},QtiRubricBlock:function(){return o2},QtiRule:function(){return ov},QtiSelectPointInteraction:function(){return i0},QtiSetOutcomeValue:function(){return og},QtiSetOutcomeValueRule:function(){return ob},QtiSimpleAssociableChoice:function(){return ij},QtiSimpleChoice:function(){return i1},QtiSliderInteraction:function(){return i3},QtiStringMatch:function(){return oG},QtiStylesheet:function(){return o3},QtiSubtract:function(){return oJ},QtiSum:function(){return oX},QtiSumExpression:function(){return oY},QtiTextEntryInteraction:function(){return oi},QtiUploadInteraction:function(){return oo},QtiVariable:function(){return oK},qtiAndMixin:function(){return t$},qtiSubtractMixin:function(){return tL}});var tJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r,i){s(this,t);var o;o=a(this,t,["context-request",{bubbles:!0,composed:!0}]),o.context=e,o.contextTarget=n,o.callback=r,o.subscribe=i!==null&&i!==void 0?i:!1;return o}return t}(U(Event));var tG=/*#__PURE__*/function(){"use strict";function e(t,n,r,i){var o=this;s(this,e);if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=function(e,t){o.unsubscribe&&(o.unsubscribe!==t&&(o.provided=!1,o.unsubscribe()),o.subscribe||o.unsubscribe()),o.value=e,o.host.requestUpdate(),o.provided&&!o.subscribe||(o.provided=!0,o.callback&&o.callback(e,t)),o.unsubscribe=t},this.host=t,n.context!==void 0){var a=n;var l;this.context=a.context,this.callback=a.callback,this.subscribe=(l=a.subscribe)!==null&&l!==void 0?l:!1}else this.context=n,this.callback=r,this.subscribe=i!==null&&i!==void 0?i:!1;this.host.addController(this)}c(e,[{key:"hostConnected",value:function e(){this.dispatchRequest()}},{key:"hostDisconnected",value:function e(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}},{key:"dispatchRequest",value:function e(){this.host.dispatchEvent(new tJ(this.context,this.host,this.t,this.subscribe))}}]);return e}();var tX=/*#__PURE__*/function(){"use strict";function e(t){var n=this;s(this,e);this.subscriptions=new Map,this.updateObservers=function(){var e=true,t=false,r=undefined;try{for(var i=n.subscriptions[Symbol.iterator](),o;!(e=(o=i.next()).done);e=true){var a=C(o.value,2),s=a[0],l=a[1],u=l.disposer;s(n.o,u)}}catch(e){t=true;r=e}finally{try{if(!e&&i.return!=null){i.return()}}finally{if(t){throw r}}}},t!==void 0&&(this.value=t)}c(e,[{key:"value",get:function e(){return this.o},set:function e(e){this.setValue(e)}},{key:"setValue",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}},{key:"addCallback",value:function e(e,t,n){var r=this;if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:function(){r.subscriptions.delete(e)},consumerHost:t});var i=this.subscriptions.get(e),o=i.disposer;e(this.value,o)}},{key:"clearCallbacks",value:function e(){this.subscriptions.clear()}}]);return e}();var tY=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n){s(this,t);var r;r=a(this,t,["context-provider",{bubbles:!0,composed:!0}]),r.context=e,r.contextTarget=n;return r}return t}(U(Event)),tK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r){s(this,t);var i;var o,l;i=a(this,t,[n.context!==void 0?n.initialValue:r]),i.onContextRequest=function(e){if(e.context!==i.context)return;var t;var n=(t=e.contextTarget)!==null&&t!==void 0?t:e.composedPath()[0];n!==i.host&&(e.stopPropagation(),i.addCallback(e.callback,n,e.subscribe))},i.onProviderRequest=function(e){var t;if(e.context!==i.context||((t=e.contextTarget)!==null&&t!==void 0?t:e.composedPath()[0])===i.host)return;var n=new Set;var r=true,o=false,a=undefined;try{for(var s=i.subscriptions[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true){var u=C(l.value,2),c=u[0],d=u[1],h=d.consumerHost;n.has(c)||(n.add(c),h.dispatchEvent(new tJ(i.context,h,c,!0)))}}catch(e){o=true;a=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(o){throw a}}}e.stopPropagation()},i.host=e,n.context!==void 0?i.context=n.context:i.context=n,i.attachListeners(),(o=(l=i.host).addController)===null||o===void 0?void 0:o.call(l,i);return i}c(t,[{key:"attachListeners",value:function e(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}},{key:"hostConnected",value:function e(){this.host.dispatchEvent(new tY(this.context,this.host))}}]);return t}(tX);var tZ=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);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=t}c(e,[{key:"shadowRoot",get:function e(){return this.__host.__shadowRoot}},{key:"checkValidity",value:function e(){return console.warn("`ElementInternals.checkValidity()` was called on the server.This method always returns true."),!0}},{key:"reportValidity",value:function e(){return!0}},{key:"setFormValue",value:function e(){}},{key:"setValidity",value:function e(){}}]);return e}();var t0=function e(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n},t1=function e(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},t2,t3,t5,t4,t6,t9,t7,t8,ne,nt,nn,nr,ni=function(e){var t;return typeof e=="boolean"?e:(t=e===null||e===void 0?void 0:e.capture)!==null&&t!==void 0?t:!1};var no=/*#__PURE__*/function(){"use strict";function e(){s(this,e);this.__eventListeners=new Map,this.__captureEventListeners=new Map}c(e,[{key:"addEventListener",value:function e(e,t,n){var r=this;var i;if(t==null)return;var o=ni(n)?this.__captureEventListeners:this.__eventListeners,a=o.get(e);if(a===void 0)a=new Map,o.set(e,a);else if(a.has(t))return;var s=(typeof n==="undefined"?"undefined":T(n))=="object"&&n?n:{};(i=s.signal)===null||i===void 0?void 0:i.addEventListener("abort",function(){return r.removeEventListener(e,t,n)}),a.set(t,s!==null&&s!==void 0?s:{})}},{key:"removeEventListener",value:function e(e,t,n){if(t==null)return;var r=ni(n)?this.__captureEventListeners:this.__eventListeners,i=r.get(e);i!==void 0&&(i.delete(t),i.size||r.delete(e))}},{key:"dispatchEvent",value:function e(e){var t=this;var n=[this],r=this.__eventTargetParent;if(e.composed)for(;r;)n.push(r),r=r.__eventTargetParent;else for(;r&&r!==this.__host;)n.push(r),r=r.__eventTargetParent;var i=!1,o=!1,a=0,s=null,l=null,u=null,c=e.stopPropagation,d=e.stopImmediatePropagation;Object.defineProperties(e,{target:k({get:function e(){return s!==null&&s!==void 0?s:l}},ns),srcElement:k({get:function t(){return e.target}},ns),currentTarget:k({get:function e(){return u}},ns),eventPhase:k({get:function e(){return a}},ns),composedPath:k({value:function(){return n}},ns),stopPropagation:k({value:function(){i=!0,c.call(e)}},ns),stopImmediatePropagation:k({value:function(){o=!0,d.call(e)}},ns)});var h=function(t,n,r){typeof t=="function"?t(e):typeof(t===null||t===void 0?void 0:t.handleEvent)=="function"&&t.handleEvent(e),n.once&&r.delete(t)},f=function(){return u=null,a=0,!e.defaultPrevented},p=n.slice().reverse();s=!this.__host||!e.composed?this:null;var v=function(e){for(l=t;l.__host&&e.includes(l.__host);)l=l.__host};var y=true,m=false,g=undefined;try{for(var b=p[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var w=_.value;!s&&(!l||l===w.__host)&&v(p.slice(p.indexOf(w))),u=w,a=w===e.target?2:1;var E=w.__captureEventListeners.get(e.type);if(E){var x=true,q=false,A=undefined;try{for(var S=E[Symbol.iterator](),R;!(x=(R=S.next()).done);x=true){var P=C(R.value,2),I=P[0],M=P[1];if(h(I,M,E),o)return f()}}catch(e){q=true;A=e}finally{try{if(!x&&S.return!=null){S.return()}}finally{if(q){throw A}}}}if(i)return f()}}catch(e){m=true;g=e}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}var T=e.bubbles?n:[this];l=null;var O=true,U=false,$=undefined;try{for(var L=T[Symbol.iterator](),N;!(O=(N=L.next()).done);O=true){var D=N.value;!s&&(!l||D===l.__host)&&v(T.slice(0,T.indexOf(D)+1)),u=D,a=D===e.target?2:3;var V=D.__eventListeners.get(e.type);if(V){var j=true,H=false,z=undefined;try{for(var Q=V[Symbol.iterator](),F;!(j=(F=Q.next()).done);j=true){var B=C(F.value,2),W=B[0],J=B[1];if(h(W,J,V),o)return f()}}catch(e){H=true;z=e}finally{try{if(!j&&Q.return!=null){Q.return()}}finally{if(H){throw z}}}}if(i)return f()}}catch(e){U=true;$=e}finally{try{if(!O&&L.return!=null){L.return()}}finally{if(U){throw $}}}return f()}}]);return e}(),na=no;var ns={__proto__:null};ns.enumerable=!0;Object.freeze(ns);var nl=(nt=/*#__PURE__*/function(){"use strict";function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,e);if(t2.set(this,!1),t3.set(this,!1),t5.set(this,!1),t4.set(this,!1),t6.set(this,Date.now()),t9.set(this,!1),t7.set(this,void 0),t8.set(this,void 0),ne.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":T(n))!="object"||!n)throw new Error('The "options" argument must be an object');var r=n.bubbles,i=n.cancelable,o=n.composed;t0(this,t2,!!i,"f"),t0(this,t3,!!r,"f"),t0(this,t5,!!o,"f"),t0(this,t7,"".concat(t),"f"),t0(this,t8,null,"f"),t0(this,ne,!1,"f")}c(e,[{key:"initEvent",value:function e(e,t,n){throw new Error("Method not implemented.")}},{key:"stopImmediatePropagation",value:function e(){this.stopPropagation()}},{key:"preventDefault",value:function e(){t0(this,t4,!0,"f")}},{key:"target",get:function e(){return t1(this,t8,"f")}},{key:"currentTarget",get:function e(){return t1(this,t8,"f")}},{key:"srcElement",get:function e(){return t1(this,t8,"f")}},{key:"type",get:function e(){return t1(this,t7,"f")}},{key:"cancelable",get:function e(){return t1(this,t2,"f")}},{key:"defaultPrevented",get:function e(){return t1(this,t2,"f")&&t1(this,t4,"f")}},{key:"timeStamp",get:function e(){return t1(this,t6,"f")}},{key:"composedPath",value:function e(){return t1(this,ne,"f")?[t1(this,t8,"f")]:[]}},{key:"returnValue",get:function e(){return!t1(this,t2,"f")||!t1(this,t4,"f")}},{key:"bubbles",get:function e(){return t1(this,t3,"f")}},{key:"composed",get:function e(){return t1(this,t5,"f")}},{key:"eventPhase",get:function e(){return t1(this,ne,"f")?nt.AT_TARGET:nt.NONE}},{key:"cancelBubble",get:function e(){return t1(this,t9,"f")},set:function e(e){e&&t0(this,t9,!0,"f")}},{key:"stopPropagation",value:function e(){t0(this,t9,!0,"f")}},{key:"isTrusted",get:function e(){return!1}}]);return e}(),t2=new WeakMap,t3=new WeakMap,t5=new WeakMap,t4=new WeakMap,t6=new WeakMap,t9=new WeakMap,t7=new WeakMap,t8=new WeakMap,ne=new WeakMap,nt.NONE=0,nt.CAPTURING_PHASE=1,nt.AT_TARGET=2,nt.BUBBLING_PHASE=3,nt);Object.defineProperties(nl.prototype,{initEvent:ns,stopImmediatePropagation:ns,preventDefault:ns,target:ns,currentTarget:ns,srcElement:ns,type:ns,cancelable:ns,defaultPrevented:ns,timeStamp:ns,composedPath:ns,returnValue:ns,bubbles:ns,composed:ns,eventPhase:ns,cancelBubble:ns,stopPropagation:ns,isTrusted:ns});var nu=(nr=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};s(this,t);var r;var i;r=a(this,t,[e,n]),nn.set(r,void 0),t0(r,nn,(i=n===null||n===void 0?void 0:n.detail)!==null&&i!==void 0?i:null,"f");return r}c(t,[{key:"initCustomEvent",value:function e(e,t,n,r){throw new Error("Method not implemented.")}},{key:"detail",get:function e(){return t1(this,nn,"f")}}]);return t}(nl),nn=new WeakMap,nr);Object.defineProperties(nu.prototype,{detail:ns});var nc=nl,nd=nu;var nh;(nh=globalThis.Event)!==null&&nh!==void 0?nh:globalThis.Event=nc;var nf;(nf=globalThis.CustomEvent)!==null&&nf!==void 0?nf:globalThis.CustomEvent=nd;var np=new WeakMap,nv=function(e){var t=np.get(e);return t===void 0&&np.set(e,t=new Map),t},ny=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.__shadowRootMode=null,e.__shadowRoot=null,e.__internals=null;return e}c(t,[{key:"attributes",get:function e(){return Array.from(nv(this)).map(function(e){var t=C(e,2),n=t[0],r=t[1];return{name:n,value:r}})}},{key:"shadowRoot",get:function e(){return this.__shadowRootMode==="closed"?null:this.__shadowRoot}},{key:"localName",get:function e(){return this.constructor.__localName}},{key:"tagName",get:function e(){var e;return(e=this.localName)===null||e===void 0?void 0:e.toUpperCase()}},{key:"setAttribute",value:function e(e,t){nv(this).set(e,String(t))}},{key:"removeAttribute",value:function e(e){nv(this).delete(e)}},{key:"toggleAttribute",value:function e(e,t){if(this.hasAttribute(e)){if(t===void 0||!t)return this.removeAttribute(e),!1}else return t===void 0||t?(this.setAttribute(e,""),!0):!1;return!0}},{key:"hasAttribute",value:function e(e){return nv(this).has(e)}},{key:"attachShadow",value:function e(e){var t={host:this};return this.__shadowRootMode=e.mode,e&&e.mode==="open"&&(this.__shadowRoot=t),t}},{key:"attachInternals",value:function e(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");var e=new tZ(this);return this.__internals=e,e}},{key:"getAttribute",value:function e(e){var t;return(t=nv(this).get(e))!==null&&t!==void 0?t:null}}]);return t}(na);var nm=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(ny),ng=nm;var nb;(nb=globalThis.litServerRoot)!==null&&nb!==void 0?nb:globalThis.litServerRoot=Object.defineProperty(new ng,"localName",{get:function e(){return"lit-server-root"}});var n_=/*#__PURE__*/function(){"use strict";function e(){s(this,e);this.__definitions=new Map}c(e,[{key:"define",value:function e(e,t){if(this.__definitions.has(e))if(process.env.NODE_ENV==="development")console.warn("'CustomElementRegistry' already has \"".concat(e,'" 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(e,'" has already been used with this registry'));var n;t.__localName=e,this.__definitions.set(e,{ctor:t,observedAttributes:(n=t.observedAttributes)!==null&&n!==void 0?n:[]})}},{key:"get",value:function e(e){var t;return(t=this.__definitions.get(e))===null||t===void 0?void 0:t.ctor}}]);return e}(),nk=n_;var nw=new nk;var nE=globalThis,nx=nE.ShadowRoot&&(nE.ShadyCSS===void 0||nE.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nq=Symbol(),nA=new WeakMap,nS=/*#__PURE__*/function(){"use strict";function e(t,n,r){s(this,e);if(this._$cssResult$=!0,r!==nq)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=n}c(e,[{key:"styleSheet",get:function e(){var e=this.o,t=this.t;if(nx&&e===void 0){var n=t!==void 0&&t.length===1;n&&(e=nA.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&nA.set(t,e))}return e}},{key:"toString",value:function e(){return this.cssText}}]);return e}(),nC=function(e){return new nS(typeof e=="string"?e:e+"",void 0,nq)},nR=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++){n[r-1]=arguments[r]}var i=e.length===1?e[0]:n.reduce(function(t,n,r){return t+function(e){if(e._$cssResult$===!0)return e.cssText;if(typeof e=="number")return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")}(n)+e[r+1]},e[0]);return new nS(i,e,nq)},nP=function(e,t){var n=true,r=false,i=undefined;if(nx)e.adoptedStyleSheets=t.map(function(e){return v(e,CSSStyleSheet)?e:e.styleSheet});else try{for(var o=t[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;var l=document.createElement("style"),u=nE.litNonce;u!==void 0&&l.setAttribute("nonce",u),l.textContent=s.cssText,e.appendChild(l)}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}},nI=nx||nE.CSSStyleSheet===void 0?function(e){return e}:function(e){return v(e,CSSStyleSheet)?function(e){var t="";var n=true,r=false,i=undefined;try{for(var o=e.cssRules[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;t+=s.cssText}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return nC(t)}(e):e};var nM=Object.is,nT=Object.defineProperty,nO=Object.getOwnPropertyDescriptor,nU=Object.getOwnPropertyNames,n$=Object.getOwnPropertySymbols,nL=Object.getPrototypeOf,nN=globalThis;var nD;(nD=nN.customElements)!==null&&nD!==void 0?nD:nN.customElements=nw;var nV=nN.trustedTypes,nj=nV?nV.emptyScript:"",nH=nN.reactiveElementPolyfillSupport,nz=function(e,t){return e},nQ={toAttribute:function e(e,t){switch(t){case Boolean:e=e?nj:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute:function e(e,t){var n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},nF=function(e,t){return!nM(e,t)},nB={attribute:!0,type:String,converter:nQ,reflect:!1,useDefault:!1,hasChanged:nF};var nW,nJ;(nW=Symbol.metadata)!==null&&nW!==void 0?nW:Symbol.metadata=Symbol("metadata"),(nJ=nN.litPropertyMetadata)!==null&&nJ!==void 0?nJ:nN.litPropertyMetadata=new WeakMap;var nG;var nX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e._$Ep=void 0,e.isUpdatePending=!1,e.hasUpdated=!1,e._$Em=null,e._$Ev();return e}c(t,[{key:"_$Ev",value:function e(){var e=this;var t;this._$ES=new Promise(function(t){return e.enableUpdating=t}),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)===null||t===void 0?void 0:t.forEach(function(t){return t(e)})}},{key:"addController",value:function e(e){var t;var n;((n=this._$EO)!==null&&n!==void 0?n:this._$EO=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)===null||t===void 0?void 0:t.call(e))}},{key:"removeController",value:function e(e){var t;(t=this._$EO)===null||t===void 0?void 0:t.delete(e)}},{key:"_$E_",value:function e(){var e=new Map,t=this.constructor.elementProperties;var n=true,r=false,i=undefined;try{for(var o=t.keys()[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s])}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}e.size>0&&(this._$Ep=e)}},{key:"createRenderRoot",value:function e(){var e;var t=(e=this.shadowRoot)!==null&&e!==void 0?e:this.attachShadow(this.constructor.shadowRootOptions);return nP(t,this.constructor.elementStyles),t}},{key:"connectedCallback",value:function e(){var e;var t;(t=this.renderRoot)!==null&&t!==void 0?t:this.renderRoot=this.createRenderRoot(),this.enableUpdating(!0),(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(e){var t;return(t=e.hostConnected)===null||t===void 0?void 0:t.call(e)})}},{key:"enableUpdating",value:function e(e){}},{key:"disconnectedCallback",value:function e(){var e;(e=this._$EO)===null||e===void 0?void 0:e.forEach(function(e){var t;return(t=e.hostDisconnected)===null||t===void 0?void 0:t.call(e)})}},{key:"attributeChangedCallback",value:function e(e,t,n){this._$AK(e,n)}},{key:"_$ET",value:function e(e,t){var n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&n.reflect===!0){var i;var o=(((i=n.converter)===null||i===void 0?void 0:i.toAttribute)!==void 0?n.converter:nQ).toAttribute(t,n.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}},{key:"_$AK",value:function e(e,t){var n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){var i,o;var a=n.getPropertyOptions(r),s=typeof a.converter=="function"?{fromAttribute:a.converter}:((i=a.converter)===null||i===void 0?void 0:i.fromAttribute)!==void 0?a.converter:nQ;var l,u;this._$Em=r,this[r]=(u=(l=s.fromAttribute(t,a.type))!==null&&l!==void 0?l:(o=this._$Ej)===null||o===void 0?void 0:o.get(r))!==null&&u!==void 0?u:null,this._$Em=null}}},{key:"requestUpdate",value:function e(e,t,n){if(e!==void 0){var r;var i=this.constructor,o=this[e];var a;if(n!==null&&n!==void 0?n:n=i.getPropertyOptions(e),!(((a=n.hasChanged)!==null&&a!==void 0?a:nF)(o,t)||n.useDefault&&n.reflect&&o===((r=this._$Ej)===null||r===void 0?void 0:r.get(e))&&!this.hasAttribute(i._$Eu(e,n))))return;this.C(e,t,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}},{key:"C",value:function e(e,t,n,r){var i=n.useDefault,o=n.reflect,a=n.wrapped;var s,l,u;i&&!((s=this._$Ej)!==null&&s!==void 0?s:this._$Ej=new Map).has(e)&&(this._$Ej.set(e,(l=r!==null&&r!==void 0?r:t)!==null&&l!==void 0?l:this[e]),a!==!0||r!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),o===!0&&this._$Em!==e&&((u=this._$Eq)!==null&&u!==void 0?u:this._$Eq=new Set).add(e))}},{key:"_$EP",value:function e(){var e=this;return o(function(){var t,n,r;return L(this,function(i){switch(i.label){case 0:e.isUpdatePending=!0;i.label=1;case 1:i.trys.push([1,3,,4]);return[4,e._$ES];case 2:i.sent();return[3,4];case 3:t=i.sent();Promise.reject(t);return[3,4];case 4:n=e.scheduleUpdate();r=n!=null;if(!r)return[3,6];return[4,n];case 5:r=i.sent();i.label=6;case 6:return[2,(r,!e.isUpdatePending)]}})})()}},{key:"scheduleUpdate",value:function e(){return this.performUpdate()}},{key:"performUpdate",value:function e(){if(!this.isUpdatePending)return;if(!this.hasUpdated){var e;if((e=this.renderRoot)!==null&&e!==void 0?e:this.renderRoot=this.createRenderRoot(),this._$Ep){var t=true,n=false,r=undefined;try{for(var i=this._$Ep[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=C(o.value,2),s=a[0],l=a[1];this[s]=l}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}this._$Ep=void 0}var u=this.constructor.elementProperties;var c=true,d=false,h=undefined;if(u.size>0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=C(p.value,2),y=v[0],m=v[1];var g=m.wrapped,b=this[y];g!==!0||this._$AL.has(y)||b===void 0||this.C(y,void 0,m,b)}}catch(e){d=true;h=e}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}var _=!1,k=this._$AL;try{var w;_=this.shouldUpdate(k),_?(this.willUpdate(k),(w=this._$EO)===null||w===void 0?void 0:w.forEach(function(e){var t;return(t=e.hostUpdate)===null||t===void 0?void 0:t.call(e)}),this.update(k)):this._$EM()}catch(e){throw _=!1,this._$EM(),e}_&&this._$AE(k)}},{key:"willUpdate",value:function e(e){}},{key:"_$AE",value:function e(e){var t;(t=this._$EO)===null||t===void 0?void 0:t.forEach(function(e){var t;return(t=e.hostUpdated)===null||t===void 0?void 0:t.call(e)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}},{key:"_$EM",value:function e(){this._$AL=new Map,this.isUpdatePending=!1}},{key:"updateComplete",get:function e(){return this.getUpdateComplete()}},{key:"getUpdateComplete",value:function e(){return this._$ES}},{key:"shouldUpdate",value:function e(e){return!0}},{key:"update",value:function e(e){var t=this;this._$Eq&&(this._$Eq=this._$Eq.forEach(function(e){return t._$ET(e,t[e])})),this._$EM()}},{key:"updated",value:function e(e){}},{key:"firstUpdated",value:function e(e){}}],[{key:"addInitializer",value:function e(e){var t;this._$Ei(),((t=this.l)!==null&&t!==void 0?t:this.l=[]).push(e)}},{key:"observedAttributes",get:function e(){return this.finalize(),this._$Eh&&M(this._$Eh.keys())}},{key:"createProperty",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:nB;if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){var n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&nT(this.prototype,e,r)}}},{key:"getPropertyDescriptor",value:function e(e,t,n){var r;var i=(r=nO(this.prototype,e))!==null&&r!==void 0?r:{get:function e(){return this[t]},set:function e(e){this[t]=e}},o=i.get,a=i.set;return{get:o,set:function t(t){var r=o===null||o===void 0?void 0:o.call(this);a===null||a===void 0?void 0:a.call(this,t),this.requestUpdate(e,r,n)},configurable:!0,enumerable:!0}}},{key:"getPropertyOptions",value:function e(e){var t;return(t=this.elementProperties.get(e))!==null&&t!==void 0?t:nB}},{key:"_$Ei",value:function e(){if(this.hasOwnProperty(nz("elementProperties")))return;var e=nL(this);e.finalize(),e.l!==void 0&&(this.l=M(e.l)),this.elementProperties=new Map(e.elementProperties)}},{key:"finalize",value:function e(){if(this.hasOwnProperty(nz("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(nz("properties"))){var e=this.properties,t=M(nU(e)).concat(M(n$(e)));var n=true,r=false,i=undefined;try{for(var o=t[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;this.createProperty(s,e[s])}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}var l=this[Symbol.metadata];if(l!==null){var u=litPropertyMetadata.get(l);var c=true,d=false,h=undefined;if(u!==void 0)try{for(var f=u[Symbol.iterator](),p;!(c=(p=f.next()).done);c=true){var v=C(p.value,2),y=v[0],m=v[1];this.elementProperties.set(y,m)}}catch(e){d=true;h=e}finally{try{if(!c&&f.return!=null){f.return()}}finally{if(d){throw h}}}}this._$Eh=new Map;var g=true,b=false,_=undefined;try{for(var k=this.elementProperties[Symbol.iterator](),w;!(g=(w=k.next()).done);g=true){var E=C(w.value,2),x=E[0],q=E[1];var A=this._$Eu(x,q);A!==void 0&&this._$Eh.set(A,x)}}catch(e){b=true;_=e}finally{try{if(!g&&k.return!=null){k.return()}}finally{if(b){throw _}}}this.elementStyles=this.finalizeStyles(this.styles)}},{key:"finalizeStyles",value:function e(e){var t=[];if(Array.isArray(e)){var n=new Set(e.flat(1/0).reverse());var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;t.unshift(nI(l))}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}else e!==void 0&&t.push(nI(e));return t}},{key:"_$Eu",value:function e(e,t){var n=t.attribute;return n===!1?void 0:typeof n=="string"?n:typeof e=="string"?e.toLowerCase():void 0}}]);return t}((nG=globalThis.HTMLElement)!==null&&nG!==void 0?nG:ng);var nY;nX.elementStyles=[],nX.shadowRootOptions={mode:"open"},nX[nz("elementProperties")]=new Map,nX[nz("finalized")]=new Map,nH===null||nH===void 0?void 0:nH({ReactiveElement:nX}),((nY=nN.reactiveElementVersions)!==null&&nY!==void 0?nY:nN.reactiveElementVersions=[]).push("2.1.0");var nK=globalThis,nZ=nK.trustedTypes,n0=nZ?nZ.createPolicy("lit-html",{createHTML:function(e){return e}}):void 0,n1="$lit$",n2="lit$".concat(Math.random().toFixed(9).slice(2),"$"),n3="?"+n2,n5="<".concat(n3,">"),n4=nK.document===void 0?{createTreeWalker:function(){return{}}}:document,n6=function(){return n4.createComment("")},n9=function(e){return e===null||(typeof e==="undefined"?"undefined":T(e))!="object"&&typeof e!="function"},n7=Array.isArray,n8=function(e){return n7(e)||typeof(e===null||e===void 0?void 0:e[Symbol.iterator])=="function"},re="[ \n\f\r]",rt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,rn=/-->/g,rr=/>/g,ri=RegExp(">|".concat(re,"(?:([^\\s\"'>=/]+)(").concat(re,"*=").concat(re,"*(?:[^ \n\f\r\"'`<>=]|(\"|')|))|$)"),"g"),ro=/'/g,ra=/"/g,rs=/^(?:script|style|textarea|title)$/i,rl=function(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++){r[i-1]=arguments[i]}return{_$litType$:e,strings:t,values:r}}},ru=rl(1),rc=rl(2),rd=rl(3),rh=Symbol.for("lit-noChange"),rf=Symbol.for("lit-nothing"),rp=new WeakMap,rv=n4.createTreeWalker(n4,129);var ry=function(e,t){var r=e.length-1,i=[],o,a=t===2?"<svg>":t===3?"<math>":"",s=rt;for(var l=0;l<r;l++){var u=e[l],c=void 0,d=void 0,h=-1,f=0;for(;f<u.length&&(s.lastIndex=f,d=s.exec(u),d!==null);)f=s.lastIndex,s===rt?d[1]==="!--"?s=rn:d[1]!==void 0?s=rr:d[2]!==void 0?(rs.test(d[2])&&(o=RegExp("</"+d[2],"g")),s=ri):d[3]!==void 0&&(s=ri):s===ri?d[0]===">"?(s=o!==null&&o!==void 0?o:rt,h=-1):d[1]===void 0?h=-2:(h=s.lastIndex-d[2].length,c=d[1],s=d[3]===void 0?ri:d[3]==='"'?ra:ro):s===ra||s===ro?s=ri:s===rn||s===rr?s=rt:(s=ri,o=void 0);var p=s===ri&&e[l+1].startsWith("/>")?" ":"";a+=s===rt?u+n5:h>=0?(i.push(c),u.slice(0,h)+n1+u.slice(h)+n2+p):u+n2+(h===-2?l:p)}return[n(e,a+(e[r]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),i]},rm=/*#__PURE__*/function(){"use strict";function e(t,n){var r=t.strings,i=t._$litType$;s(this,e);var o;this.parts=[];var a=0,l=0,u=r.length-1,c=this.parts,d=C(ry(r,i),2),h=d[0],f=d[1];if(this.el=e.createElement(h,n),rv.currentNode=this.el.content,i===2||i===3){var p;var v=this.el.content.firstChild;(p=v).replaceWith.apply(p,M(v.childNodes))}for(;(o=rv.nextNode())!==null&&c.length<u;){if(o.nodeType===1){var y=true,m=false,g=undefined;if(o.hasAttributes())try{for(var b=o.getAttributeNames()[Symbol.iterator](),_;!(y=(_=b.next()).done);y=true){var k=_.value;if(k.endsWith(n1)){var w=f[l++],E=o.getAttribute(k).split(n2),x=/([.?@])?(.*)/.exec(w);c.push({type:1,index:a,name:x[2],strings:E,ctor:x[1]==="."?rw:x[1]==="?"?rE:x[1]==="@"?rx:rk}),o.removeAttribute(k)}else k.startsWith(n2)&&(c.push({type:6,index:a}),o.removeAttribute(k))}}catch(e){m=true;g=e}finally{try{if(!y&&b.return!=null){b.return()}}finally{if(m){throw g}}}if(rs.test(o.tagName)){var q=o.textContent.split(n2),A=q.length-1;if(A>0){o.textContent=nZ?nZ.emptyScript:"";for(var S=0;S<A;S++)o.append(q[S],n6()),rv.nextNode(),c.push({type:2,index:++a});o.append(q[A],n6())}}}else if(o.nodeType===8)if(o.data===n3)c.push({type:2,index:a});else{var R=-1;for(;(R=o.data.indexOf(n2,R+1))!==-1;)c.push({type:7,index:a}),R+=n2.length-1}a++}}c(e,null,[{key:"createElement",value:function e(e,t){var n=n4.createElement("template");return n.innerHTML=e,n}}]);return e}();function rg(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e,r=arguments.length>3?arguments[3]:void 0;var i,o;if(t===rh)return t;var a=r!==void 0?(i=n._$Co)===null||i===void 0?void 0:i[r]:n._$Cl,s=n9(t)?void 0:t._$litDirective$;var l;return(a===null||a===void 0?void 0:a.constructor)!==s&&(a===null||a===void 0?void 0:(o=a._$AO)===null||o===void 0?void 0:o.call(a,!1),s===void 0?a=void 0:(a=new s(e),a._$AT(e,n,r)),r!==void 0?((l=n._$Co)!==null&&l!==void 0?l:n._$Co=[])[r]=a:n._$Cl=a),a!==void 0&&(t=rg(e,a._$AS(e,t.values),a,r)),t}var rb=/*#__PURE__*/function(){"use strict";function e(t,n){s(this,e);this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=n}c(e,[{key:"parentNode",get:function e(){return this._$AM.parentNode}},{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"u",value:function e(e){var t;var n=this._$AD,r=n.el,i=r.content,o=n.parts,a=((t=e===null||e===void 0?void 0:e.creationScope)!==null&&t!==void 0?t:n4).importNode(i,!0);rv.currentNode=a;var s=rv.nextNode(),l=0,u=0,c=o[0];for(;c!==void 0;){if(l===c.index){var d=void 0;c.type===2?d=new r_(s,s.nextSibling,this,e):c.type===1?d=new c.ctor(s,c.name,c.strings,this,e):c.type===6&&(d=new rq(s,this,e)),this._$AV.push(d),c=o[++u]}l!==(c===null||c===void 0?void 0:c.index)&&(s=rv.nextNode(),l++)}return rv.currentNode=n4,a}},{key:"p",value:function e(e){var t=0;var n=true,r=false,i=undefined;try{for(var o=this._$AV[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,t),t+=s.strings.length-2):s._$AI(e[t])),t++}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}}}]);return e}(),r_=/*#__PURE__*/function(){"use strict";function e(t,n,r,i){s(this,e);var o;this.type=2,this._$AH=rf,this._$AN=void 0,this._$AA=t,this._$AB=n,this._$AM=r,this.options=i,this._$Cv=(o=i===null||i===void 0?void 0:i.isConnected)!==null&&o!==void 0?o:!0}c(e,[{key:"_$AU",get:function e(){var e;var t;return(t=(e=this._$AM)===null||e===void 0?void 0:e._$AU)!==null&&t!==void 0?t:this._$Cv}},{key:"parentNode",get:function e(){var e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&(e===null||e===void 0?void 0:e.nodeType)===11&&(e=t.parentNode),e}},{key:"startNode",get:function e(){return this._$AA}},{key:"endNode",get:function e(){return this._$AB}},{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;e=rg(this,e,t),n9(e)?e===rf||e==null||e===""?(this._$AH!==rf&&this._$AR(),this._$AH=rf):e!==this._$AH&&e!==rh&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):n8(e)?this.k(e):this._(e)}},{key:"O",value:function e(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}},{key:"T",value:function e(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}},{key:"_",value:function e(e){this._$AH!==rf&&n9(this._$AH)?this._$AA.nextSibling.data=e:this.T(n4.createTextNode(e)),this._$AH=e}},{key:"$",value:function e(e){var t;var r=e.values,i=e._$litType$,o=typeof i=="number"?this._$AC(e):(i.el===void 0&&(i.el=rm.createElement(n(i.h,i.h[0]),this.options)),i);if(((t=this._$AH)===null||t===void 0?void 0:t._$AD)===o)this._$AH.p(r);else{var a=new rb(o,this),s=a.u(this.options);a.p(r),this.T(s),this._$AH=a}}},{key:"_$AC",value:function e(e){var t=rp.get(e.strings);return t===void 0&&rp.set(e.strings,t=new rm(e)),t}},{key:"k",value:function t(t){n7(this._$AH)||(this._$AH=[],this._$AR());var n=this._$AH,r,i=0;var o=true,a=false,s=undefined;try{for(var l=t[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;i===n.length?n.push(r=new e(this.O(n6()),this.O(n6()),this,this.options)):r=n[i],r._$AI(c),i++}}catch(e){a=true;s=e}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}},{key:"_$AR",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this._$AA.nextSibling,t=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,t);e&&e!==this._$AB;){var i=e.nextSibling;e.remove(),e=i}}},{key:"setConnected",value:function e(e){var t,n;this._$AM===void 0&&(this._$Cv=e,(t=(n=this)._$AP)===null||t===void 0?void 0:t.call(n,e))}}]);return e}(),rk=/*#__PURE__*/function(){"use strict";function e(t,n,r,i,o){s(this,e);this.type=1,this._$AH=rf,this._$AN=void 0,this.element=t,this.name=n,this._$AM=i,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=rf}c(e,[{key:"tagName",get:function e(){return this.element.tagName}},{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AI",value:function e(e){var t=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 i=this.strings,o=!1;if(i===void 0)e=rg(this,e,t,0),o=!n9(e)||e!==this._$AH&&e!==rh,o&&(this._$AH=e);else{var a=e,s,l;for(e=i[0],s=0;s<i.length-1;s++)l=rg(this,a[n+s],t,s),l===rh&&(l=this._$AH[s]),o||(o=!n9(l)||l!==this._$AH[s]),l===rf?e=rf:e!==rf&&(e+=(l!==null&&l!==void 0?l:"")+i[s+1]),this._$AH[s]=l}o&&!r&&this.j(e)}},{key:"j",value:function e(e){e===rf?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e!==null&&e!==void 0?e:"")}}]);return e}(),rw=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.type=3;return e}c(t,[{key:"j",value:function e(e){this.element[this.name]=e===rf?void 0:e}}]);return t}(rk),rE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.type=4;return e}c(t,[{key:"j",value:function e(e){this.element.toggleAttribute(this.name,!!e&&e!==rf)}}]);return t}(rk),rx=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e,n,r,i,o){s(this,t);var l;l=a(this,t,[e,n,r,i,o]),l.type=5;return l}c(t,[{key:"_$AI",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this;var n;if((e=(n=rg(this,e,t,0))!==null&&n!==void 0?n:rf)===rh)return;var r=this._$AH,i=e===rf&&r!==rf||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==rf&&(r===rf||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}},{key:"handleEvent",value:function e(e){var t;var n;typeof this._$AH=="function"?this._$AH.call((n=(t=this.options)===null||t===void 0?void 0:t.host)!==null&&n!==void 0?n:this.element,e):this._$AH.handleEvent(e)}}]);return t}(rk),rq=/*#__PURE__*/function(){"use strict";function e(t,n,r){s(this,e);this.element=t,this.type=6,this._$AN=void 0,this._$AM=n,this.options=r}c(e,[{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AI",value:function e(e){rg(this,e)}}]);return e}(),rA={M:n1,P:n2,A:n3,C:1,L:ry,R:rb,D:n8,V:rg,I:r_,H:rk,N:rE,U:rx,B:rw,F:rq},rS=nK.litHtmlPolyfillSupport;var rC;rS===null||rS===void 0?void 0:rS(rm,r_),((rC=nK.litHtmlVersions)!==null&&rC!==void 0?rC:nK.litHtmlVersions=[]).push("3.3.0");var rR=function(e,t,n){var r;var i=(r=n===null||n===void 0?void 0:n.renderBefore)!==null&&r!==void 0?r:t,o=i._$litPart$;if(o===void 0){var a;var s=(a=n===null||n===void 0?void 0:n.renderBefore)!==null&&a!==void 0?a:null;i._$litPart$=o=new r_(t.insertBefore(n6(),s),s,void 0,n!==null&&n!==void 0?n:{})}return o._$AI(e),o};var rP=globalThis,rI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e.renderOptions={host:e},e._$Do=void 0;return e}c(t,[{key:"createRenderRoot",value:function e(){var e;var n=h(f(t.prototype),"createRenderRoot",this).call(this);var r;return(r=(e=this.renderOptions).renderBefore)!==null&&r!==void 0?r:e.renderBefore=n.firstChild,n}},{key:"update",value:function e(e){var n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),h(f(t.prototype),"update",this).call(this,e),this._$Do=rR(n,this.renderRoot,this.renderOptions)}},{key:"connectedCallback",value:function e(){var e;h(f(t.prototype),"connectedCallback",this).call(this),(e=this._$Do)===null||e===void 0?void 0:e.setConnected(!0)}},{key:"disconnectedCallback",value:function e(){var e;h(f(t.prototype),"disconnectedCallback",this).call(this),(e=this._$Do)===null||e===void 0?void 0:e.setConnected(!1)}},{key:"render",value:function e(){return rh}}]);return t}(nX);rI._$litElement$=!0,rI.finalized=!0,(tN=rP.litElementHydrateSupport)===null||tN===void 0?void 0:tN.call(rP,{LitElement:rI});var rM=rP.litElementPolyfillSupport;rM===null||rM===void 0?void 0:rM({LitElement:rI});var rT;((rT=rP.litElementVersions)!==null&&rT!==void 0?rT:rP.litElementVersions=[]).push("4.2.0");var rO=function(e){return function(t,n){n!==void 0?n.addInitializer(function(){customElements.define(e,t)}):customElements.define(e,t)}};var rU={attribute:!0,type:String,converter:nQ,reflect:!1,hasChanged:nF},r$=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rU,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0;var r=n.kind,i=n.metadata,o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),r==="setter"&&((e=Object.create(e)).wrapped=!0),o.set(n.name,e),r==="accessor"){var a=n.name;return{set:function n(n){var r=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,r,e)},init:function t(t){return t!==void 0&&this.C(a,void 0,e,t),t}}}if(r==="setter"){var s=n.name;return function n(n){var r=this[s];t.call(this,n),this.requestUpdate(s,r,e)}}throw Error("Unsupported decorator location: "+r)};var rL=function(e,t,n){return n.configurable=!0,n.enumerable=!0,Reflect.decorate&&(typeof t==="undefined"?"undefined":T(t))!="object"&&Object.defineProperty(e,t,n),n};var rN=Symbol("item");var rD=[{identifier:"completionStatus",cardinality:"single",baseType:"string",value:"unknown",type:"outcome"},{identifier:"numAttempts",cardinality:"single",baseType:"integer",value:"0",type:"response"}];var rV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.identifier="";e.adaptive="false";e.timeDependent=null;e._handleDisabledChange=function(t,n){e._interactionElements.forEach(function(e){return e.disabled=n})};e._handleReadonlyChange=function(t,n){return e._interactionElements.forEach(function(e){return e.readonly=n})};e._context={variables:rD};e._initialContext=E(k({},e._context),{variables:e._context.variables});e._feedbackElements=[];e._interactionElements=[];e._handleRegisterVariable=function(t){t.stopImmediatePropagation(),e._context=E(k({},e._context),{variables:M(e._context.variables).concat([t.detail.variable])}),e._initialContext=e._context,t.stopPropagation()};e._handleRegisterFeedback=function(t){var n;t.stopImmediatePropagation();var r=t.detail;e._feedbackElements.push(r),(Number((n=e._context.variables.find(function(e){return e.identifier==="numAttempts"}))===null||n===void 0?void 0:n.value)||0)>0&&r.checkShowFeedback(r.outcomeIdentifier)};e._handleRegisterInteraction=function(t){t.stopImmediatePropagation(),e._interactionElements.push(t.detail.interactionElement)};e._handleEndAttempt=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.responseIdentifier,i=n.countAttempt;e.validate(),e.updateResponseVariable(r,"true"),e.processResponse(i)};e._handleSetOutcomeValue=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.outcomeIdentifier,i=n.value;e.updateOutcomeVariable(r,i),t.stopPropagation()};e._handleUpdateResponseVariable=function(t){t.stopImmediatePropagation();var n=t.detail,r=n.responseIdentifier,i=n.response;e.updateResponseVariable(r,i),e.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:e._context}}))};return e}c(t,[{key:"title",get:function e(){return this._itemTitle},set:function e(e){this._itemTitle=e,this.removeAttribute("title"),this.setAttribute("data-title",e)}},{key:"assessmentItemRefId",get:function e(){return this._context.identifier},set:function e(e){this._context=E(k({},this._context),{identifier:e})}},{key:"variables",get:function e(){return this._context.variables.map(function(e){return k({identifier:e.identifier,value:e.value,type:e.type},e.type==="outcome"&&e.identifier==="SCORE"?{externalScored:e.externalScored}:{})})},set:function e(e){var t=this;if(!Array.isArray(e)||e.some(function(e){return!("identifier"in e)})){console.warn("variables property should be an array of VariableDeclaration");return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(t){var n=e.find(function(e){return e.identifier===t.identifier});return n?E(k({},t,n),{interpolationTable:t.interpolationTable}):t})}),this._context.variables.forEach(function(e){if(e.type==="response"){var n=t._interactionElements.find(function(t){return t.responseIdentifier===e.identifier});n&&(n.response=e.value)}}),this.variables.forEach(function(e){e.type==="outcome"&&t._feedbackElements.forEach(function(t){return t.checkShowFeedback(e.identifier)})})}},{key:"responses",set:function e(e){var t=true,n=false,r=undefined;if(e)try{var i,o=function(){var e=s.value;i.getResponse(e.responseIdentifier)&&i.updateResponseVariable(e.responseIdentifier,e.response);var t=i._interactionElements.find(function(t){return t.getAttribute("response-identifier")===e.responseIdentifier});t&&(t.response=e.response)};for(var a=e[Symbol.iterator](),s;!(t=(s=a.next()).done);t=true)i=this,o()}catch(e){n=true;r=e}finally{try{if(!t&&a.return!=null){a.return()}}finally{if(n){throw r}}}}},{key:"render",value:function e(){return ru(D())}},{key:"connectedCallback",value:function e(){var e=this;this._attachEventListeners(),h(f(t.prototype),"connectedCallback",this).call(this),this.updateComplete.then(function(){e.dispatchEvent(new CustomEvent("qti-assessment-item-connected",{bubbles:!0,composed:!0,detail:e}))})}},{key:"disconnectedCallback",value:function e(){this._removeEventListeners(),h(f(t.prototype),"disconnectedCallback",this).call(this)}},{key:"_attachEventListeners",value:function e(){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 e(){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 e(e){var t=this._context.variables.filter(function(e){return e.type==="response"});var n=true,r=false,i=undefined;try{var o=function(){var n=s.value;var r=n.getAttribute("response-identifier"),i=t.find(function(e){return e.identifier===r});i&&n.toggleCorrectResponse(i,e)};for(var a=this._interactionElements[Symbol.iterator](),s;!(n=(s=a.next()).done);n=true)o()}catch(e){r=true;i=e}finally{try{if(!n&&a.return!=null){a.return()}}finally{if(r){throw i}}}}},{key:"processResponse",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n;this.validate(t),e&&this.updateOutcomeVariable("numAttempts",(+((n=this._context.variables.find(function(e){return e.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 e(){this._context=this._initialContext}},{key:"getResponse",value:function e(e){return this.getVariable(e)}},{key:"getOutcome",value:function e(e){return this.getVariable(e)}},{key:"getVariable",value:function e(e){return this._context.variables.find(function(t){return t.identifier===e})||null}},{key:"updateResponseVariable",value:function e(e,t){this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==e?n:E(k({},n),{value:t})})}),this.dispatchEvent(new CustomEvent("qti-interaction-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,responseIdentifier:e,response:Array.isArray(t)?M(t):t}})),this.adaptive==="false"&&this.updateOutcomeVariable("completionStatus",this._getCompletionStatus())}},{key:"setOutcomeVariable",value:function e(e,t){this.updateOutcomeVariable(e,t),this.dispatchEvent(new CustomEvent("qti-item-context-updated",{bubbles:!0,composed:!0,detail:{itemContext:this._context}}))}},{key:"updateOutcomeVariable",value:function e(e,t){var n;var r=this.getOutcome(e);if(!r){console.warn("Can not set qti-outcome-identifier: ".concat(e,", it is not available"));return}this._context=E(k({},this._context),{variables:this._context.variables.map(function(n){return n.identifier!==e?n:E(k({},n),{value:r.cardinality==="single"?t:M(n.value).concat([t])})})}),this._feedbackElements.forEach(function(t){return t.checkShowFeedback(e)}),this.dispatchEvent(new CustomEvent("qti-outcome-changed",{bubbles:!0,composed:!0,detail:{item:this.identifier,outcomeIdentifier:e,value:(n=this._context.variables.find(function(t){return t.identifier===e}))===null||n===void 0?void 0:n.value}}))}},{key:"validate",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._interactionElements.every(function(e){return e.validate()})?!0:this._interactionElements.some(function(e){return e.validate()})?!1:(e&&this.reportValidity(),null)}},{key:"reportValidity",value:function e(){var e=true,t=false,n=undefined;try{for(var r=this._interactionElements[Symbol.iterator](),i;!(e=(i=r.next()).done);e=true){var o=i.value;o.reportValidity()}}catch(e){t=true;n=e}finally{try{if(!e&&r.return!=null){r.return()}}finally{if(t){throw n}}}}},{key:"_getCompletionStatus",value:function e(){var e=this.validate(!1);return e===!0?"completed":e===!1?"incomplete":"not_attempted"}}]);return t}(rI);tB([r({type:String})],rV.prototype,"identifier",2),tB([r({type:String})],rV.prototype,"adaptive",2),tB([r({type:String})],rV.prototype,"timeDependent",2),tB([r({type:String})],rV.prototype,"title",1),tB([r({type:Boolean})],rV.prototype,"disabled",2),tB([y("disabled",{waitUntilFirstUpdate:!0})],rV.prototype,"_handleDisabledChange",2),tB([r({type:Boolean})],rV.prototype,"readonly",2),tB([y("readonly",{waitUntilFirstUpdate:!0})],rV.prototype,"_handleReadonlyChange",2),tB([e({context:rN})],rV.prototype,"_context",2),rV=tB([rO("qti-assessment-item")],rV);var rj=String.raw,rH=rj(V());var rz=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;var t,n="",r={load:function i(i){n=i;var o=encodeURI(i);if(e&&sessionStorage.getItem(o))return{promise:Promise.resolve(r.parse(sessionStorage.getItem(o))),request:null};var a=_(i),s=a.promise,l=a.xhr;return{promise:new Promise(function(n){s.then(function(i){return t=i,r.shuffleInteractions(),e&&sessionStorage.setItem(o,new XMLSerializer().serializeToString(t)),n(r)})}),request:l}},parse:function e(e){return t=w(e),r},path:function(e){return q(t,e),n=null,r},fn:function e(e){return e(t),r},pciHooks:function e(e){var n=["hook","module"],i=e.substring(0,e.lastIndexOf("/"));var o=true,a=false,s=undefined;try{var l=function(){var n=c.value;t.querySelectorAll("["+n+"]").forEach(function(t){var r=t.getAttribute(n);!r.startsWith("data:")&&!r.startsWith("http")&&(t.setAttribute("base-url",e),t.setAttribute("module",i+"/"+encodeURI(r+(r.endsWith(".js")?"":".js"))))})};for(var u=n[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(e){a=true;s=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return r},shuffleInteractions:function e(){var e=t.querySelectorAll('[shuffle="true"]'),n=Array.from(e).filter(function(e){var t;return(t=e.tagName)===null||t===void 0?void 0:t.toLowerCase().endsWith("-interaction")});var i=true,o=false,a=undefined;try{for(var s=n[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=P(u.tagName.toLowerCase()),d=Array.isArray(c)?c:[c];var h=true,f=false,p=undefined;try{var v=function(){var e=m.value;var t;var n=Array.from(u.querySelectorAll(e)),i=n.map(function(e,t){return{element:e,fixed:e.hasAttribute("fixed")&&e.getAttribute("fixed")==="true",originalOrder:t}}).filter(function(e){return e.fixed}),o=n.filter(function(e){return!e.hasAttribute("fixed")||e.getAttribute("fixed")!=="true"});if(o.length<=1)return{v:(console.warn("Shuffling is not possible with fewer than 2 non-fixed elements."),r)};var a=M(o),s=!1,l=0;for(;!s&&l<20;){l++;for(var c=o.length-1;c>0;c--){var d=Math.floor(Math.random()*(c+1));var h;h=[o[d],o[c]],o[c]=h[0],o[d]=h[1],h}s=!o.every(function(e,t){return e===a[t]})}if(!s)return{v:(console.warn("Failed to shuffle the choices after multiple attempts."),null)};u.removeAttribute("shuffle");var f=0;var p=true,v=false,y=undefined;try{for(var g=o[Symbol.iterator](),b;!(p=(b=g.next()).done);p=true){var _=b.value;_.parentElement.insertBefore(_,(t=i[f])===null||t===void 0?void 0:t.element),f++}}catch(e){v=true;y=e}finally{try{if(!p&&g.return!=null){g.return()}}finally{if(v){throw y}}}var k=true,w=false,E=undefined;try{for(var x=i[Symbol.iterator](),q;!(k=(q=x.next()).done);k=true){var A=q.value;A.element.parentElement.insertBefore(A.element,o[A.originalOrder])}}catch(e){w=true;E=e}finally{try{if(!k&&x.return!=null){x.return()}}finally{if(w){throw E}}}};for(var y=d[Symbol.iterator](),m;!(h=(m=y.next()).done);h=true){var g=v();if(T(g)==="object")return g.v}}catch(e){f=true;p=e}finally{try{if(!h&&y.return!=null){y.return()}}finally{if(f){throw p}}}}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return r},extendElementName:function(e,n){return m(t,e,n),r},extendElementsWithClass:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"extend";return g(t,e),r},customInteraction:function e(e,n){var i=t.querySelector("qti-custom-interaction"),o=i.querySelector("object");return i.setAttribute("data-base-ref",e),i.setAttribute("data-base-item",e+n),i.setAttribute("data",o.getAttribute("data")),i.setAttribute("width",o.getAttribute("width")),i.setAttribute("height",o.getAttribute("height")),i.removeChild(o),r},convertCDATAtoComment:function e(){return S(t),r},stripStyleSheets:function e(){return R(t),r},html:function e(){return n!==null&&q(t,n.substring(0,n.lastIndexOf("/"))),new XMLSerializer().serializeToString(x(t))},xml:function e(){return new XMLSerializer().serializeToString(t)},htmlDoc:function e(){return n!==null&&q(t,n.substring(0,n.lastIndexOf("/"))),x(t)},xmlDoc:function e(){return t}};return r};var rQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.identifier="";e.href="";return e}c(t,[{key:"connectedCallback",value:function e(){var e=this;var n=this,r=function(){return h(f(t.prototype),"connectedCallback",e)};return o(function(){var e,t,i;return L(this,function(o){switch(o.label){case 0:r().call(n);e=new Event("qti-assessment-stimulus-ref-connected",{cancelable:!0,bubbles:!0,composed:!0});if(!n.dispatchEvent(e))return[3,4];t=n.closest("qti-assessment-item").querySelector("[data-stimulus-idref=".concat(n.identifier,"]"));if(!t)return[3,2];return[4,n.updateStimulusRef(t)];case 1:i=o.sent();return[3,3];case 2:i=console.warn("Stimulus with data-stimulus-idref ".concat(n.identifier," not found"));o.label=3;case 3:i;o.label=4;case 4:return[2]}})})()}},{key:"updateStimulusRef",value:function e(e){var t=this;return o(function(){var n,r,i;return L(this,function(o){switch(o.label){case 0:return[4,rz().load(t.href).promise.then(function(e){return e.htmlDoc()})];case 1:n=o.sent();if(n){;i=n.querySelectorAll("qti-stimulus-body, qti-stylesheet");e.innerHTML="",(r=e).append.apply(r,M(i))}return[2]}})})()}}]);return t}(rI);tB([r({type:String})],rQ.prototype,"identifier",2),tB([r({type:String})],rQ.prototype,"href",2),rQ=tB([rO("qti-assessment-stimulus-ref")],rQ);var rF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(rI);rF=tB([rO("qti-companion-materials-info")],rF);var rB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(j(),this.handleSlotChange)}},{key:"handleSlotChange",value:function e(){var e;var t;var n=Array.from((t=(e=this.firstElementChild)===null||e===void 0?void 0:e.childNodes)!==null&&t!==void 0?t:[]).find(function(e){return e.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(e){console.error("custom-operator contains invalid javascript code",e)}}},{key:"calculate",value:function e(){var e=this;var t={variable:function(t){var n,r;var i;return(i=(r=e._context)===null||r===void 0?void 0:(n=r.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.value)!==null&&i!==void 0?i:""},correct:function(t){var n,r;var i;return(i=(r=e._context)===null||r===void 0?void 0:(n=r.variables.find(function(e){return e.identifier===t}))===null||n===void 0?void 0:n.correctResponse)!==null&&i!==void 0?i:""}},n={getVariable:function(t){var n;return(n=e._context)===null||n===void 0?void 0:n.variables.find(function(e){return e.identifier===t})},updateOutcomeVariable:function(t,n){e.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:t,value:n}}))},updateResponseVariable:function(t,n){e.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:t,response:n}}))}};return this.operatorFunction(this._context,t,n)}}]);return t}(rI);tB([t({context:rN,subscribe:!0}),i()],rB.prototype,"_context",2),rB=tB([rO("qti-custom-operator")],rB);var rW=function(){return new Intl.NumberFormat().format(.1).replace(/\d/g,"")},rJ=function(e){if(typeof e=="string")return e;var t=rW();return t==="."?e.toLocaleString():e.toString().replace(".","").replace(t,".")};var rG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-feedback",{bubbles:!0,composed:!0,detail:this}))}},{key:"checkShowFeedback",value:function e(e){var t=this._context.variables.find(function(t){return t.identifier===e})||null;if(this.outcomeIdentifier!==e||!t)return;var n=!1;Array.isArray(t.value)?n=t.value.includes(this.identifier):n=!O(this.identifier)&&!O(t===null||t===void 0?void 0:t.value)&&this.identifier===t.value||!1,this.showFeedback(n)}},{key:"showFeedback",value:function e(e){this.showStatus=e&&this.showHide==="show"||!e&&this.showHide==="hide"?"on":"off"}}]);return t}(rI);tB([r({type:String,attribute:"show-hide"})],rG.prototype,"showHide",2),tB([r({type:String,attribute:"outcome-identifier"})],rG.prototype,"outcomeIdentifier",2),tB([r({type:String})],rG.prototype,"identifier",2),tB([r({type:String,attribute:!1})],rG.prototype,"showStatus",2),tB([t({context:rN,subscribe:!0}),i()],rG.prototype,"_context",2);var rX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(H(),this.showStatus)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return t}(rG);rX.styles=nR(z()),rX=tB([rO("qti-feedback-block")],rX);var rY=function(e){return e!==null&&e!==void 0?e:rf};var rK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.render=function(){return ru(Q(),rY(e.showStatus))};return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.checkShowFeedback(this.outcomeIdentifier)}}]);return t}(rG);rK.styles=nR(F()),rK=tB([rO("qti-feedback-inline")],rK);var rZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(B(),this.showStatus==="on",this.closeFeedback)}},{key:"openFeedback",value:function e(){var e;var t=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t&&!t.open&&t.showModal()}},{key:"closeFeedback",value:function e(){var e;var t=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector("dialog");t&&t.open&&(t.close(),this.showStatus="off")}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.showStatus==="on"&&this.openFeedback()}},{key:"updated",value:function e(e){e.has("showStatus")&&(this.showStatus==="on"?this.openFeedback():this.closeFeedback())}}]);return t}(rG);rZ.styles=nR(W()),rZ=tB([rO("qti-modal-feedback")],rZ);var r0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-hotspot",{bubbles:!0,composed:!0,cancelable:!1}))}},{key:"render",value:function e(){return ru(J())}}]);return t}(rI);r0.styles=nR(G()),r0=tB([rO("qti-associable-hotspot")],r0);var r1=function(e,t,n){var r=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(e);return r};var r2=function(e,t,n,i){var l=/*#__PURE__*/function(e){"use strict";p(r,e);function r(){s(this,r);var e;e=a(this,r,arguments);e.observer=null;e.droppableObsever=null;e.resizeObserver=null;e.draggables=[];e.droppables=[];e.dragContainers=[];e.dragClone=null;e.dragSource=null;e.touchStartPoint=null;e.isDraggable=!1;e.cloneOffset={x:0,y:0};e.isDragging=!1;e.allDropzones=[];e.lastTarget=null;e.currentDropTarget=null;e.MIN_DRAG_DISTANCE=5;e.DRAG_CLONE_OPACITY=1;e.dataTransfer={data:{},setData:function e(e,t){this.data[e]=t},getData:function e(e){return this.data[e]},effectAllowed:"move"};e.configuration={copyStylesDragClone:!0,dragCanBePlacedBack:!0,dragOnClick:!1};e.minAssociations=1;e.maxAssociations=0;e.draggablesModified=function(t,n){var r=true,i=false,o=undefined;try{var a=function(){var t=l.value;e.draggables.includes(t)&&(e.draggables=e.draggables.filter(function(e){return e!==t}),t.removeAttribute("tabindex"),t.removeEventListener("touchstart",e.handleTouchStart.bind(e)),t.removeEventListener("mousedown",e.handleTouchStart.bind(e)))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(e){i=true;o=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;e.draggables.includes(p)||(e.draggables.push(p),p.setAttribute("tabindex","0"),p.hasTouchStartListener||(p.addEventListener("touchstart",e.handleTouchStart.bind(e),{passive:!1}),p.addEventListener("mousedown",e.handleTouchStart.bind(e),{passive:!1}),p.hasTouchStartListener=!0))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=0;e.draggables.forEach(function(t){t.style.viewTransitionName="drag-".concat(v,"-").concat(e.getAttribute("identifier")||crypto.randomUUID()),t.setAttribute("qti-draggable","true"),v++})};e.droppablesModified=function(t,n){var r=true,i=false,o=undefined;try{var a=function(){var t=l.value;e.droppables.includes(t)&&(e.droppables=e.droppables.filter(function(e){return e!==t}),e.allDropzones=e.allDropzones.filter(function(e){return e!==t}))};for(var s=n[Symbol.iterator](),l;!(r=(l=s.next()).done);r=true)a()}catch(e){i=true;o=e}finally{try{if(!r&&s.return!=null){s.return()}}finally{if(i){throw o}}}var u=true,c=false,d=undefined;try{for(var h=t[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;e.droppables.includes(p)||(e.droppables.push(p),e.allDropzones.push(p))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}var v=true,y=false,m=undefined;try{for(var g=e.droppables[Symbol.iterator](),b;!(v=(b=g.next()).done);v=true){var _=b.value;e.dataset.choicesContainerWidth&&(_.style.width="".concat(e.dataset.choicesContainerWidth,"px"),_.style.boxSizing="border-box")}}catch(e){y=true;m=e}finally{try{if(!v&&g.return!=null){g.return()}}finally{if(y){throw m}}}};return e}c(r,[{key:"handleDraggableContainerChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.dragContainersModified(e||[],t||[])}},{key:"dragContainersModified",value:function e(e,t){var n=true,r=false,i=undefined;try{var o,a=function(){var e=l.value;o.dragContainers.includes(e)&&(o.dragContainers=o.dragContainers.filter(function(t){return t!==e}),o.allDropzones=o.allDropzones.filter(function(t){return t!==e}))};for(var s=t[Symbol.iterator](),l;!(n=(l=s.next()).done);n=true)o=this,a()}catch(e){r=true;i=e}finally{try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw i}}}var u=true,c=false,d=undefined;try{for(var h=e[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;this.dragContainers.includes(p)||(this.dragContainers.push(p),this.allDropzones.push(p))}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"handleDraggablesChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.draggablesModified(e||[],t||[])}},{key:"handleDroppablesChange",value:function e(e,t){this.isMatchTabular()||(e.length>0||t.length>0)&&this.droppablesModified(e||[],t||[])}},{key:"firstUpdated",value:function e(e){var o=this;var a,s,l;h(f(r.prototype),"firstUpdated",this).call(this,e),this.hasAttribute("disabled")||(document.addEventListener("touchmove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("mousemove",this.handleTouchMove.bind(this),{passive:!1}),document.addEventListener("touchend",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("mouseup",this.handleTouchEnd.bind(this),{passive:!1}),document.addEventListener("touchcancel",this.handleTouchCancel.bind(this),{passive:!1}));var u=Array.from(this.querySelectorAll(t)||[]).concat(Array.from(((a=this.shadowRoot)===null||a===void 0?void 0:a.querySelectorAll(t))||[])),c=Array.from(this.querySelectorAll(n)||[]).concat(Array.from(((s=this.shadowRoot)===null||s===void 0?void 0:s.querySelectorAll(n))||[])),d=Array.from(this.querySelectorAll(i)||[]).concat(Array.from(((l=this.shadowRoot)===null||l===void 0?void 0:l.querySelectorAll(i))||[]));this.dragContainersModified(d,[]),this.droppablesModified(c,[]),this.draggablesModified(u,[]),this.updateMinDimensionsForDropZones(),this.observer=new MutationObserver(function(){return o.updateMinDimensionsForDropZones()}),this.observer.observe(this,{childList:!0,subtree:!0}),this.resizeObserver=new ResizeObserver(function(){return o.updateMinDimensionsForDropZones()}),this.querySelectorAll("qti-gap-text").forEach(function(e){var t;return(t=o.resizeObserver)===null||t===void 0?void 0:t.observe(e)})}},{key:"moveDraggableToDroppable",value:function e(e,t){var n=this;return o(function(){return L(this,function(r){(function(){e.style.transform="translate(0, 0)",t.tagName==="SLOT"?e.setAttribute("slot",t.getAttribute("name")):t.appendChild(e),n.checkAllMaxAssociations(),n.saveResponse()})();return[2]})})()}},{key:"activateDroppable",value:function e(e){this.dragContainers.includes(e)?(this._internals.states.add("--dragzone-active"),e.setAttribute("active","")):(this._internals.states.delete("--dragzone-active"),e.setAttribute("active",""))}},{key:"deactivateDroppable",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;t&&this._internals.states.add("--dragzone-active"),e.removeAttribute("active")}},{key:"connectedCallback",value:function e(){h(f(r.prototype),"connectedCallback",this).call(this)}},{key:"isMatchTabular",value:function e(){return this.classList.contains("qti-match-tabular")}},{key:"updateMinDimensionsForDropZones",value:function e(){var e;var r=this.querySelectorAll(t),o=Array.from(this.querySelectorAll(n)).map(function(e){return e}),a=0,s=0;r.forEach(function(e){var t=e.getBoundingClientRect();a=Math.max(a,t.height),s=Math.max(s,t.width)});var l=this.querySelector(i)||((e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector(i));l&&(l.style.minHeight="".concat(a,"px"),l.style.minWidth="".concat(s,"px"));var u=true,c=false,d=undefined;try{for(var h=o[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;p.style.minHeight="".concat(a,"px"),p.style.minWidth="".concat(s,"px")}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}}},{key:"activateDroppables",value:function e(e){this.dragContainers.forEach(function(t){t.setAttribute("enabled",""),t.hasAttribute("disabled")&&(t.contains(e)||t.shadowRoot&&t.shadowRoot.contains(e))&&t.removeAttribute("disabled")}),this.droppables.forEach(function(t){t.setAttribute("enabled",""),t.hasAttribute("disabled")&&(t.contains(e)||t.shadowRoot&&t.shadowRoot.contains(e))&&t.removeAttribute("disabled")})}},{key:"activateDragLocation",value:function e(){this._internals.states.add("--dragzone-enabled")}},{key:"deactivateDragLocation",value:function e(){this._internals.states.delete("--dragzone-enabled")}},{key:"deactivateDroppables",value:function e(){this.dragContainers.forEach(function(e){e.removeAttribute("enabled"),e.removeAttribute("active")}),this.droppables.forEach(function(e){e.removeAttribute("enabled"),e.removeAttribute("active")})}},{key:"disconnectedCallback",value:function e(){h(f(r.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("touchmove",this.handleTouchMove),document.removeEventListener("mousemove",this.handleTouchMove),document.removeEventListener("touchend",this.handleTouchEnd),document.removeEventListener("mouseup",this.handleTouchEnd),document.removeEventListener("touchcancel",this.handleTouchCancel)}},{key:"handleTouchMove",value:function e(e){if(this.isDraggable&&this.dragClone){var t=this.getEventCoordinates(e),n=t.x,r=t.y,i={clientX:n,clientY:r};this.calculateDragDistance(i)>=this.MIN_DRAG_DISTANCE&&(this.isDragging=!0,this.updateDragClonePosition(i));var o=this.findClosestDropzone();this.currentDropTarget=o,o!==this.lastTarget&&(this.lastTarget&&(this.deactivateDroppable(this.lastTarget),this.dispatchCustomEvent(this.lastTarget,"dragleave")),o&&(this.activateDroppable(o),this.dispatchCustomEvent(o,"dragenter")),this.lastTarget=o),this.currentDropTarget&&this.dispatchCustomEvent(this.currentDropTarget,"dragover"),e.preventDefault()}}},{key:"handleTouchEnd",value:function e(e){this.isDragging&&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(e){e.removeAttribute("dragging")}),e.preventDefault()}},{key:"handleTouchCancel",value:function e(e){this.resetDragState()}},{key:"validate",value:function e(){if(!this.shadowRoot)return!1;var e=this.getValidAssociations(),t=!0,n="";this.maxAssociations>0&&e>this.maxAssociations?(t=!1,n=this.dataset.maxSelectionsMessage||"You've selected too many associations. Maximum allowed is ".concat(this.maxAssociations,".")):this.minAssociations>0&&e<this.minAssociations&&(t=!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(t?{}:{customError:!0},n,r),t}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("#validationMessage");return e&&(this._internals.validity.valid?(e.textContent="",e.style.display="none"):(e.textContent=this._internals.validationMessage,e.style.display="block")),this._internals.validity.valid}},{key:"checkMaxAssociations",value:function e(e){var t=this.getMatchMaxValue(e),n=e.querySelectorAll('[qti-draggable="true"]').length;return!(t===0)&&n>=t}},{key:"dropDraggableInDroppable",value:function e(e,t){var n=e.cloneNode(!0);n.removeAttribute("style"),this.moveDraggableToDroppable(n,t),this.draggablesModified([n],[]);var r=this.getMatchMaxValue(e),i=this.draggables.filter(function(t){return t.getAttribute("identifier")===e.getAttribute("identifier")});r!==0&&i.length>=r?(e.style.opacity="0.0",e.style.pointerEvents="none"):e.style.opacity="1.0"}},{key:"resetDragState",value:function e(){if(this.dragClone){var e=this.currentDropTarget!==null,t=!e||this.dragContainers.includes(this.currentDropTarget);e&&this.currentDropTarget&&!t&&this.dropDraggableInDroppable(this.dragSource,this.currentDropTarget),t&&(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 e(){var e=this;var t=this.getValidAssociations(),n=this.maxAssociations!==0&&t>=this.maxAssociations;this.droppables.forEach(function(t){n?e.disableDroppable(t):e.checkMaxAssociations(t)?e.disableDroppable(t):e.enableDroppable(t)})}},{key:"getMatchMaxValue",value:function e(e){var t=e.getAttribute("match-max");return t?parseInt(t,10):1}},{key:"disableDroppable",value:function e(e){e.setAttribute("disabled","")}},{key:"enableDroppable",value:function e(e){e.removeAttribute("disabled")}},{key:"response",get:function e(){var e;return typeof this.getResponse=="function"?e=this.getResponse():e=this.collectResponseData(),e.join(",")},set:function e(e){var t=this;if(!this.isMatchTabular())if(typeof this.getValue=="function"&&(e=this.getValue(e)),Array.isArray(e)){this.reset(!1),e===null||e===void 0?void 0:e.forEach(function(e){return t.placeResponse(e)});var n=new FormData;e.forEach(function(e){n.append(t.responseIdentifier,e)}),this._internals.setFormValue(n)}else this._internals.setFormValue(e||"")}},{key:"placeResponse",value:function e(e){var t=this;var n=I(e.split(" ").reverse()),r=n[0],i=n.slice(1),o=Array.from(this.draggables),a=Array.from(this.droppables);i.forEach(function(e){if(e==="")return;var n=o.find(function(t){return t.getAttribute("identifier")===e}),i=a.find(function(e){return e.getAttribute("identifier")===r});t.dropDraggableInDroppable(n,i)})}},{key:"getValidAssociations",value:function e(){var e=0;var t=true,n=false,r=undefined;try{for(var i=this.droppables[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;e=e+this.getDraggablesFromDroppable(a).length}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}},{key:"saveResponse",value:function e(){var e;typeof this.getResponse=="function"?e=this.getResponse():e=this.collectResponseData(),this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,response:e}}))}},{key:"collectResponseData",value:function e(){var e=this;return this.droppables.map(function(t){var n=e.getDraggablesFromDroppable(t).map(function(e){return e.getAttribute("identifier")}),r=t.getAttribute("identifier");return n.map(function(e){return"".concat(e," ").concat(r)})}).flat()}},{key:"getDraggablesFromDroppable",value:function e(e){return this.draggables.map(function(e){return e.getAttribute("identifier")}).filter(function(e,t,n){return n.indexOf(e)===t}).flatMap(function(t){return Array.from(e.querySelectorAll("[identifier='".concat(t,"']")))}).filter(function(e){return!!e}).map(function(e){return e})}},{key:"reset",value:function e(){var e=this;var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;this.droppables.forEach(function(t){e.getDraggablesFromDroppable(t).forEach(function(t){t.remove(),e.draggablesModified([],[t])})}),this.dragContainers.forEach(function(e){Array.from(e.querySelectorAll('[qti-draggable="true"]')).forEach(function(e){e.style.opacity="1.0"})}),this.dragClone=null,this.dragSource=null,this.isDragging=!1,this.isDraggable=!1,this.currentDropTarget=null,this.lastTarget=null,t&&this.saveResponse()}},{key:"updateDragClonePosition",value:function e(e){if(!this.isDragging||!this.dragClone)return;var t=e.clientX-this.cloneOffset.x,n=e.clientY-this.cloneOffset.y,r=this.applyInteractionBoundaries(t,n,this.dragClone),i=r.newLeft,o=r.newTop;this.dragClone.style.left="".concat(i,"px"),this.dragClone.style.top="".concat(o,"px")}},{key:"applyInteractionBoundaries",value:function e(e,t,n){var r=this.getBoundingClientRect(),i=n.getBoundingClientRect(),o=i.width,a=i.height,s=Math.max(r.left,Math.min(e,r.right-o)),l=Math.max(r.top,Math.min(t,r.bottom-a));return{newLeft:s,newTop:l}}},{key:"getEventCoordinates",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var n=e.touches?e.touches[0]:e;return{x:t?n.pageX:n.clientX,y:t?n.pageY:n.clientY}}},{key:"calculateDragDistance",value:function e(e){var t=Math.abs(e.clientX-this.touchStartPoint.x),n=Math.abs(e.clientY-this.touchStartPoint.y);return t+n}},{key:"findClosestDropzone",value:function e(){var e=this.allDropzones.filter(function(e){return!e.hasAttribute("disabled")});if(!this.dragClone||e.length===0)return null;var t=this.dragClone.getBoundingClientRect(),n=null,r=0;var i=true,o=false,a=undefined;try{for(var s=e[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getBoundingClientRect(),d=this.calculateOverlapArea(t,c);d>r&&(r=d,n=u)}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}if(!n){var h=200;var f=true,p=false,v=undefined;try{for(var y=e[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;var b=g.getBoundingClientRect(),_=Math.sqrt(Math.pow(t.left-b.left,2)+Math.pow(t.top-b.top,2));_<h&&(h=_,n=g)}}catch(e){p=true;v=e}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}}return n}},{key:"calculateOverlapArea",value:function e(e,t){var n=Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left)),r=Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top));return n*r}},{key:"dispatchCustomEvent",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e)return;var r=new CustomEvent(t,{bubbles:n,cancelable:!0});r.dataTransfer=this.dataTransfer,e.dispatchEvent(r)}},{key:"appendClone",value:function e(){document.body.appendChild(this.dragClone)}},{key:"handleTouchStart",value:function e(e){var t=this;if(this.isDragging)return;var n=this.getEventCoordinates(e),r=n.x,i=n.y;this.touchStartPoint={x:r,y:i},this.dragSource=e.currentTarget,this.isDraggable=!0,this._internals.states.add("--dragzone-enabled"),this._internals.states.add("--dragzone-active"),this.activateDragLocation(),this.activateDroppables(this.dragSource);var o=this.findDraggableInDraggableContainer(this.dragSource.getAttribute("identifier")),a=this.droppables.some(function(e){return Array.from(e.children).some(function(e){return e===t.dragSource})}),s=this.dragSource.getBoundingClientRect();a&&(this.dragSource.remove(),this.draggablesModified([],[this.dragSource]),this.dragSource=o),this.cloneOffset.x=r-s.left,this.cloneOffset.y=i-s.top,this.dragClone=o.cloneNode(!0);var l=window.getComputedStyle(o);for(var u=0;u<l.length;u++){var c=l[u];this.dragClone.style.setProperty(c,l.getPropertyValue(c))}var d=o.getBoundingClientRect();this.dragClone.style.width="".concat(d.width,"px"),this.dragClone.style.height="".concat(d.height,"px"),s&&this.setDragCloneStyles(s),this.dragClone.style.display="block",this.dragClone.style.opacity="1",this.appendClone();var h=this.getMatchMaxValue(this.dragSource),f=this.draggables.filter(function(e){return e.getAttribute("identifier")===t.dragSource.getAttribute("identifier")});h!==0&&f.length>=h?(o.style.opacity="0.0",o.style.pointerEvents="none"):o.style.opacity="1.0",e.preventDefault(),this.dragClone.setAttribute("dragging","")}},{key:"findDraggableInDraggableContainer",value:function e(e){var n=this.dragContainers.flat();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;if(l.getAttribute("identifier")===e)return l;var u=void 0;v(l,HTMLSlotElement)?u=Array.from((l===null||l===void 0?void 0:l.assignedElements())||[]):u=Array.from(l.querySelectorAll(t));var c=u.find(function(t){return t.getAttribute("identifier")===e});if(c)return c}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"setDragCloneStyles",value:function e(e){this.dragClone.style.position="fixed",this.dragClone.style.top="".concat(e.top,"px"),this.dragClone.style.left="".concat(e.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 r}(r1(e,n,t));return tB([r({attribute:!1,type:Object})],l.prototype,"configuration",2),tB([r({type:Number,reflect:!0,attribute:"min-associations"})],l.prototype,"minAssociations",2),tB([r({type:Number,reflect:!0,attribute:"max-associations"})],l.prototype,"maxAssociations",2),tB([tI(i)],l.prototype,"handleDraggableContainerChange",1),tB([tI(t)],l.prototype,"handleDraggablesChange",1),tB([tI(n)],l.prototype,"handleDroppablesChange",1),l};var r3=nR(X());var r5=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e.disabled=!1;e.readonly=!1;e._internals=e.attachInternals();return e}c(t,[{key:"correctResponse",get:function e(){return this._correctResponse},set:function e(e){this._correctResponse=e}},{key:"toggleCorrectResponse",value:function e(e,t){this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:(e===null||e===void 0?void 0:e.cardinality)==="single"?"":[]}},{key:"value",get:function e(){return JSON.stringify(this.response)},set:function e(e){this.response=e?JSON.parse(e):null}},{key:"reportValidity",value:function e(){return this._internals.reportValidity()}},{key:"reset",value:function e(){this.response=null}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.dispatchEvent(new CustomEvent("qti-register-interaction",{bubbles:!0,composed:!0,cancelable:!1,detail:{interactionElement:this,responseIdentifier:this.responseIdentifier}}))}},{key:"saveResponse",value:function e(e){this.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,cancelable:!1,detail:{responseIdentifier:this.responseIdentifier,response:Array.isArray(e)?M(e):e}}))}}]);return t}(rI);r5.formAssociated=!0,tB([r({type:String,attribute:"response-identifier"})],r5.prototype,"responseIdentifier",2),tB([r({reflect:!0,type:Boolean})],r5.prototype,"disabled",2),tB([r({reflect:!0,type:Boolean})],r5.prototype,"readonly",2),tB([i()],r5.prototype,"_correctResponse",2);var r4=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._childrenMap=[];e._registerChoiceHandler=e._registerChoice.bind(e),e.addEventListener("register-qti-simple-associable-choice",e._registerChoiceHandler);return e}c(t,[{key:"_registerChoice",value:function e(e){var t=e.target;this._childrenMap.push(t)}},{key:"render",value:function e(){return ru(K(),this._childrenMap.length>0&&Array.from(Array(Math.ceil(this._childrenMap.length/2)).keys()).map(function(e,t){return ru(Y(),t,t,t,t)}))}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-qti-simple-associable-choice",this._registerChoiceHandler)}}]);return t}(r2(r5,"qti-simple-associable-choice",".dl","slot[name='qti-simple-associable-choice']"));r4.styles=r3,tB([i()],r4.prototype,"_childrenMap",2),r4=tB([rO("qti-associate-interaction")],r4);var r6=function(e,t){var n=/*#__PURE__*/function(e){"use strict";p(n,e);function n(){s(this,n);var e;e=a(this,n,arguments);e._choiceElements=[];e.minChoices=0;e.maxChoices=1;e._handleDisabledChange=function(t,n){e._choiceElements.forEach(function(e){return e.disabled=n})};e._handleReadonlyChange=function(t,n){e._choiceElements.forEach(function(e){return e.readonly=n})};e.response="";e._handleValueChange=function(){e._internals.setFormValue(e.value),e._updateChoiceSelection()};return e}c(n,[{key:"_handleMaxChoicesChange",value:function e(e,t){this._determineInputType()}},{key:"value",get:function e(){return Array.isArray(this.response)&&this.response.length===0||this.response===""?null:Array.isArray(this.response)?this.response.join(","):this.response},set:function e(e){this.maxChoices>1&&(typeof e=="string"||e===null)?this.response=e?e.toString().split(","):[]:this.response=e||""}},{key:"toggleCorrectResponse",value:function e(e,t){if(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:"connectedCallback",value:function e(){h(f(n.prototype),"connectedCallback",this).call(this),this.addEventListener("register-".concat(t),this._registerChoiceElement),this.addEventListener("unregister-".concat(t),this._unregisterChoiceElement),this.addEventListener("activate-".concat(t),this._choiceElementSelectedHandler)}},{key:"disconnectedCallback",value:function e(){h(f(n.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("register-".concat(t),this._registerChoiceElement),this.removeEventListener("unregister-".concat(t),this._unregisterChoiceElement),this.removeEventListener("activate-".concat(t),this._choiceElementSelectedHandler)}},{key:"validate",value:function e(){var e=this;var t=this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}),n=t.length,r=!0,i="";return this.maxChoices!==0&&n>this.maxChoices?(r=!1,i=this.dataset.maxSelectionsMessage||"Please select no more than ".concat(this.maxChoices," ").concat(this.maxChoices===1?"option":"options",".")):n<this.minChoices&&(r=!1,i=this.dataset.minSelectionsMessage||"Please select at least ".concat(this.minChoices," ").concat(this.minChoices===1?"option":"options",".")),t.length>0&&this._internals.setValidity(r?{}:{customError:!0},i,t[n-1]||this._choiceElements[0]||this),r}},{key:"reportValidity",value:function e(){return this._validationMessageElement&&(this._internals.validity.valid?(this._validationMessageElement.textContent="",this._validationMessageElement.style.display="none"):(this._validationMessageElement.textContent=this._internals.validationMessage,this._validationMessageElement.style.display="block")),this._internals.validity.valid}},{key:"_registerChoiceElement",value:function e(e){e.stopPropagation();var t=e.target;t.disabled=this.disabled,this._choiceElements.push(t),this._setInputType(t)}},{key:"_unregisterChoiceElement",value:function e(e){e.stopPropagation();var t=e.target;this._choiceElements=this._choiceElements.filter(function(e){return e!==t})}},{key:"_determineInputType",value:function e(){var e=this;this._choiceElements.forEach(function(t){e._setInputType(t)})}},{key:"_setInputType",value:function e(e){this._internals.role=this.maxChoices===1?"radiogroup":null;var t=this.maxChoices===1?"radio":"checkbox";e.internals.role=t,e.internals.states.delete(t==="radio"?"checkbox":"radio"),e.internals.states.add(t)}},{key:"_choiceElementSelectedHandler",value:function e(e){var t=this;this._toggleChoiceChecked(e.target),this.maxChoices===1&&this._choiceElements.forEach(function(n){n.identifier!==e.detail.identifier&&t._setChoiceChecked(n,!1)}),this._handleChoiceSelection()}},{key:"_setChoiceChecked",value:function e(e,t){var n;((n=e.internals)===null||n===void 0?void 0:n.states)&&(t?(e.internals.states.add("--checked"),e.internals.ariaChecked="true"):(e.internals.states.delete("--checked"),e.internals.ariaChecked="false"))}},{key:"_getChoiceChecked",value:function e(e){return e.internals.states.has("--checked")}},{key:"_toggleChoiceChecked",value:function e(e){var t=this._getChoiceChecked(e);this._setChoiceChecked(e,!t)}},{key:"_handleChoiceSelection",value:function e(){var e=this;var t=this._choiceElements.filter(function(t){return e._getChoiceChecked(t)}).map(function(e){return e.identifier});this.response=this.maxChoices===1?t[0]||"":t,this.validate(),this.saveResponse(this.response)}},{key:"_updateChoiceSelection",value:function e(){var e=this;var t=Array.isArray(this.response)?this.response:[this.response];this._choiceElements.forEach(function(n){var r=t.includes(n.identifier);e._setChoiceChecked(n,r)})}}]);return n}(e);return tB([l("#validationMessage")],n.prototype,"_validationMessageElement",2),tB([r({type:Number,attribute:"min-choices"})],n.prototype,"minChoices",2),tB([r({type:Number,attribute:"max-choices"})],n.prototype,"maxChoices",2),tB([y("maxChoices",{waitUntilFirstUpdate:!0})],n.prototype,"_handleMaxChoicesChange",1),tB([y("disabled",{waitUntilFirstUpdate:!0})],n.prototype,"_handleDisabledChange",2),tB([y("readonly",{waitUntilFirstUpdate:!0})],n.prototype,"_handleReadonlyChange",2),tB([i()],n.prototype,"response",2),tB([y("response",{waitUntilFirstUpdate:!0})],n.prototype,"_handleValueChange",2),n};var r9=function(e,t){var n=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._classes=[];e._allLabels=["qti-labels-decimal","qti-labels-lower-alpha","qti-labels-upper-alpha"];e._allLabelSuffixes=["qti-labels-suffix-period","qti-labels-suffix-parenthesis"];return e}c(t,[{key:"class",get:function e(){var e;return((e=this._classes)===null||e===void 0?void 0:e.join(" "))||""},set:function e(e){e&&(this._classes=e.split(" "),this._addLabels())}},{key:"updated",value:function e(e){h(f(t.prototype),"updated",this).call(this,e),this._addLabels()}},{key:"_addLabels",value:function e(){var e=this;var t=this._classes.some(function(t){return e._allLabels.includes(t)||e._allLabelSuffixes.includes(t)}),n=function(e){return!isNaN(+e)};if(t){var r=Array.from(this.querySelectorAll("qti-simple-choice")).map(function(e){return e}).map(function(e,t){return{el:e,order:n(e.style.order)?+e.style.order:t+1}}).sort(function(e,t){return e.order-t.order}).map(function(e){return e.el});for(var i=0;i<r.length;i++)r[i].marker=this._getLabel(i+1)}}},{key:"_getLabel",value:function e(e){var t=this;var n=this._classes.filter(function(e){return t._allLabels.includes(e)}).pop(),r=this._classes.filter(function(e){return t._allLabelSuffixes.includes(e)}).pop();!n&&r&&(n="qti-labels-upper-alpha");var i="";switch(n){case"qti-labels-decimal":i="".concat(e);break;case"qti-labels-lower-alpha":i="".concat(String.fromCharCode(97+e-1));break;case"qti-labels-upper-alpha":i="".concat(String.fromCharCode(65+e-1));break}return r==="qti-labels-suffix-period"?i+=".":r==="qti-labels-suffix-parenthesis"&&(i+=")"),i}}]);return t}(e);return tB([r({type:String,reflect:!0})],n.prototype,"class",1),n};var r7=nR(Z());var r8=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.orientation="vertical";return e}c(t,[{key:"_handleSlotChange",value:function e(){var e=this.querySelectorAll("qti-simple-choice");this.style.setProperty("--item-count",e.length.toString())}},{key:"render",value:function e(){return ru(ee(),this._handleSlotChange)}}]);return t}(r9(r6(r5,"qti-simple-choice"),"qti-simple-choice"));r8.styles=r7,tB([r({type:String})],r8.prototype,"orientation",2),r8=tB([rO("qti-choice-interaction")],r8);var ie=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._errorMessage=null;e.handlePostMessage=e.handlePostMessage.bind(e);return e}c(t,[{key:"connectedCallback",value:function e(){var e=this;h(f(t.prototype),"connectedCallback",this).call(this);var n=this.data.startsWith("http")||this.data.startsWith("blob")?this.data:$(this.baseItemUrl+"/"+this.data);fetch(n).then(function(e){return e.json()}).then(function(t){e.manifest=t,e.setupCES()}).catch(function(t){e._errorMessage=t})}},{key:"setupCES",value:function e(){var e=this.shadowRoot.querySelector("#pciContainer"),t=e.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 n=this.manifest.style[0],r=n.startsWith("http")||n.startsWith("blob")?n:$("".concat(this.baseRefUrl,"/").concat(n)),i=this.manifest.script[0],o=i.startsWith("http")||i.startsWith("blob")?i:$("".concat(this.baseRefUrl,"/").concat(i));window.addEventListener("message",this.handlePostMessage),t.open(),t.write("\n <html>\n <head>\n <link href='".concat(r,"' rel=\"stylesheet\" />\n <script src='").concat(o,"'><\/script>\n </head>\n <body></body>\n </html>\n ")),t.close()}},{key:"getIFrames",value:function e(){var e=this.shadowRoot.querySelectorAll("iframe"),t=this.querySelectorAll("iframe"),n=M(e).concat(M(t));var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;var u=l.src;if(new URL(u,window.location.href).origin===window.location.origin)try{var c=l.contentDocument||l.contentWindow.document;c&&this.getInnerIFrames(c,n)}catch(e){console.error("Error accessing nested iframe:",e)}}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}return n.forEach(function(e,t){n.indexOf(e)!==t&&n.splice(t,1)}),n}},{key:"getInnerIFrames",value:function e(e){var t=this;var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.querySelectorAll("iframe").forEach(function(e){n.push(e);var r=e.src;if(new URL(r,window.location.href).origin===window.location.origin)try{var i=e.contentDocument||e.contentWindow.document;t.getInnerIFrames(i,n)}catch(e){console.error("Error accessing nested iframe:",e)}else console.warn("Skipped cross-origin iframe:",r)}),n}},{key:"postToWindowAndIframes",value:function e(e,t){window.postMessage({type:e,data:t},"*");var n=this.getIFrames();var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;l.contentWindow&&l.contentWindow.postMessage({type:e,data:t},"*")}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}},{key:"handlePostMessage",value:function e(e){var t=this;var n=e.data,r=n.type,i=n.data;switch(r){case"setResponse":this.rawResponse=i,this.saveResponse(i);break;case"getResponse":{this.postToWindowAndIframes("responseData",this.rawResponse);break}case"getMedia":{var o=this.manifest.media.map(function(e){return e.startsWith("http")||e.startsWith("blob")?e:$(t.baseRefUrl+"/"+e)});this.postToWindowAndIframes("mediaData",o);break}case"setStageHeight":console.log("setStageHeight not implemented");break}}},{key:"validate",value:function e(){return this.rawResponse!==""}},{key:"response",get:function e(){return this.rawResponse},set:function e(e){if(typeof e=="string")this.rawResponse=e,this.saveResponse(e);else throw new Error("Value must be a string")}},{key:"disconnectedCallback",value:function e(){window.removeEventListener("message",this.handlePostMessage),h(f(t.prototype),"disconnectedCallback",this).call(this)}},{key:"render",value:function e(){return ru(en(),this.getAttribute("width"),this.getAttribute("height"),this._errorMessage&&ru(et(),this._errorMessage))}}]);return t}(r5);tB([r({type:String,attribute:"data"})],ie.prototype,"data",2),tB([r({type:String,attribute:"data-base-item"})],ie.prototype,"baseItemUrl",2),tB([r({type:String,attribute:"data-base-ref"})],ie.prototype,"baseRefUrl",2),tB([r({type:String,attribute:"id"})],ie.prototype,"id",2),tB([i()],ie.prototype,"_errorMessage",2),ie=tB([rO("qti-custom-interaction")],ie);var it=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.disabled=!1;e.countAttempt=null;e.title="end attempt";return e}c(t,[{key:"render",value:function e(){return ru(er(),this.disabled,this.endAttempt,this.title)}},{key:"endAttempt",value:function e(e){this.dispatchEvent(new CustomEvent("end-attempt",{bubbles:!0,composed:!0,detail:{responseIdentifier:this.responseIdentifier,countAttempt:this.countAttempt==="true"}}))}}]);return t}(rI);tB([r({type:String,attribute:"response-identifier"})],it.prototype,"responseIdentifier",2),tB([r({reflect:!0,type:Boolean})],it.prototype,"disabled",2),tB([r({type:String,attribute:"count-attempt"})],it.prototype,"countAttempt",2),tB([r({type:String})],it.prototype,"title",2),it=tB([rO("qti-end-attempt-interaction")],it);var ir=nR(ei());var ii=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._rows=5;e.response=null;e._handleResponseChange=function(){e._internals.setFormValue(e.value),e.validate()};return e}c(t,[{key:"handleclassNamesChange",value:function e(e,t){var n=this;var r=t.split(" "),i=!1;if(r.forEach(function(e){if(e.startsWith("qti-height-lines-")){var t=e.replace("qti-height-lines-","");n._rows=parseInt(t),i=!0}}),!i&&this.expectedLength){var o=Math.ceil(this.expectedLength/50);this._rows=o}}},{key:"value",get:function e(){return this.response||null},set:function e(e){this.response=e||null}},{key:"validate",value:function e(){var e=this.shadowRoot.querySelector("textarea");if(!e)return!1;if(this.patternMask&&this.dataPatternmaskMessage){this._internals.setValidity({}),e.setCustomValidity("");var t=this.patternMask.startsWith("^")&&this.patternMask.endsWith("$")?this.patternMask:"^".concat(this.patternMask,"$"),n=new RegExp(t);e.checkValidity()&&n.test(e.value)||(this._internals.setValidity({customError:!0},this.dataPatternmaskMessage),e.setCustomValidity(this.dataPatternmaskMessage))}else{var r=e.checkValidity();this._internals.setValidity(r?{}:{customError:!1})}return!!this.response&&e.checkValidity()}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("textarea");if(!e)return!1;var t=this.validate();return t||e.reportValidity(),t}},{key:"render",value:function e(){var e=this;return ru(eo(),this.responseIdentifier,5e3,function(e){return e.stopImmediatePropagation()},this.textChanged,this.textChanged,function(t){e.reportValidity()},rY(this.placeholderText?this.placeholderText:void 0),this._rows,this.disabled,this.readonly,this.response)}},{key:"textChanged",value:function e(e){if(this.disabled||this.readonly)return;var t=e.target;this.setEmptyAttribute(t.value),this.response!==t.value&&(this.value=t.value,this.saveResponse(t.value))}},{key:"setEmptyAttribute",value:function e(e){this.setAttribute("empty",e===""?"true":"false")}}]);return t}(r5);ii.styles=ir,tB([i()],ii.prototype,"_rows",2),tB([r({type:Number,attribute:"expected-length"})],ii.prototype,"expectedLength",2),tB([r({type:String,attribute:"pattern-mask"})],ii.prototype,"patternMask",2),tB([r({type:String,attribute:"placeholder-text"})],ii.prototype,"placeholderText",2),tB([r({type:String,attribute:"data-patternmask-message"})],ii.prototype,"dataPatternmaskMessage",2),tB([r({type:String,attribute:"class"})],ii.prototype,"classNames",2),tB([y("classNames")],ii.prototype,"handleclassNamesChange",1),tB([i()],ii.prototype,"response",2),tB([y("response",{waitUntilFirstUpdate:!0})],ii.prototype,"_handleResponseChange",2),ii=tB([rO("qti-extended-text-interaction")],ii);var io=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"connectedCallback",value:function e(){this.setAttribute("slot","drags")}}]);return t}(rI);io.styles=nR(ea()),tB([r({type:Number,reflect:!0})],io.prototype,"tabindex",2),io=tB([rO("qti-gap-img")],io);var ia=nR(es());var is=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(el())}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(t&&e.correctResponse){var r=[],i=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];i&&(r=i.map(function(e){var t=e.split(" ");return{text:t[0],gap:t[1]}})),this.querySelectorAll("qti-gap").forEach(function(e){var t,i,o;var a=e.getAttribute("identifier"),s=(t=r.find(function(e){return e.gap===a}))===null||t===void 0?void 0:t.text,l=(i=n.querySelector('qti-gap-text[identifier="'.concat(s,'"]')))===null||i===void 0?void 0:i.textContent.trim();if(s&&l){var u;if(!((u=e.nextElementSibling)===null||u===void 0?void 0:u.classList.contains("correct-option"))){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",e.insertAdjacentElement("afterend",c)}}else((o=e.nextElementSibling)===null||o===void 0?void 0:o.classList.contains("correct-option"))&&e.nextElementSibling.remove()})}else this.querySelectorAll(".correct-option").forEach(function(e){e.remove()})}}]);return t}(r2(r5,"qti-gap-text","qti-gap","slot[part='drags']"));is.styles=ia,is=tB([rO("qti-gap-match-interaction")],is);var il={toAttribute:function(e){return e?"true":"false"},fromAttribute:function(e){return e==="true"}};var iu=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","drags")}},{key:"render",value:function e(){return ru(eu())}}]);return t}(tM(rI,"qti-gap-text"));iu.styles=nR(ec()),tB([r({type:Number,reflect:!0})],iu.prototype,"tabindex",2),iu=tB([rO("qti-gap-text")],iu);var ic=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.tabindex=0;return e}c(t,[{key:"render",value:function e(){return ru(ed())}}]);return t}(rI);ic.styles=nR(eh()),tB([r({type:Number,reflect:!0})],ic.prototype,"tabindex",2),ic=tB([rO("qti-gap")],ic);var id={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ih=function(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++){n[r]=arguments[r]}return{_$litDirective$:e,values:n}}},ip=/*#__PURE__*/function(){"use strict";function e(t){s(this,e)}c(e,[{key:"_$AU",get:function e(){return this._$AM._$AU}},{key:"_$AT",value:function e(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}},{key:"_$AS",value:function e(e,t){return this.update(e,t)}},{key:"update",value:function e(e,t){return this.render.apply(this,M(t))}}]);return e}();var iv=rA.I;var iy=function(e){return e.strings===void 0},im=function(){return document.createComment("")},ig=function(e,t,n){var r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0){var o=r.insertBefore(im(),i),a=r.insertBefore(im(),i);n=new iv(o,a,e,e.options)}else{var s=n._$AB.nextSibling,l=n._$AM,u=l!==e;if(u){var c;var d;(c=n._$AQ)===null||c===void 0?void 0:c.call(n,e),n._$AM=e,n._$AP!==void 0&&(d=e._$AU)!==l._$AU&&n._$AP(d)}if(s!==i||u){var h=n._$AA;for(;h!==s;){var f=h.nextSibling;r.insertBefore(h,i),h=f}}}return n},ib=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e;return e._$AI(t,n),e},i_={},ik=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:i_;return e._$AH=t},iw=function(e){return e._$AH},iE=function(e){var t;(t=e._$AP)===null||t===void 0?void 0:t.call(e,!1,!0);var n=e._$AA,r=e._$AB.nextSibling;for(;n!==r;){var i=n.nextSibling;n.remove(),n=i}};var ix=function(e,t,n){var r=new Map;for(var i=t;i<=n;i++)r.set(e[i],i);return r},iq=ih(/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;if(n=a(this,t,[e]),e.type!==id.CHILD)throw Error("repeat() can only be used in text expressions");return n}c(t,[{key:"dt",value:function e(e,t,n){var r;n===void 0?n=t:t!==void 0&&(r=t);var i=[],o=[],a=0;var s=true,l=false,u=undefined;try{for(var c=e[Symbol.iterator](),d;!(s=(d=c.next()).done);s=true){var h=d.value;i[a]=r?r(h,a):a,o[a]=n(h,a),a++}}catch(e){l=true;u=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(l){throw u}}}return{values:o,keys:i}}},{key:"render",value:function e(e,t,n){return this.dt(e,t,n).values}},{key:"update",value:function e(e,t){var n=C(t,3),r=n[0],i=n[1],o=n[2];var a=iw(e),s=this.dt(r,i,o),l=s.values,u=s.keys;if(!Array.isArray(a))return this.ut=u,l;var c;var d=(c=this.ut)!==null&&c!==void 0?c:this.ut=[],h=[],f,p,v=0,y=a.length-1,m=0,g=l.length-1;for(;v<=y&&m<=g;)if(a[v]===null)v++;else if(a[y]===null)y--;else if(d[v]===u[m])h[m]=ib(a[v],l[m]),v++,m++;else if(d[y]===u[g])h[g]=ib(a[y],l[g]),y--,g--;else if(d[v]===u[g])h[g]=ib(a[v],l[g]),ig(e,h[g+1],a[v]),v++,g--;else if(d[y]===u[m])h[m]=ib(a[y],l[m]),ig(e,a[v],a[y]),y--,m++;else if(f===void 0&&(f=ix(u,m,g),p=ix(d,v,y)),f.has(d[v]))if(f.has(d[y])){var b=p.get(u[m]),_=b!==void 0?a[b]:null;if(_===null){var k=ig(e,a[v]);ib(k,l[m]),h[m]=k}else h[m]=ib(_,l[m]),ig(e,a[v],_),a[b]=null;m++}else iE(a[y]),y--;else iE(a[v]),v++;for(;m<=g;){var w=ig(e,h[g+1]);ib(w,l[m]),h[m++]=w}for(;v<=y;){var E=a[v++];E!==null&&iE(E)}return this.ut=u,ik(e,h),rh}}]);return t}(ip));var iA=nR(ef());var iS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e.startPoint=null;e.endPoint=null;e._correctLines=[];e._response=[];e.addEventListener("qti-register-hotspot",e.positionHotspotOnRegister);return e}c(t,[{key:"reset",value:function e(){this._response=[],this._correctLines=[]}},{key:"validate",value:function e(){return this.response.length>0}},{key:"response",get:function e(){return this._response},set:function e(e){this._response=e}},{key:"toggleCorrectResponse",value:function e(e,t){if(!t){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 e(){var e=this;var t,n,r,i;return ru(em(),rY((t=this.grImage[0])===null||t===void 0?void 0:t.width),rY((n=this.grImage[0])===null||n===void 0?void 0:n.height),(r=this.grImage[0])===null||r===void 0?void 0:r.width,(i=this.grImage[0])===null||i===void 0?void 0:i.height,iq(this.response||[],function(e){return e},function(t,n){return rc(ep(),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.top),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.top),function(t){t.stopPropagation(),e._response=e._response.filter(function(e,t){return t!==n}),e.saveResponse(e.response)})}),iq(this._correctLines||[],function(e){return e},function(t,n){return rc(ev(),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[0],"]")).style.top),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.left),parseInt(e.querySelector("[identifier=".concat(t.split(" ")[1],"]")).style.top))}),this.startPoint&&rc(ey(),this.startCoord.x,this.startCoord.y,this.mouseCoord.x,this.mouseCoord.y))}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tT(i,o,t,n)}},{key:"firstUpdated",value:function e(){var e=this;this.hotspots=this.querySelectorAll("qti-associable-hotspot"),this.addEventListener("mousemove",function(t){var n=e.grImage[0];if(!n)return;var r=n.getBoundingClientRect();e.mouseCoord={x:t.clientX-r.left,y:t.clientY-r.top}}),this.hotspots.forEach(function(t){t.style.left=t.getAttribute("coords").split(",")[0]+"px",t.style.top=t.getAttribute("coords").split(",")[1]+"px",t.addEventListener("click",function(t){e.startPoint?e.endPoint||(e.endPoint=t.target,e._response=M(e.response).concat(["".concat(e.startPoint.getAttribute("identifier")," ").concat(e.endPoint.getAttribute("identifier"))]),e.saveResponse(e.response),e.startPoint=null,e.endPoint=null):(e.startPoint=t.target,e.startCoord={x:parseInt(e.startPoint.getAttribute("coords").split(",")[0]),y:parseInt(e.startPoint.getAttribute("coords").split(",")[1])})})})}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return t}(r5);iS.styles=iA,tB([i()],iS.prototype,"_correctLines",2),tB([i()],iS.prototype,"startCoord",2),tB([i()],iS.prototype,"mouseCoord",2),tB([u({selector:"img"})],iS.prototype,"grImage",2),tB([i()],iS.prototype,"_response",2),iS=tB([rO("qti-graphic-associate-interaction")],iS);var iC=nR(eg());var iR=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(eb())}},{key:"positionHotspotOnRegister",value:function e(e){var t=e.target,n=t.getAttribute("coords"),r=t.getAttribute("shape"),i=n.split(",").map(function(e){return parseInt(e)});switch(r){case"circle":{var o=C(i,3),a=o[0],s=o[1],l=o[2];t.style.left=a-l+"px",t.style.top=s-l+"px",t.style.width=t.style.height=2*l+"px"}break;case"rect":{var u=C(i,4),c=u[0],d=u[1],h=u[2],f=u[3];t.style.left=c+"px",t.style.top=d+"px",t.style.width=h-c+"px",t.style.height=f-d+"px"}break;default:break}}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("qti-register-hotspot",this.positionHotspotOnRegister)}}]);return t}(r2(r5,"qti-gap-img, qti-gap-text","qti-associable-hotspot","slot[part='drags']"));iR.styles=iC,iR=tB([rO("qti-graphic-gap-match-interaction")],iR);var iP=nR(e_());var iI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._choiceElements=[];return e}c(t,[{key:"render",value:function e(){return ru(ek())}},{key:"setHotspotOrder",value:function e(e){var t=e.detail,n=t.identifier,r=this._choiceElements.find(function(e){return e.getAttribute("identifier")===n});if(!r)return;var i=this._choiceElements.length;if(!this.choiceOrdering){if(this.choiceOrdering=!0,r.order==null){var o=this._choiceElements.filter(function(e){return e.order!=null}).length;if(o>=i){this.choiceOrdering=!1;return}r.order=o+1}else{var a=r.order;r.order=null,this._choiceElements.forEach(function(e){e.order!=null&&e.order>a&&e.order--})}this.choiceOrdering=!1}}},{key:"toggleCorrectResponse",value:function e(e,t){var n;var r=this._choiceElements;var i=true,o=false,a=undefined;try{var s=function(){var r=u.value;if(t&&((n=e.correctResponse)===null||n===void 0?void 0:n.length)>0&&Array.isArray(e.correctResponse)){var i=e.correctResponse.findIndex(function(e){return e===r.identifier});i>=0?r.orderCorrect=i+1:r.orderCorrect=null}else r.orderCorrect=null};for(var l=r[Symbol.iterator](),u;!(i=(u=l.next()).done);i=true)s()}catch(e){o=true;a=e}finally{try{if(!i&&l.return!=null){l.return()}}finally{if(o){throw a}}}}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tT(i,o,t,n)}},{key:"connectedCallback",value:function e(){h(f(t.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 e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("activate-qti-hotspot-choice",this.setHotspotOrder),this.removeEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return t}(r6(r5,"qti-hotspot-choice"));iI.styles=iP,iI=tB([rO("qti-graphic-order-interaction")],iI);var iM=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}return t}(tM(rI,"qti-hotspot-choice"));iM.styles=nR(ew()),tB([r({attribute:"aria-ordervalue",type:Number,reflect:!0})],iM.prototype,"order",2),tB([r({attribute:"aria-ordercorrectvalue",type:Number,reflect:!0})],iM.prototype,"orderCorrect",2),iM=tB([rO("qti-hotspot-choice")],iM);var iT=nR(eE());var iO=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(ex())}},{key:"positionHotspotOnRegister",value:function e(e){var t=this.querySelector("img"),n=e.target,r=n.getAttribute("coords"),i=n.getAttribute("shape"),o=r.split(",").map(function(e){return parseInt(e)});tT(i,o,t,n)}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("register-qti-hotspot-choice",this.positionHotspotOnRegister)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),this.removeEventListener("unregister-qti-hotspot-choice",this.positionHotspotOnRegister)}}]);return t}(r6(r5,"qti-hotspot-choice"));iO.styles=iT,iO=tB([rO("qti-hotspot-interaction")],iO);var iU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.render=function(){return ru(eq())};return e}return t}(r6(r5,"qti-hottext"));iU=tB([rO("qti-hottext-interaction")],iU);var i$=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(eA())}}]);return t}(tM(rI,"qti-hottext"));i$.styles=nR(eS()),i$=tB([rO("qti-hottext")],i$);var iL=/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;if(n=a(this,t,[e]),n.it=rf,e.type!==id.CHILD)throw Error(n.constructor.directiveName+"() can only be used in child bindings");return n}c(t,[{key:"render",value:function e(e){if(e===rf||e==null)return this._t=void 0,this.it=e;if(e===rh)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;var t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}]);return t}(ip);iL.directiveName="unsafeHTML",iL.resultType=1;var iN=ih(iL);var iD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.options=[];e.correctOption="";e.dataPrompt="select";return e}c(t,[{key:"render",value:function e(){return ru(eP(),this.choiceSelected,this.disabled,this.readonly,this.options.map(function(e){return ru(eR(),e.value,e.selected,iN(e.textContent))}),iN(this.correctOption))}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.addEventListener("on-dropdown-selected",this.choiceSelected);var e=Array.from(this.querySelectorAll("qti-inline-choice"));this.options=[{textContent:this.dataPrompt,value:"",selected:!1}].concat(M(e.map(function(e){return{textContent:e.innerHTML,value:e.getAttribute("identifier"),selected:!1}})))}},{key:"disconnectedCallback",value:function e(){this.removeEventListener("on-dropdown-selected",this.choiceSelected)}},{key:"validate",value:function e(){var e=this.options.find(function(e){return e.selected});return e?e.value!=="":!1}},{key:"reset",value:function e(){this.options=this.options.map(function(e,t){return E(k({},e),{selected:t===0})})}},{key:"response",get:function e(){var e;return((e=this.options.find(function(e){return e.selected}))===null||e===void 0?void 0:e.value)||null},set:function e(e){this.options=this.options.map(function(t){return e&&e===t.value&&(t.selected=!0),t})}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;var r;if(this.correctResponse=t&&((r=e.correctResponse)===null||r===void 0?void 0:r.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(e){return n.correctResponse===e.value}).textContent,"</span>")}},{key:"choiceSelected",value:function e(e){var t=e.target.value;this.options=this.options.map(function(e){return E(k({},e),{selected:e.value===t})}),this.saveResponse(t)}}],[{key:"styles",get:function e(){return[nR(eC())]}}]);return t}(r5);iD.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"],tB([i()],iD.prototype,"options",2),tB([i()],iD.prototype,"correctOption",2),tB([r({attribute:"data-prompt",type:String})],iD.prototype,"dataPrompt",2),iD=tB([rO("qti-inline-choice-interaction")],iD);var iV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"connectedCallback",value:function e(){h(f(t.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 e(){this.removeEventListener("click",this._onSelectInlineChoice)}},{key:"render",value:function e(){return ru(eM())}},{key:"_onSelectInlineChoice",value:function e(){this.dispatchEvent(new CustomEvent("qti-inline-choice-select",{bubbles:!0,cancelable:!1,composed:!0,detail:{identifier:this.identifier}}))}}],[{key:"styles",get:function e(){return[nR(eI())]}}]);return t}(rI);tB([r({type:String})],iV.prototype,"identifier",2),iV=tB([rO("qti-inline-choice")],iV);var ij=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.matchMin=0;e.matchMax=1;e.fixed=!1;return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this.setAttribute("slot","qti-simple-associable-choice"),this.setAttribute("part","qti-simple-associable-choice")}},{key:"render",value:function e(){return ru(eT())}}]);return t}(tM(rI,"qti-simple-associable-choice"));ij.styles=nR(eO()),tB([r({type:Number,attribute:"match-min"})],ij.prototype,"matchMin",2),tB([r({type:Number,attribute:"match-max"})],ij.prototype,"matchMax",2),tB([r({type:String,attribute:"fixed",converter:{fromAttribute:function(e){return e==="true"},toAttribute:function(e){return String(e)}}})],ij.prototype,"fixed",2),ij=tB([rO("qti-simple-associable-choice")],ij);var iH=nR(eU());var iz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.lastCheckedRadio=null;e.class="";e._response=[];e.responseIdentifier="";e.correctOptions=[];e.handleRadioClick=function(t){var n=t.target;e.lastCheckedRadio===n?(n.checked=!1,e.lastCheckedRadio=null,e.handleRadioChange(t)):e.lastCheckedRadio=n};e.handleRadioChange=function(t){var n=t.target,r=n.value,i=n.name,o=n.type;n.checked?(e.response?e.response.indexOf(r)===-1&&(o==="radio"&&(e.response=e.response.filter(function(e){return e.indexOf(i)===-1})),e.response=M(e.response).concat([r])):e.response=[r],e.lastCheckedRadio=n):(e.response=e.response.filter(function(e){return e!==r}),e.lastCheckedRadio=null),e.requestUpdate(),e.dispatchEvent(new CustomEvent("qti-interaction-response",{bubbles:!0,composed:!0,detail:{responseIdentifier:e.responseIdentifier,response:Array.isArray(e.response)?M(e.response):e.response}}))};return e}c(t,[{key:"response",get:function e(){return this.classList.contains("qti-match-tabular")?this._response:h(f(t.prototype),"response",this)},set:function e(e){this.classList.contains("qti-match-tabular")?this._response=e:A(f(t.prototype),"response",e,this,true)}},{key:"connectedCallback",value:function e(){var e=this;var n=this,r=function(){return h(f(t.prototype),"connectedCallback",e)};return o(function(){return L(this,function(e){r().call(n),n.rows=Array.from(n.querySelectorAll("qti-simple-match-set:first-of-type qti-simple-associable-choice")),n.cols=Array.from(n.querySelectorAll("qti-simple-match-set:last-of-type qti-simple-associable-choice")),n.response=[];return[2]})})()}},{key:"validate",value:function e(){var e;return this.class.split(" ").includes("qti-match-tabular")?((e=this.response)===null||e===void 0?void 0:e.length)===this.rows.length:h(f(t.prototype),"validate",this).call(this)}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(e.correctResponse){var r=(Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse]).map(function(e){var t=C(e.split(" "),2),n=t[0],r=t[1];return{text:n,gap:r}});this.class.split(" ").includes("qti-match-tabular")?t?this.correctOptions=r:this.correctOptions=null:t&&(this.querySelectorAll(".correct-option").forEach(function(e){return e.remove()}),this.cols.forEach(function(e){var t=e.getAttribute("identifier"),i=r.find(function(e){return e.gap===t});if(i===null||i===void 0?void 0:i.text){var o,a,s;var l=(a=n.querySelector('qti-simple-associable-choice[identifier="'.concat(i.text,'"]')))===null||a===void 0?void 0:(o=a.textContent)===null||o===void 0?void 0:o.trim();if(l&&!((s=e.previousElementSibling)===null||s===void 0?void 0:s.classList.contains("correct-option"))){var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=l,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",e.insertAdjacentElement("beforebegin",u)}}}))}else this.querySelectorAll(".correct-option").forEach(function(e){return e.remove()})}},{key:"render",value:function e(){var e=this;var t=this.class.split(" ").includes("qti-match-tabular");return ru(ej(),t,t?ru(eV(),this.cols.map(function(e){return ru(e$(),iN(e.innerHTML))}),this.rows.map(function(t){return ru(eD(),iN(t.innerHTML),e.cols.map(function(n){var r,i;var o=t.getAttribute("identifier"),a=n.getAttribute("identifier"),s="".concat(o," ").concat(a),l=e.response.filter(function(e){return e.split(" ")[0]===o}).length||0,u=e.response.includes(s),c=t.matchMax===1?"radio":"checkbox",d=!!((r=e.correctOptions)===null||r===void 0?void 0:r.find(function(e){return e.text===o&&e.gap===a})),h=c==="radio"?"rb ".concat(u?"rb-checked":""," ").concat(e.correctOptions?d?"rb-correct":"rb-incorrect":""):"cb ".concat(u?"cb-checked":""," ").concat(e.correctOptions?d?"cb-correct":"cb-incorrect":""),f=((i=e.correctOptions)===null||i===void 0?void 0:i.length)>0?!0:t.matchMax===1?!1:t.matchMax!==0&&l>=t.matchMax&&!u;return ru(eN(),c,h,o,s,f,function(t){return e.handleRadioChange(t)},function(n){return t.matchMax===1?e.handleRadioClick(n):null},c==="checkbox"&&u?ru(eL()):"")}))})):rf)}}]);return t}(r2(r5,"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"));iz.styles=iH,tB([r({type:String})],iz.prototype,"class",2),tB([i()],iz.prototype,"_response",2),tB([r({type:String,attribute:"response-identifier"})],iz.prototype,"responseIdentifier",2),tB([i()],iz.prototype,"correctOptions",2),iz=tB([rO("qti-match-interaction")],iz);var iQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t);e._value=null;return e}c(t,[{key:"reset",value:function e(){}},{key:"validate",value:function e(){return!0}},{key:"response",get:function e(){return this._value?this._value.toString():null},set:function e(e){if(e)if(!isNaN(parseInt(e===null||e===void 0?void 0:e.toString())))this._value=parseInt(e.toString());else throw new Error("Value must be a number ".concat(e))}},{key:"render",value:function e(){return ru(eH())}},{key:"connectedCallback",value:function e(){var e=this;h(f(t.prototype),"connectedCallback",this).call(this);var n=this.querySelector("audio")||this.querySelector("video")||this.querySelector("object");n&&n.addEventListener("ended",function(){e._value++,e.saveResponse(e.value)})}}],[{key:"properties",get:function e(){return E(k({},r5.properties),{step:{type:Number,attribute:"step",default:10}})}}]);return t}(r5);iQ.styles=[nR(ez())],iQ=tB([rO("qti-media-interaction")],iQ);var iF=nR(eQ());var iB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.nrChoices=0;e.correctResponses=[];e.showCorrectResponses=!1;return e}c(t,[{key:"render",value:function e(){var e=Array.from(this.querySelectorAll("qti-simple-choice"));return this.nrChoices<e.length&&(this.nrChoices=e.length),ru(eB(),M(Array(this.nrChoices)).map(function(e,t){return ru(eF(),t)}))}},{key:"toggleCorrectResponse",value:function e(e,t){var n=this;if(this.shadowRoot.querySelectorAll(".correct-option").forEach(function(e){return e.remove()}),t&&e.correctResponse){var r=(Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse]).map(function(e){return e.split(" ")[0]}),i=new Set;this.querySelectorAll("qti-simple-choice").forEach(function(e,t){var o;var a=e.getAttribute("identifier");if(!a||!r.includes(a)||i.has(a))return;i.add(a);var s=(o=e.textContent)===null||o===void 0?void 0:o.trim();if(!s)return;var l=n.shadowRoot.querySelector('drop-list[identifier="droplist'.concat(t,'"]'));if(!l)return;var u=document.createElement("span");u.classList.add("correct-option"),u.textContent=s,u.style.border="1px solid var(--qti-correct)",u.style.borderRadius="4px",u.style.padding="2px 4px",u.style.display="inline-block",u.style.marginTop="4px",l.insertAdjacentElement("afterend",u)})}}},{key:"getValue",value:function e(e){return(e===null||e===void 0?void 0:e.map(function(e,t){return"".concat(e," droplist").concat(t)}))||[]}},{key:"getResponse",value:function e(){return Array.from(this.shadowRoot.querySelectorAll("drop-list")).map(function(e){var t=e.querySelectorAll('[qti-draggable="true"]');return M(Array.from(t).map(function(e){return e.getAttribute("identifier")})).join(" ")})}},{key:"firstUpdated",value:function e(e){var n=this;var r=this,i=function(){return h(f(t.prototype),"firstUpdated",n)};return o(function(){return L(this,function(t){i().call(r,e),r.childrenMap=Array.from(r.querySelectorAll("qti-simple-choice")),r.childrenMap.forEach(function(e){return e.setAttribute("part","qti-simple-choice")});return[2]})})()}}]);return t}(r2(r5,"qti-simple-choice","drop-list","slot[part='drags']"));iB.styles=iF,tB([i()],iB.prototype,"nrChoices",2),tB([i()],iB.prototype,"correctResponses",2),tB([i()],iB.prototype,"showCorrectResponses",2),tB([r({type:String})],iB.prototype,"orientation",2),iB=tB([rO("qti-order-interaction")],iB);var iW=nR(eW());var iJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;var n;e=a(this,t,arguments),n=e;e._iframeLoaded=!1;e._pendingMessages=[];e._responseCheckInterval=null;e._lastResponseStr="";e.requirePathsJson="";e.requireShimJson="";e.requireJsUrl="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js";e.baseUrl="";e.useIframe=!1;e.useDefaultShims=!1;e.useDefaultPaths=!1;e._errorMessage=null;e.response=[];e._parsedRequirePaths=null;e._parsedRequireShim=null;e.handleIframeMessage=function(t){var n=t.data;if(!(!n||n.source!=="qti-pci-iframe"))switch(n.method){case"iframeReady":e.initializeInteraction(),e.processPendingMessages(),e.dispatchEvent(new CustomEvent("qti-portable-custom-interaction-loaded",{bubbles:!0}));break;case"resize":typeof n.height=="number"&&e.iframe&&(e.iframe.style.height="".concat(n.height,"px"),e.iframe.style.width="".concat(n.width,"px"));break;case"interactionChanged":{var r=e.convertQtiVariableJSON(n.params.value);console.log("Interaction changed:",r),e.response=r,e.validate(),e.saveResponse(e.response);break}case"error":e._errorMessage=n.params.message,console.error("Error from PCI iframe:",n.params.message);break}};e._onInteractionChanged=function(t){t.stopPropagation();var n=e.convertQtiVariableJSON(t.detail.value);e.response=n,e.saveResponse(n)};e.loadConfig=/*#__PURE__*/function(){var e=o(function(e,t){var r,i,o,a;return L(this,function(o){switch(o.label){case 0:e=n.removeDoubleSlashes(e);o.label=1;case 1:o.trys.push([1,5,,6]);return[4,fetch(e)];case 2:r=o.sent();if(!r.ok)return[3,4];return[4,r.json()];case 3:i=o.sent();for(var s in i.paths)t&&(i.paths[s]=n.getResolvablePath(i.paths[s],t));return[2,i];case 4:return[3,6];case 5:a=o.sent();return[3,6];case 6:return[2,null]}})});return function(t,n){return e.apply(this,arguments)}}();e.getResolvablePathString=function(t,n){return t=t.replace(/\.js$/,""),(t===null||t===void 0?void 0:t.toLocaleLowerCase().startsWith("http"))||!n?t:e.removeDoubleSlashes("".concat(n,"/").concat(t))};e.getResolvablePath=function(t,n){return Array.isArray(t)?t.map(function(t){return e.getResolvablePathString(t,n)}):e.getResolvablePathString(t,n)};e._previousState=null;return e}c(t,[{key:"getRequirePaths",value:function e(){var e=this;if(this._parsedRequirePaths===null&&this.requirePathsJson)try{var t=JSON.parse(this.requirePathsJson);Array.isArray(t)?(this._parsedRequirePaths={},t.forEach(function(t){t.name&&t.value&&(e._parsedRequirePaths[t.name]=t.value)})):this._parsedRequirePaths=t}catch(e){console.error("Error parsing require paths JSON:",e),this._errorMessage="Error parsing require paths JSON: ".concat(e.message),this._parsedRequirePaths={}}return this._parsedRequirePaths||{}}},{key:"getRequireShim",value:function e(){if(this._parsedRequireShim===null&&this.requireShimJson)try{this._parsedRequireShim=JSON.parse(this.requireShimJson)}catch(e){console.error("Error parsing require shim JSON:",e),this._errorMessage="Error parsing require shim JSON: ".concat(e.message),this._parsedRequireShim={}}return this._parsedRequireShim||{}}},{key:"getDefaultRequirePaths",value:function e(){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 e(){return{mathJax:{exports:"MathJax",init:function e(){var e=window;if(e.MathJax)return e.MathJax.Hub.Config({showMathMenu:!1,showMathMenuMSIE:!1,menuSettings:{inTabOrder:!1}}),e.MathJax.Hub.Startup.MenuZoom=function(){},e.MathJax.Hub.Startup.onload(),e.MathJax}}}}},{key:"getFinalRequirePaths",value:function e(){var e=this.getDefaultRequirePaths(),t=this.getRequirePaths();return this.useDefaultPaths?k({},e,t):t}},{key:"getFinalRequireShim",value:function e(){var e=this.getRequireShim(),t=this.getDefaultRequireShim();return this.useDefaultShims?k({},t,e):e}},{key:"convertQtiVariableJSON",value:function e(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];if(n){for(var r in n)if(n.hasOwnProperty(r)){var i=n[r];if(Array.isArray(i))return i.map(String);if(i!=null)return String(i)}}}return null}},{key:"addHyphenatedKeys",value:function e(e){var t=k({},e);for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=n.replace(/[A-Z]/g,function(e){return"-".concat(e.toLowerCase())});t[r]=e[n]}return t}},{key:"responseVariablesToQtiVariableJSON",value:function e(e,t,n){if(t!=="single"){var r={list:{}};return r.list[n]=e,r}else{var i={base:{}};return i.base[n]=e,i}}},{key:"validate",value:function e(){return!0}},{key:"value",get:function e(){var e,t;if(this.useIframe)return((e=this._value)===null||e===void 0?void 0:e.toString())||null;{var n;var r=(n=this.pci)===null||n===void 0?void 0:n.getResponse();if(r){var i=this.convertQtiVariableJSON(r);return Array.isArray(i)?i.join(","):i}}return Array.isArray(this._value)?this._value.join(","):((t=this._value)===null||t===void 0?void 0:t.toString())||null},set:function e(e){e===null?this._value=[]:this._value=Array.isArray(e)?e:e.split(",")}},{key:"boundTo",get:function e(){var e=this;var t,n;var r={};if((n=this.context)===null||n===void 0?void 0:(t=n.variables)===null||t===void 0?void 0:t.find(function(t){return t.identifier===e.responseIdentifier})){var i,o,a,s,l,u,c,d,h;var f=((a=this.context)===null||a===void 0?void 0:(o=a.variables)===null||o===void 0?void 0:(i=o.find(function(t){return t.identifier===e.responseIdentifier}))===null||i===void 0?void 0:i.cardinality)||"single",p=((u=this.context)===null||u===void 0?void 0:(l=u.variables)===null||l===void 0?void 0:(s=l.find(function(t){return t.identifier===e.responseIdentifier}))===null||s===void 0?void 0:s.baseType)||"string",v=((h=this.context)===null||h===void 0?void 0:(d=h.variables)===null||d===void 0?void 0:(c=d.find(function(t){return t.identifier===e.responseIdentifier}))===null||c===void 0?void 0:c.value)||null,y=this.responseVariablesToQtiVariableJSON(v,f,p);r[this.responseIdentifier]=y}return r},set:function e(e){if(!e||!e[this.responseIdentifier])return;var t=this.convertQtiVariableJSON(e[this.responseIdentifier]);this._value=t,this.saveResponse(t)}},{key:"register",value:function e(e){var t=this;this.pci=e,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(k({},this.dataset)),onready:function(e){if(t.pci=e,t.pci&&typeof t.pci.getResponse=="function")try{var n=t.pci.getResponse();t._lastResponseStr=JSON.stringify(n)}catch(e){console.error("Error getting initial response:",e)}try{var r=new ResizeObserver(function(e){var n=true,r=false,i=undefined;try{for(var o=e[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;s.contentRect&&s.contentRect.height>0&&(t.style.height="".concat(s.contentRect.height+20,"px"))}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}});r.observe(t.dom),t._resizeObserver=r}catch(e){console.warn("ResizeObserver not supported, falling back to static sizing")}},ondone:function(e,n,r,i){t.response=t.convertQtiVariableJSON(n),t.saveResponse(t.response),t._lastResponseStr=JSON.stringify(n)},responseIdentifier:this.responseIdentifier,boundTo:this.boundTo};if(e.getInstance)e.getInstance(this.dom,n,void 0);else{var r=function(e){var t={},n=function(e){var t={};Object.entries(e.dataset).forEach(function(e){var n=C(e,2),r=n[0],i=n[1];r.includes("__")||(t[r]=i)});var n={};return Object.entries(e.dataset).forEach(function(e){var t=C(e,2),r=t[0],i=t[1];var o=r.split("__");if(o.length>1){var a=C(o,3),s=a[0],l=a[1],u=a[2];n[s]=n[s]||{},n[s][l]=n[s][l]||{},n[s][l][u]=i}}),Object.entries(n).forEach(function(e){var n=C(e,2),r=n[0],i=n[1];t[r]=Object.values(i)}),t}(e);for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];r==="config"?t[r]=JSON.parse(i):t[r]=i}return t}(this);e.initialize(this.customInteractionTypeIdentifier,this.dom.firstElementChild||this.dom,Object.keys(r).length?r:null)}}},{key:"disconnectedCallback",value:function e(){if(h(f(t.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 e=requirejs.s.contexts;delete e[this.customInteractionTypeIdentifier],this.removeEventListener("qti-interaction-changed",this._onInteractionChanged)}}},{key:"sendMessageToIframe",value:function e(e,t){if(!this._iframeLoaded){this._pendingMessages.push({method:e,params:t});return}this.iframe.contentWindow.postMessage({source:"qti-portable-custom-interaction",method:e,params:t},"*")}},{key:"processPendingMessages",value:function e(){var e=this;this._pendingMessages.length&&(this._pendingMessages.forEach(function(t){e.sendMessageToIframe(t.method,t.params)}),this._pendingMessages=[])}},{key:"createIframe",value:function e(){var e=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(){e._iframeLoaded=!0,e.addMarkupToIframe(),e.sendIframeInitData()};var t="qti-pci-".concat(this.responseIdentifier,"-").concat(Date.now());this.iframe.name=t;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 e(){var e={module:this.module,customInteractionTypeIdentifier:this.customInteractionTypeIdentifier,baseUrl:this.baseUrl?this.baseUrl.startsWith("http")||this.baseUrl.startsWith("blob")||this.baseUrl.startsWith("base64")?this.baseUrl:$("".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",e)}},{key:"getInteractionModules",value:function e(){var e=[],t=this.querySelector("qti-interaction-modules");if(t){var n=t.querySelectorAll("qti-interaction-module");var r=true,i=false,o=undefined;try{for(var a=n[Symbol.iterator](),s;!(r=(s=a.next()).done);r=true){var l=s.value;e.push({id:l.getAttribute("id"),primaryPath:l.getAttribute("primary-path"),fallbackPath:l.getAttribute("fallback-path")})}}catch(e){i=true;o=e}finally{try{if(!r&&a.return!=null){a.return()}}finally{if(i){throw o}}}}return e}},{key:"addMarkupToIframe",value:function e(){var e=this.querySelector("qti-interaction-markup");e&&this.sendMessageToIframe("setMarkup",e.innerHTML);var t=this.querySelector("properties");t&&this.sendMessageToIframe("setProperties",t.innerHTML)}},{key:"initializeInteraction",value:function e(){}},{key:"connectedCallback",value:function e(){var e=this;if(h(f(t.prototype),"connectedCallback",this).call(this),this.useIframe)window.addEventListener("message",this.handleIframeMessage),this.createIframe();else{define("qtiCustomInteractionContext",function(){return{register:function(t){e.register(t)},notifyReady:function(){}}});var n=this.buildRequireConfig();if(n){var r=requirejs.config(n);requirejs.onError=function(e){throw console.error("RequireJS error:",e),e.requireType==="timeout"&&console.error("Modules that timed out:",e.requireModules),e},r(["require"],function(t){try{t([e.module],function(){},function(e){console.error("Error loading module:",e)})}catch(e){console.error("Error in require call:",e)}}),this.startResponseCheck()}}}},{key:"startResponseCheck",value:function e(){var e=this;this.stopResponseCheck(),this._responseCheckInterval=window.setInterval(function(){if(e.pci&&typeof e.pci.getResponse=="function")try{var t=e.pci.getResponse(),n=JSON.stringify(t);if(n!==e._lastResponseStr){e._lastResponseStr=n;var r=e.convertQtiVariableJSON(t);e.saveResponse(r)}}catch(e){console.error("Error checking for response changes:",e)}},500)}},{key:"stopResponseCheck",value:function e(){this._responseCheckInterval!==null&&(window.clearInterval(this._responseCheckInterval),this._responseCheckInterval=null)}},{key:"buildRequireConfig",value:function e(){var e={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 t=this.getAttribute("data-base-url"),n=this.querySelector("qti-interaction-modules");if(n){var r=n.querySelectorAll("qti-interaction-module");var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;var c=u.getAttribute("id"),d=u.getAttribute("primary-path"),h=u.getAttribute("fallback-path");if(c&&d){var f=h?this.combineRequireResolvePaths(this.getResolvablePath(d,t),this.getResolvablePath(h,t)):this.getResolvablePath(d,t),p=e.paths[c]||[];e.paths[c]=this.combineRequireResolvePaths(p,f)}}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}}return e}},{key:"combineRequireResolvePaths",value:function e(e,t){var n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];return n.concat(r).filter(function(e,t,n){return n.indexOf(e)===t})}},{key:"removeDoubleSlashes",value:function e(e){return e.replace(/([^:]\/)\/+/g,"$1").replace(/\/\//g,"/").replace("http:/","http://").replace("https:/","https://")}},{key:"generateIframeContent",value:function e(){var e=window.getComputedStyle(document.body),t=JSON.stringify(this.getFinalRequirePaths()),n=JSON.stringify(this.getFinalRequireShim()),r="\n font-family: ".concat(e.getPropertyValue("font-family"),";\n font-size: ").concat(e.getPropertyValue("font-size"),";\n line-height: ").concat(e.getPropertyValue("line-height"),";\n font-weight: ").concat(e.getPropertyValue("font-weight"),";\n color: ").concat(e.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(t,";\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 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({ ...config.dataAttributes }),\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 \n contextRequire(['require'], require => { \n // Now load the actual module\n require([modulePath], () => {\n }, err => {\n console.error('Error loading module after tap loaded:', modulePath, err);\n this.notifyError('Module load error: ' + err.toString());\n });\n });\n } catch (error) {\n console.error('Exception in loadModule:', 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 };\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:"toggleCorrectResponse",value:function e(e,t){var n;this.correctResponse=t?e===null||e===void 0?void 0:e.correctResponse:e.cardinality==="single"?"":[];var r="correct-response-container-".concat(this.responseIdentifier),i=(n=this.parentElement)===null||n===void 0?void 0:n.querySelectorAll("#".concat(r));if(i&&i.forEach(function(e){e.remove()}),t)this.disable();else{this.enable();return}if(!t||!(e===null||e===void 0?void 0:e.correctResponse))return;var o=document.createElement("div");o.id=r,o.className="pci-correct-response-container",o.style.position="relative",o.style.marginTop="20px",o.style.border="2px solid green",o.style.padding="16px",o.style.borderRadius="4px",o.style.backgroundColor="rgba(0, 128, 0, 0.05)";var a=document.createElement("div");a.textContent="Correct Response:",a.style.fontWeight="bold",a.style.marginBottom="10px",a.style.color="green",o.appendChild(a);var s=document.createElement("qti-portable-custom-interaction");Array.from(this.attributes).forEach(function(e){e.name!=="id"&&e.name!=="response-identifier"&&s.setAttribute(e.name,e.value)});var l=this.responseIdentifier;s.responseIdentifier="".concat(l,"-correct"),Array.from(this.children).forEach(function(e){var t=e.cloneNode(!0);s.appendChild(t)});var u=e.correctResponse;if(this.useIframe){var c=s.connectedCallback;s.connectedCallback=function(){var t=this;c.call(this);var n=function(){return t._iframeLoaded?(setTimeout(function(){var n=t.responseVariablesToQtiVariableJSON(u,e.cardinality,e.baseType);t.sendMessageToIframe("setBoundTo",d({},l,n)),t.sendMessageToIframe("setState",{state:"review"})},1e3),!0):!1};if(!n()){var r=setInterval(function(){n()&&clearInterval(r)},100);setTimeout(function(){clearInterval(r)},1e4)}}}else{var h=s.register;s.register=function(t){var n=this;h.call(this,t);var r=function(){if(n.pci&&typeof n.pci.setResponse=="function"){var t=n.responseVariablesToQtiVariableJSON(u,e.cardinality,e.baseType);return n.pci.setResponse(t),typeof n.pci.setState=="function"&&n.pci.setState("review"),!0}return!1};setTimeout(function(){if(!r()){var e=setInterval(function(){r()&&clearInterval(e)},200);setTimeout(function(){clearInterval(e)},5e3)}},500)}}s.style.pointerEvents="none",o.appendChild(s),this.after(o)}},{key:"disable",value:function e(){if(this._previousState={pointerEvents:this.style.pointerEvents,position:this.style.position},this.useIframe&&this.sendMessageToIframe("setState",{state:"disabled"}),!this.querySelector(".pci-interaction-overlay")){var e=document.createElement("div");e.className="pci-interaction-overlay",e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="rgba(200, 200, 200, 0.3)",e.style.zIndex="100",e.style.pointerEvents="all",e.style.cursor="not-allowed",getComputedStyle(this).position==="static"&&(this.style.position="relative"),this.appendChild(e)}}},{key:"enable",value:function e(){var e=this.querySelector(".pci-interaction-overlay");e&&e.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 e(){return ru(eG(),this._errorMessage?ru(eJ(),this._errorMessage):"")}}]);return t}(r5);iJ.styles=[iW,nR(eX())],tB([r({type:String,attribute:"module"})],iJ.prototype,"module",2),tB([r({type:String,attribute:"custom-interaction-type-identifier"})],iJ.prototype,"customInteractionTypeIdentifier",2),tB([r({type:String,attribute:"data-require-paths"})],iJ.prototype,"requirePathsJson",2),tB([r({type:String,attribute:"data-require-shim"})],iJ.prototype,"requireShimJson",2),tB([r({type:String,attribute:"data-require-js-url"})],iJ.prototype,"requireJsUrl",2),tB([r({type:String,attribute:"data-base-url"})],iJ.prototype,"baseUrl",2),tB([r({type:Boolean,attribute:"data-use-iframe"})],iJ.prototype,"useIframe",2),tB([r({type:Boolean,attribute:"data-use-default-shims"})],iJ.prototype,"useDefaultShims",2),tB([r({type:Boolean,attribute:"data-use-default-paths"})],iJ.prototype,"useDefaultPaths",2),tB([i()],iJ.prototype,"_errorMessage",2),tB([t({context:rN,subscribe:!0}),i()],iJ.prototype,"context",2),tB([i()],iJ.prototype,"response",2),iJ=tB([rO("qti-portable-custom-interaction")],iJ);var iG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(eY())}}]);return t}(rI);iG.styles=[nR(eK())];customElements.define("qti-position-object-interaction",iG);var iX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e.removeMoveListener=e.removeMoveListener.bind(e),e.dragElementHandler=e.dragElementHandler.bind(e);return e}c(t,[{key:"render",value:function e(){return ru(eZ())}},{key:"dragElementHandler",value:function e(e){e.preventDefault();var t=e.clientX-this.startX,n=e.clientY-this.startY;this.dragElement.style.left=this.dragElement.offsetLeft+t+"px",this.dragElement.style.top=this.dragElement.offsetTop+n+"px",this.startX=e.clientX,this.startY=e.clientY}},{key:"firstUpdated",value:function e(e){var n=this;h(f(t.prototype),"firstUpdated",this).call(this,e),this.dragElement=this.querySelector("qti-position-object-interaction>img"),this.startX=0,this.startY=0,this.dragElement.addEventListener("mousedown",function(e){n.startX=e.clientX,n.startY=e.clientY,document.addEventListener("mousemove",n.dragElementHandler,!0)}),document.addEventListener("mouseup",this.removeMoveListener)}},{key:"removeMoveListener",value:function e(){document.removeEventListener("mousemove",this.dragElementHandler,!0)}},{key:"disconnectedCallback",value:function e(){h(f(t.prototype),"disconnectedCallback",this).call(this),document.removeEventListener("mousemove",this.dragElementHandler),document.removeEventListener("mouseup",this.removeMoveListener)}}]);return t}(rI);iX.styles=[nR(e0())],iX=tB([rO("qti-position-object-stage")],iX);var iY="important",iK=" !"+iY,iZ=ih(/*#__PURE__*/function(e){"use strict";p(t,e);function t(e){s(this,t);var n;var r;if(n=a(this,t,[e]),e.type!==id.ATTRIBUTE||e.name!=="style"||((r=e.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}c(t,[{key:"render",value:function e(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return r==null?t:t+"".concat(n=n.includes("-")?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase(),":").concat(r,";")},"")}},{key:"update",value:function e(e,t){var n=C(t,1),r=n[0];var i=e.element,o=i.style;if(this.ft===void 0)return this.ft=new Set(Object.keys(r)),this.render(r);var a=true,s=false,l=undefined;try{for(var u=this.ft[Symbol.iterator](),c;!(a=(c=u.next()).done);a=true){var d=c.value;r[d]==null&&(this.ft.delete(d),d.includes("-")?o.removeProperty(d):o[d]=null)}}catch(e){s=true;l=e}finally{try{if(!a&&u.return!=null){u.return()}}finally{if(s){throw l}}}for(var h in r){var f=r[h];if(f!=null){this.ft.add(h);var p=typeof f=="string"&&f.endsWith(iK);h.includes("-")||p?o.setProperty(h,p?f.slice(0,-11):f,p?iY:""):o[h]=f}}return rh}}]);return t}(ip));var i0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.maxChoices=1/0;e.minChoices=0;e.response=[];e._correctAreas=[];e._imgElement=null;e._scaleX=1;e._scaleY=1;e._imageWidthOrginal=0;e._imageHeightOrginal=0;e._onImageClick=function(t){if(!e._imgElement){console.warn("No <img> element found in <qti-select-point-interaction>");return}e.calculateScale();var n=e._imgElement.getBoundingClientRect(),r=(t.clientX-n.left)*e._scaleX,i=(t.clientY-n.top)*e._scaleY,o="".concat(r.toFixed()," ").concat(i.toFixed());e.maxChoices===1?e.response=[o]:(e.maxChoices===0||e.response.length<e.maxChoices)&&(e.response=M(e.response).concat([o])),e.saveResponse(e.response)};e._onResize=function(){e.calculateScale()};return e}c(t,[{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._onResize)}},{key:"toggleCorrectResponse",value:function e(e,t){if(!t){this._correctAreas=[];return}var n=e.areaMapping,r=[];if(!n||n.areaMapEntries.length===0)if(e.correctResponse){var i=Array.isArray(e.correctResponse)?e.correctResponse:[e.correctResponse];if(i.length===0||i.find(function(e){return e.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=i.map(function(e){return{shape:"circle",coords:e.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(e){return{coords:e.coords,shape:e.shape}})}},{key:"updated",value:function e(e){h(f(t.prototype),"updated",this).call(this,e);var n=this._imgElement;n&&e.has("_correctAreas")&&this._correctAreas.length>0&&(this.calculateScale(),this.shadowRoot.querySelectorAll("div").forEach(function(e){var t=e.dataset.coord,r=e.dataset.shape;t&&r&&tT(r,t.split(",").map(function(e){return+e}),n,e)}))}},{key:"render",value:function e(){var e=this;var t,n;return ru(e3(),iq(((t=this.response)===null||t===void 0?void 0:t.filter(function(e){return e}))||[],function(e){return e},function(t,n){var r=C(t.split(" ").map(Number),2),i=r[0],o=r[1],a=i/(e._imageWidthOrginal||1)*100,s=o/(e._imageHeightOrginal||1)*100,l=16,u=l/(e._imageWidthOrginal||1)*100,c=l/(e._imageHeightOrginal||1)*100;return ru(e1(),iZ({pointerEvents:e.maxChoices===1?"none":"auto",position:"absolute",transform:"translate(-50%, -50%)",left:"".concat(a,"%"),top:"".concat(s,"%"),width:"min(".concat(u,"%, 1rem)"),height:"min(".concat(c,"%, 1rem)"),minWidth:"min(".concat(u,"%, 1rem)"),minHeight:"min(".concat(c,"%, 1rem)"),borderRadius:"50%",background:"red"}),t,function(t){t.stopPropagation(),e.response=e.response.filter(function(e,t){return t!==n}),e.saveResponse(e.response)})}),iq(((n=this._correctAreas)===null||n===void 0?void 0:n.filter(function(e){return e}))||[],function(e){return e},function(e,t){return ru(e2(),iZ({position:"absolute",pointerEvents:"none",backgroundColor:"var(--qti-correct)",opacity:"0.5"}),e.coords,"correct-response-".concat(t+1),e.shape)}))}},{key:"reset",value:function e(){this.response=null}},{key:"validate",value:function e(){return this.response.length>=this.minChoices&&this.response.length<=this.maxChoices}},{key:"calculateScale",value:function e(){this._imageWidthOrginal=this._imgElement.getAttribute("width")?parseFloat(this._imgElement.getAttribute("width")):this._imgElement.naturalWidth,this._imageHeightOrginal=this._imgElement.getAttribute("height")?parseFloat(this._imgElement.getAttribute("height")):this._imgElement.naturalHeight;var e=this._imgElement.getBoundingClientRect();this._scaleX=e.width===0?1:this._imageWidthOrginal/e.width,this._scaleY=e.height===0?1:this._imageHeightOrginal/e.height}},{key:"firstUpdated",value:function e(){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 e(){h(f(t.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._onResize),this._imgElement&&this._imgElement.removeEventListener("click",this._onImageClick)}}]);return t}(r5);i0.styles=[nR(e5())],tB([r({type:Number,attribute:"max-choices"})],i0.prototype,"maxChoices",2),tB([r({type:Number,attribute:"min-choices"})],i0.prototype,"minChoices",2),tB([i()],i0.prototype,"response",2),tB([i()],i0.prototype,"_correctAreas",2),i0=tB([rO("qti-select-point-interaction")],i0);var i1=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.templateIdentifier=null;e.showHide="show";e.fixed=!1;return e}c(t,[{key:"checked",get:function e(){return this.internals.states.has("--checked")}},{key:"render",value:function e(){return ru(e6(),this.marker?ru(e4(),this.marker):rf)}}]);return t}(tM(rI,"qti-simple-choice"));i1.styles=nR(e9()),tB([r({type:String,attribute:"template-identifier"})],i1.prototype,"templateIdentifier",2),tB([r({type:String,attribute:"show-hide"})],i1.prototype,"showHide",2),tB([r({type:Boolean,converter:{fromAttribute:function(e){return e==="true"},toAttribute:function(e){return String(e)}}})],i1.prototype,"fixed",2),tB([r({type:String,attribute:!1})],i1.prototype,"marker",2),i1=tB([rO("qti-simple-choice")],i1);var i2=nR(e7());var i3=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._value=0;e._correctResponseNumber=null;e.min=0;e.max=100;e.step=1;return e}c(t,[{key:"validate",value:function e(){return!0}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this),this._updateValue(this.min),this.setAttribute("tabindex","0"),this.setAttribute("role","slider")}},{key:"response",get:function e(){return this._value.toString()},set:function e(e){var t=parseInt(e,10);isNaN(t)||this._updateValue(t)}},{key:"toggleCorrectResponse",value:function e(e,t){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 e(e){var t=this._value;if(this._value=Math.min(this.max,Math.max(this.min,e)),this._value===t)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 e(){return ru(te(),this.min,this.max,this._onMouseDown,this._onTouchStart,this.response,this._correctResponseNumber!==null?ru(e8(),this._correctResponseNumber):null)}},{key:"_onMouseDown",value:function e(e){var t=this;this._startDrag(e.pageX);var n=function(e){return t._onDrag(e.pageX)},r=function(){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",r),t._onDragEnd()};document.addEventListener("mousemove",n),document.addEventListener("mouseup",r)}},{key:"_onTouchStart",value:function e(e){var t=this;this._startDrag(e.touches[0].pageX);var n=function(e){return t._onDrag(e.touches[0].pageX)},r=function(){document.removeEventListener("touchmove",n),document.removeEventListener("touchend",r),t._onDragEnd()};document.addEventListener("touchmove",n,{passive:!1}),document.addEventListener("touchend",r)}},{key:"_startDrag",value:function e(e){this._onDrag(e)}},{key:"_onDrag",value:function e(e){var t=this._rail.getBoundingClientRect(),n=e-t.left,r=Math.min(1,Math.max(0,n/t.width)),i=this.min+Math.round(r*(this.max-this.min)/this.step)*this.step;this._updateValue(i)}},{key:"_onDragEnd",value:function e(){this.dispatchEvent(new Event("change",{bubbles:!0}))}}]);return t}(r5);i3.styles=i2,tB([l("#rail")],i3.prototype,"_rail",2),tB([r({type:Number,attribute:"lower-bound"})],i3.prototype,"min",2),tB([r({type:Number,attribute:"upper-bound"})],i3.prototype,"max",2),tB([r({type:Number,attribute:"step"})],i3.prototype,"step",2),i3=tB([rO("qti-slider-interaction")],i3);var i5=function(e,t){var n;var r=e._$AN;if(r===void 0)return!1;var i=true,o=false,a=undefined;try{for(var s=r[Symbol.iterator](),l;!(i=(l=s.next()).done);i=true){var u=l.value;(n=u._$AO)===null||n===void 0?void 0:n.call(u,t,!1),i5(u,t)}}catch(e){o=true;a=e}finally{try{if(!i&&s.return!=null){s.return()}}finally{if(o){throw a}}}return!0},i4=function(e){var t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while((n===null||n===void 0?void 0:n.size)===0)},i6=function(e){for(var t;t=e._$AM;e=t){var n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),i9(t)}};var i9=function(e){var t,n;e.type==id.CHILD&&((t=e._$AP)!==null&&t!==void 0?t:e._$AP=tU,(n=e._$AQ)!==null&&n!==void 0?n:e._$AQ=tO)},i7=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments),e._$AN=void 0;return e}c(t,[{key:"_$AT",value:function e(e,n,r){h(f(t.prototype),"_$AT",this).call(this,e,n,r),i6(this),this.isConnected=e._$AU}},{key:"_$AO",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;var n,r,i,o;e!==this.isConnected&&(this.isConnected=e,e?(n=(r=this).reconnected)===null||n===void 0?void 0:n.call(r):(i=(o=this).disconnected)===null||i===void 0?void 0:i.call(o)),t&&(i5(this,e),i4(this))}},{key:"setValue",value:function e(e){if(iy(this._$Ct))this._$Ct._$AI(e,this);else{var t=M(this._$Ct._$AH);t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}},{key:"disconnected",value:function e(){}},{key:"reconnected",value:function e(){}}]);return t}(ip);var i8=function(){return new oe},oe=function e(){"use strict";s(this,e)},ot=new WeakMap,on=ih(/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(e){return rf}},{key:"update",value:function e(e,t){var n=C(t,1),r=n[0];var i;var o=r!==this.G;return o&&this.G!==void 0&&this.rt(void 0),(o||this.lt!==this.ct)&&(this.G=r,this.ht=(i=e.options)===null||i===void 0?void 0:i.host,this.rt(this.ct=e.element)),rf}},{key:"rt",value:function e(e){if(this.isConnected||(e=void 0),typeof this.G=="function"){var t;var n=(t=this.ht)!==null&&t!==void 0?t:globalThis,r=ot.get(n);r===void 0&&(r=new WeakMap,ot.set(n,r)),r.get(this.G)!==void 0&&this.G.call(this.ht,void 0),r.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}},{key:"lt",get:function e(){var e,t;var n;return typeof this.G=="function"?(e=ot.get((n=this.ht)!==null&&n!==void 0?n:globalThis))===null||e===void 0?void 0:e.get(this.G):(t=this.G)===null||t===void 0?void 0:t.value}},{key:"disconnected",value:function e(){this.lt===this.ct&&this.rt(void 0)}},{key:"reconnected",value:function e(){this.rt(this.ct)}}]);return t}(i7));var or=nR(tt());var oi=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.inputRef=i8();e.response=null;e._handleValueChange=function(){e._internals.setFormValue(e.value),e.validate()};return e}c(t,[{key:"value",get:function e(){return this.response||null},set:function e(e){this.response=e||null}},{key:"validate",value:function e(){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 e=this._input.checkValidity();this._internals.setValidity(e?{}:{customError:!1})}return this.response!==""&&this._input.checkValidity()}},{key:"toggleCorrectResponse",value:function e(e,t){if(t&&e.correctResponse){var n=e.correctResponse.toString();this._correctResponse=n}else this._correctResponse=null}},{key:"render",value:function e(){var e=this;return ru(tr(),this.responseIdentifier,function(t){e.reportValidity()},function(e){return e.stopImmediatePropagation()},this.textChanged,this.textChanged,this.patternMask=="[0-9]*"?"number":"text",rY(this.placeholderText?this.placeholderText:void 0),this.response,rY(this.patternMask?this.patternMask:void 0),1e3,this.disabled,this.readonly,this._correctResponse?ru(tn(),this._correctResponse):rf)}},{key:"textChanged",value:function e(e){if(this.disabled||this.readonly)return;var t=e.target;this.setEmptyAttribute(t.value),this.response!==t.value&&(this.value=t.value,this.saveResponse(t.value))}},{key:"reportValidity",value:function e(){var e=this.shadowRoot.querySelector("input");if(!e)return!1;var t=this.validate();return t||e.reportValidity(),t}},{key:"reset",value:function e(){this.response=""}},{key:"setEmptyAttribute",value:function e(e){this.setAttribute("empty",e===""?"true":"false")}}]);return t}(r5);oi.styles=or,tB([r({type:Number,attribute:"expected-length"})],oi.prototype,"expectedLength",2),tB([r({type:String,attribute:"pattern-mask"})],oi.prototype,"patternMask",2),tB([r({type:String,attribute:"placeholder-text"})],oi.prototype,"placeholderText",2),tB([r({type:String,attribute:"data-patternmask-message"})],oi.prototype,"dataPatternmaskMessage",2),tB([i()],oi.prototype,"response",2),tB([l("input")],oi.prototype,"_input",2),tB([y("response",{waitUntilFirstUpdate:!0})],oi.prototype,"_handleValueChange",2),oi=tB([rO("qti-text-entry-interaction")],oi);var oo=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e._file=null;e._base64=null;return e}c(t,[{key:"reset",value:function e(){this._file=null,this._base64=null,this.saveResponse(null)}},{key:"validate",value:function e(){return this._base64!==null}},{key:"response",get:function e(){return this._base64},set:function e(e){if(typeof e=="string")this._base64=e,this.saveResponse(e);else if(e===null)this.reset();else throw new Error("Value must be a Base64-encoded string or null")}},{key:"render",value:function e(){return ru(ti(),this._onFileChange,this.disabled,this.readonly)}},{key:"_onFileChange",value:function e(e){var t=this;return o(function(){var n,r;return L(this,function(i){switch(i.label){case 0:n=e.target;r=n.files&&n.files.length>0;if(!r)return[3,2];t._file=n.files[0];return[4,t._convertToBase64(t._file)];case 1:r=(t._base64=i.sent(),t.saveResponse(t._base64),t.dispatchEvent(new CustomEvent("qti-interaction-response",{detail:{response:t._base64}})));i.label=2;case 2:r;return[2]}})})()}},{key:"_convertToBase64",value:function e(e){return new Promise(function(t,n){var r=new FileReader;r.onload=function(){return t(r.result)},r.onerror=function(){return n(r.error)},r.readAsDataURL(e)})}}],[{key:"properties",get:function e(){return k({},r5.properties)}}]);return t}(r5);oo.styles=[nR(to())],oo=tB([rO("qti-upload-interaction")],oo);var oa=nR(ta());var os=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(ts())}}]);return t}(rI);os.styles=oa,os=tB([rO("qti-item-body")],os);var ol=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tl())}},{key:"process",value:function e(){var e=new ou,t=M(this.children);e.process(t)}}]);return t}(rI);ol.styles=[nR(tu())],ol=tB([rO("qti-outcome-processing")],ol);var ou=/*#__PURE__*/function(){"use strict";function e(){s(this,e)}c(e,[{key:"process",value:function e(e){var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;a.process()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}}}]);return e}();var oc=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tc())}},{key:"connectedCallback",value:function e(){this.parentElement.tagName.endsWith("INTERACTION")&&this.setAttribute("slot","prompt")}}]);return t}(rI);oc=tB([rO("qti-prompt")],oc);var od='<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>',oh='<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 op=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(td())}},{key:"process",value:function e(){if(!this.closest("qti-assessment-item"))return;var e=M(this.children);var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;a.process()}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}}},{key:"firstUpdated",value:function e(e){if(this.getAttribute("template")){var t=this.getAttribute("template").split("/"),n=t[t.length-1].replace(".xml","");switch(this.innerHTML="",n){case"map_response":{this.appendChild(this.fragmentFromString(oh).firstElementChild.firstElementChild);break}case"map_response_point":{this.appendChild(this.fragmentFromString(of).firstElementChild.firstElementChild);break}case"match_correct":this.appendChild(this.fragmentFromString(od).firstElementChild.firstElementChild);break}}}},{key:"fragmentFromString",value:function e(e){return document.createRange().createContextualFragment(e)}}]);return t}(rI);op.styles=[nR(th())],op=tB([rO("qti-response-processing")],op);var ov=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tf())}},{key:"process",value:function e(){throw new Error("Not implemented")}}]);return t}(rI);ov=tB([rO("qti-rule")],ov);var oy=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"childExpression",get:function e(){return this.firstElementChild}},{key:"process",value:function e(){var e=this.getAttribute("identifier"),t=this.context.variables.find(function(t){return t.identifier===e})||null,n;return t.interpolationTable&&(n=t.interpolationTable.get(parseInt(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:rJ(n)}})),n)}}]);return t}(ov);tB([r({type:String})],oy.prototype,"identifier",2),tB([t({context:rN,subscribe:!0}),i()],oy.prototype,"context",2);customElements.define("qti-lookup-outcome-value",oy);var om=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tp())}},{key:"process",value:function e(){var e=M(this.children);for(var t=0;t<e.length;t++){var n=e[t];if(n.calculate()){n.process();return}}}}]);return t}(ov);customElements.define("qti-response-condition",om);var og=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"process",value:function e(){var e=this.getAttribute("identifier");if(!e){console.warn('QtiSetOutcomeValue: Missing "identifier" attribute.');return}var t=this.firstElementChild;if(!t){console.warn("QtiSetOutcomeValue: No expression found.");return}var n=new ob(t).process();this.dispatchEvent(new CustomEvent("qti-set-outcome-value",{bubbles:!0,composed:!0,detail:{outcomeIdentifier:e,value:this.formatValue(n)}}))}},{key:"formatValue",value:function e(e){return Array.isArray(e)?e.map(rJ):e!==null?rJ(e):null}}]);return t}(ov),ob=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.expression=t}c(e,[{key:"process",value:function e(){var e;var t=(e=this.expression.calculate())!==null&&e!==void 0?e:null;return t===null&&console.warn("QtiSetOutcomeValueRule: Evaluated value is null."),Array.isArray(t)?t.map(function(e){return e.value?e.value:e}):t}}]);return e}();customElements.define("qti-set-outcome-value",og);var o_=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tv())}},{key:"calculate",value:function e(){return!0}},{key:"getSubRules",value:function e(){return M(this.children)}},{key:"process",value:function e(){var e=this.getSubRules();for(var t=0;t<e.length;t++)e[t].process()}}]);return t}(rI);customElements.define("qti-response-else",o_);var ok=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.firstElementChild.calculate()}},{key:"getSubRules",value:function e(){var e=[];for(var t=1;t<this.children.length;t++)e.push(this.children[t]);return e}}]);return t}(o_);customElements.define("qti-response-if",ok);var ow=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(ty(),h(f(t.prototype),"render",this).call(this))}}]);return t}(ok);customElements.define("qti-response-else-if",ow);var oE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.getVariables=function(){return Array.from(e.children).map(function(t){switch(t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=t.getAttribute("identifier")||"";return e.context.variables.find(function(e){return e.identifier===n})||null}case"qti-multiple":{var r=t.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(e){return e.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=t.getAttribute("identifier")||"",o=e.context.variables.find(function(e){return e.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:t.getResult().toString(),cardinality:"single"}}catch(e){console.warn("default not sufficient")}return null}}}).filter(function(e){return e!==null})};return e}c(t,[{key:"render",value:function e(){return ru(tm(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(rI);oE.styles=nR(tg()),tB([i()],oE.prototype,"result",2),tB([t({context:rN,subscribe:!0}),i()],oE.prototype,"context",2);var ox=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(oE);var oq=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"calculate",value:function e(){return this.calculateChildren(Array.from(this.children))}}]);return t}(t$(ox));oq=tB([rO("qti-and")],oq);var oA=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.baseType="string";return e}c(t,[{key:"getResult",value:function e(){return this.textContent.trim()}}]);return t}(oE);tB([r({type:String,attribute:"base-type"})],oA.prototype,"baseType",2);customElements.define("qti-base-value",oA);var oS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(this.children.length===2){var t=e[0],n=e[1];if(t.baseType==="directedPair"&&n.baseType==="directedPair"&&t.cardinality==="multiple"){var r=t.value,i=n.value;return r.filter(function(e){return i.includes(e)}).length>0}else if(t.baseType==="directedPair"&&n.baseType==="directedPair"&&t.cardinality==="single"){var o=t.value;return n.value.includes(o)}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 t}(ox);customElements.define("qti-contains",oS);var oC=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"interpretation",get:function e(){return this.getAttribute("interpretation")||""}},{key:"getResult",value:function e(){var e=this.getAttribute("identifier")||"",t=this.context.variables.find(function(t){return t.identifier===e})||null;return t.cardinality!=="single"?t.correctResponse.length>0?t.correctResponse[0]:"":t.correctResponse}}]);return t}(oE);customElements.define("qti-correct",oC);var oR=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.roundingMode="significantFigures";return e}c(t,[{key:"figures",get:function e(){if(!this.getAttribute("figures"))return console.error("figures attribute is missing"),null;var e=parseInt(this.getAttribute("figures")||"0");return isNaN(e)?(console.error("figures attribute is not a number"),null):e<0?(console.error("figures attribute is negative"),null):e<1&&this.roundingMode==="significantFigures"?(console.error("figures cannot be smaller than 1 for RoundingMode significantFigures"),null):e}},{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if(this.roundingMode===null)return null;if(t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti equal"),!1;switch(e[0].baseType){case"integer":case"float":{var r=parseFloat(t.value),i=parseFloat(n.value);if(!isNaN(r)&&!isNaN(i))return this.roundingMode==="significantFigures"?r.toPrecision(this.figures)===i.toPrecision(this.figures):Math.round(r*Math.pow(10,this.figures))/Math.pow(10,this.figures)===Math.round(i*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(i));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 t}(oE);tB([r({type:String})],oR.prototype,"roundingMode",2);customElements.define("qti-equal-rounded",oR);var oP=/*#__PURE__*/function(){"use strict";function e(){s(this,e)}c(e,null,[{key:"isPointInArea",value:function e(e,t,n){if(n!=="point")return console.warn("Base type ".concat(n," is not supported for point area mapping.")),!1;var r=C(e.split(" ").map(Number),2),i=r[0],o=r[1],a=I(t.split(",")),s=a[0],l=a.slice(1),u=l.map(Number);switch(s.toLowerCase()){case"circle":case"default":{var c=C(u,3),d=c[0],h=c[1],f=c[2];return u.length!==3?(console.warn("Invalid circle definition: ".concat(t)),!1):Math.sqrt(Math.pow(i-d,2)+Math.pow(o-h,2))<=f}case"rect":{var p=C(u,4),v=p[0],y=p[1],m=p[2],g=p[3];return u.length!==4?(console.warn("Invalid rectangle definition: ".concat(t)),!1):i>=v&&i<=m&&o>=y&&o<=g}case"ellipse":{var b=C(u,4),_=b[0],k=b[1],w=b[2],E=b[3];if(u.length!==4)return console.warn("Invalid ellipse definition: ".concat(t)),!1;var x=Math.pow(i-_,2)/Math.pow(w,2),q=Math.pow(o-k,2)/Math.pow(E,2);return x+q<=1}case"poly":{if(u.length<6||u.length%2!==0)return console.warn("Invalid polygon definition: ".concat(t)),!1;var A=[];for(var S=0;S<u.length;S+=2)A.push({x:u[S],y:u[S+1]});return this.isPointInPolygon({x:i,y:o},A)}default:return console.warn("Unsupported shape type: ".concat(s)),!1}}},{key:"isPointInPolygon",value:function e(e,t){var n=!1;for(var r=0,i=t.length-1;r<t.length;i=r++){var o=t[r].x,a=t[r].y,s=t[i].x,l=t[i].y;a>e.y!=l>e.y&&e.x<(s-o)*(e.y-a)/(l-a)+o&&(n=!n)}return n}},{key:"compareSingleValues",value:function e(e,t,n){switch(n){case"identifier":case"string":return e===t;case"integer":{var r=parseInt(e,10),i=parseInt(t,10);if(!isNaN(r)&&!isNaN(i))return r===i;console.error("Cannot convert ".concat(e," and/or ").concat(t," to int."));break}case"float":{var o=parseFloat(e),a=parseFloat(t);if(!isNaN(o)&&!isNaN(a))return o===a;console.error("couldn't convert ".concat(e," and/or ").concat(t," to float."));break}case"pair":case"directedPair":{var s=e.split(" ").sort(),l=t.split(" ").sort();if(s.length===2&&l.length===2)return n==="pair"&&(s.sort(),l.sort()),s.join(" ")===l.join(" ");console.error("compared two pair but one of the values does not have 2 values: 1: ".concat(e," 2: ").concat(t));break}}return!1}}]);return e}();var oI=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.toleranceMode="exact";return e}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return this.toleranceMode!=="exact"?(console.error("toleranceMode is not supported yet"),!1):t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),!1):oP.compareSingleValues(t.value,n.value,t.baseType)}return console.error("unexpected number of children in qti-equal"),null}}]);return t}(oE);tB([r({type:String})],oI.prototype,"toleranceMode",2);customElements.define("qti-equal",oI);var oM=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if((t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+t.value>+n.value;console.error("unexpected baseType or cardinality in qti gt")}return console.error("unexpected number of children in qt"),null}}]);return t}(oE);customElements.define("qti-gt",oM);var oT=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return(t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+t.value>=+n.value:(console.error("unexpected baseType or cardinality in qti gte"),null)}return console.log("unexpected number of children in qte"),null}}]);return t}(ox);customElements.define("qti-gte",oT);var oO=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===1){var e=this.getVariables();if(!e)return!0;var t=e[0].value;return t==null||t==null||t===""}return console.error("unexpected number of children in qti Null"),null}}]);return t}(oE);customElements.define("qti-is-null",oO);var oU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if((t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float"))return+t.value<+n.value;console.error("unexpected baseType or cardinality in qti lt")}return console.error("unexpected number of children in lt"),null}}]);return t}(oE);customElements.define("qti-lt",oU);var o$=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return(t.baseType==="integer"||t.baseType==="float")&&(n.baseType==="integer"||n.baseType==="float")?+t.value<=+n.value:(console.error("unexpected baseType or cardinality in qti lte"),null)}return console.log("unexpected number of children in lte"),null}}]);return t}(ox);customElements.define("qti-lte",o$);var oL=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this;var t=this.context.variables.find(function(t){return t.identifier===e.identifier});if(!t||!t.mapping)return console.error("Response ".concat(this.identifier," can not be found")),null;var n=t.mapping,r=Array.isArray(t.value)?t.value:[t.value],i=0;var o=true,a=false,s=undefined;try{var l=function(){var e=c.value;var r=n.mapEntries.filter(function(n){return t.baseType==="string"&&!n.caseSensitive?oP.compareSingleValues(n.mapKey.toLowerCase(),e.toLowerCase(),t.baseType):oP.compareSingleValues(n.mapKey,e,t.baseType)}),o=r.reduce(function(e,t){return e.mappedValue>t.mappedValue?e:t},r.length>0?r[0]:{mapKey:null,mappedValue:null});o===null||o.mappedValue==null?i+=n.defaultValue:i+=o.mappedValue};for(var u=r[Symbol.iterator](),c;!(o=(c=u.next()).done);o=true)l()}catch(e){a=true;s=e}finally{try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw s}}}return(n===null||n===void 0?void 0:n.lowerBound)!==null&&(n===null||n===void 0?void 0:n.lowerBound)!==void 0&&(i=Math.max(n.lowerBound,i)),(n===null||n===void 0?void 0:n.upperBound)!==null&&(n===null||n===void 0?void 0:n.upperBound)!==void 0&&(i=Math.min(n.upperBound,i)),i}}]);return t}(oE);tB([r({type:String})],oL.prototype,"identifier",2);customElements.define("qti-map-response",oL);var oN=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.getVariables=function(){return Array.from(e.children).map(function(t){switch(t.tagName.toLowerCase()){case"qti-base-value":return{baseType:t.getAttribute("base-type"),value:t.textContent.trim(),cardinality:"single"};case"qti-variable":{var n=t.getAttribute("identifier")||"";return e.context.variables.find(function(e){return e.identifier===n})||null}case"qti-multiple":{var r=t.getResult();return r.length>0?{identifier:"",baseType:r[0].baseType,value:r.map(function(e){return e.value}),cardinality:"multiple",type:"response"}:null}case"qti-correct":{var i=t.getAttribute("identifier")||"",o=e.context.variables.find(function(e){return e.identifier===i})||null;return{baseType:o.baseType,value:o.correctResponse,cardinality:o.cardinality}}default:{try{return{baseType:"integer",value:t.getResult().toString(),cardinality:"single"}}catch(e){console.warn("default not sufficient")}return null}}}).filter(function(e){return e!==null})};return e}c(t,[{key:"render",value:function e(){return ru(tb(),JSON.stringify(this.result,null,2))}},{key:"calculate",value:function e(){return this.result=this.getResult(),this.result}},{key:"getResult",value:function e(){throw new Error("Not implemented")}}]);return t}(rI);oN.styles=nR(t_()),tB([i()],oN.prototype,"result",2),tB([t({context:rN,subscribe:!0}),i()],oN.prototype,"context",2);var oD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this;var t=this.context.variables.find(function(t){return t.identifier===e.identifier});if(!t)return console.warn("Response ".concat(this.identifier," cannot be found")),null;var n=t.areaMapping;if(!n)return console.warn("Area mapping not found for response ".concat(this.identifier)),null;var r=Array.isArray(t.value)?t.value:[t.value];if(!r||r.length===0)return console.warn("No candidate responses for response ".concat(this.identifier)),null;var i=0,o=new Set;var a=true,s=false,l=undefined,u=true,c=false,d=undefined;try{for(var h=r[Symbol.iterator](),f;!(u=(f=h.next()).done);u=true){var p=f.value;try{for(var v=n.areaMapEntries[Symbol.iterator](),y;!(a=(y=v.next()).done);a=true){var m=y.value;if(o.has(m.coords))continue;var g;oP.isPointInArea(p,"".concat(m.shape,",").concat(m.coords),t.baseType)&&(i+=(g=m.mappedValue)!==null&&g!==void 0?g:0,o.add(m.coords))}}catch(e){s=true;l=e}finally{try{if(!a&&v.return!=null){v.return()}}finally{if(s){throw l}}}}}catch(e){c=true;d=e}finally{try{if(!u&&h.return!=null){h.return()}}finally{if(c){throw d}}}return o.size<r.length&&(i+=n.defaultValue),n.lowerBound!=null&&(i=Math.max(n.lowerBound,i)),n.upperBound!=null&&(i=Math.min(n.upperBound,i)),i}}]);return t}(oN);tB([r({type:String})],oD.prototype,"identifier",2);customElements.define("qti-map-response-point",oD);var oV=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),n=e[0],r=e[1];return t.match(n,r)}return console.error("unexpected number of children in match"),null}}],[{key:"match",value:function e(e,t){if(e.value===null)return!1;switch(t.cardinality){case"single":var n;return Array.isArray(e.value)||Array.isArray(t.value)?(console.error("unexpected cardinality in qti match"),!1):oP.compareSingleValues((n=e.value)===null||n===void 0?void 0:n.toString(),t.value.toString(),t.baseType);case"ordered":{if(!Array.isArray(e.value)||!Array.isArray(t.value))return console.error("unexpected cardinality in qti match"),!1;if(e.value.length!==t.value.length)return!1;for(var r=0;r<e.value.length;r++)if(!oP.compareSingleValues(t.value[r],e.value[r],t.baseType))return!1;return!0}case"multiple":{if(!Array.isArray(e.value)||!Array.isArray(t.value))return console.error("unexpected cardinality in qti match"),!1;if(e.value.length!==t.value.length)return!1;var i=0;var o=true,a=false,s=undefined;try{for(var l=t.value[Symbol.iterator](),u;!(o=(u=l.next()).done);o=true){var c=u.value;var d=null,h=M(e.value);var f=true,p=false,v=undefined;try{for(var y=h[Symbol.iterator](),m;!(f=(m=y.next()).done);f=true){var g=m.value;if(oP.compareSingleValues(c,g,t.baseType)){d=g;break}}}catch(e){p=true;v=e}finally{try{if(!f&&y.return!=null){y.return()}}finally{if(p){throw v}}}if(d!==null)h.splice(h.indexOf(d),1);else return!1;i++}}catch(e){a=true;s=e}finally{try{if(!o&&l.return!=null){l.return()}}finally{if(a){throw s}}}return!0}default:return console.error("unexpected cardinality in qti match"),!1}}}]);return t}(oE);customElements.define("qti-match",oV);var oj=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();this.children.length!==2&&console.warn("The member operator takes two sub-expressions");var t=C(e,2),n=t[0],r=t[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 i=n.value;return r.value.includes(i)}}]);return t}(oE);customElements.define("qti-member",oj);var oH=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===0)return console.error("unexpected number of children in qti multiple"),null;var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;if(a.cardinality!=="multiple"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti multiple"),[]}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}}]);return t}(oE);customElements.define("qti-multiple",oH);var oz=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tk(),h(f(t.prototype),"render",this).call(this))}},{key:"getResult",value:function e(){return!this.firstElementChild.calculate()}}]);return t}(oE);customElements.define("qti-not",oz);var oQ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return Array.from(this.children).map(function(e){var t=e;if(!t.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var n=t.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(e){return typeof e=="boolean"&&e})}}]);return t}(ox);customElements.define("qti-or",oQ);var oF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===0)return console.error("unexpected number of children in qti multiple"),null;var t=true,n=false,r=undefined;try{for(var i=e[Symbol.iterator](),o;!(t=(o=i.next()).done);t=true){var a=o.value;if(a.cardinality!=="ordered"&&a.cardinality!=="single")return console.error("unexpected cardinality in qti ordered"),[]}}catch(e){n=true;r=e}finally{try{if(!t&&i.return!=null){i.return()}}finally{if(n){throw r}}}return e}}]);return t}(oE);customElements.define("qti-ordered",oF);var oB=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.context)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return r===null?rf:ru(tw(),JSON.stringify(r,null,2))}},{key:"calculate",value:function e(){var e=this;return this.context.variables.find(function(t){return t.identifier===e.identifier})||null}}]);return t}(rI);tB([r({type:String})],oB.prototype,"identifier",2),tB([t({context:rN,subscribe:!0}),i()],oB.prototype,"context",2);customElements.define("qti-printed-variable",oB);var oW=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return this.getVariables().reduce(function(e,t){if(t.baseType=="float"||t.baseType=="integer")try{return e*parseInt(t.value.toString())}catch(e){console.warn("can not convert to number")}else console.warn("has another baseType ".concat(t.baseType));return e},1)}}]);return t}(oE);customElements.define("qti-product",oW);var oJ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){return this.calculateChildren(Array.from(this.children))}}]);return t}(tL(oE));customElements.define("qti-subtract",oJ);var oG=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.caseSensitive="true";return e}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];if(t.cardinality!=="single"||n.cardinality!=="single"||Array.isArray(t.value)||Array.isArray(n.value))return console.error("unexpected cardinality in qti string-match"),!1;var r=this.caseSensitive==="true"?t.value:t.value.toLowerCase(),i=this.caseSensitive==="true"?n.value:n.value.toLowerCase();return oP.compareSingleValues(r,i,t.baseType)}return console.error("unexpected number of children in qti-string-match"),null}}]);return t}(oE);tB([r({type:String,attribute:"case-sensitive"})],oG.prototype,"caseSensitive",2);customElements.define("qti-string-match",oG);var oX=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t),e._expression=new oY(Array.from(e.children));return e}c(t,[{key:"getResult",value:function e(){return this._expression.calculate()}}]);return t}(oE),oY=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.expressions=t}c(e,[{key:"calculate",value:function e(){return this.expressions.map(function(e){if(!e.calculate)return console.error("Element doesn't implement QtiConditionExpression"),null;var t=e.calculate();return Number.isNaN(t)?(console.error("unexpected value in qti-sum, expected number"),null):Number(t)}).reduce(function(e,t){return e+t},0)}}]);return e}();customElements.define("qti-sum",oX);var oK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getAttribute("identifier");return this.context.variables.find(function(t){return t.identifier===e}).value}}]);return t}(oE);customElements.define("qti-variable",oK);var oZ=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){var e=this.getVariables();if(e.length===1){var t=e[0].value;if(Array.isArray(t)){var n=Math.floor(Math.random()*t.length);return t[n]}return t}return console.error("unexpected number of children in match"),null}}]);return t}(oE);customElements.define("qti-random",oZ);var o0=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"getResult",value:function e(){if(this.children.length===2){var e=this.getVariables(),t=e[0],n=e[1];return t.cardinality!=="single"||!Array.isArray(n.value)?(console.error("unexpected cardinality in qti equal"),null):e[0].baseType!==e[1].baseType?(console.error("The baseType of the two variables is different"),null):n.value.filter(function(e){return!t.value.includes(e)})}}}]);return t}(oN);customElements.define("qti-delete",o0);var o1=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tE())}}]);return t}(rI);o1=tB([rO("qti-content-body")],o1);var o2=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"handleclassNamesChange",value:function e(){var e=this;this.classNames.split(" ").forEach(function(t){switch(t){case"qti-rubric-discretionary-placement":e.setAttribute("slot","qti-rubric-block");break;case"qti-rubric-inline":e.setAttribute("slot","");break;default:break}})}},{key:"render",value:function e(){return ru(tx())}}]);return t}(rI);o2.styles=nR(tq()),tB([r({type:String})],o2.prototype,"id",2),tB([r({type:String})],o2.prototype,"use",2),tB([r({type:String})],o2.prototype,"view",2),tB([r({type:String,attribute:"class"})],o2.prototype,"classNames",2),tB([y("classNames",{waitUntilFirstUpdate:!0})],o2.prototype,"handleclassNamesChange",1),o2=tB([rO("qti-rubric-block")],o2);var o3=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.styleElement=null;return e}c(t,[{key:"firstUpdated",value:function e(e){var n=this;h(f(t.prototype),"firstUpdated",this).call(this,e);var r=this.getAttribute("href");if(r!==null&&fetch(r).then(function(e){return e.text()}).then(function(e){var t=n.minifyCss(e);n.styleElement=document.createElement("style"),n.styleElement.media="screen",n.styleElement.textContent="@scope {".concat(t,"}"),n.parentElement?n.parentElement.appendChild(n.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}).catch(function(e){console.error("Failed to load stylesheet:",e)}),this.textContent!==null&&this.textContent.trim()!==""){var i=this.minifyCss(this.textContent);this.styleElement=document.createElement("style"),this.styleElement.media="screen",this.styleElement.textContent="@scope {".concat(i,"}"),this.parentElement?this.parentElement.appendChild(this.styleElement):console.warn("No parent element to append the scoped stylesheet to.")}}},{key:"minifyCss",value:function e(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;])\s*/g,"$1").trim()}},{key:"disconnectedCallback",value:function e(){if(this.styleElement)try{this.styleElement.remove()}catch(e){console.error("Could not remove stylesheet:",e)}h(f(t.prototype),"disconnectedCallback",this).call(this)}}]);return t}(rI);o3=tB([rO("qti-stylesheet")],o3);var o5=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){return ru(tA())}},{key:"defaultValues",value:function e(e){var t=Array.from(this.querySelectorAll("qti-default-value > qti-value"));if(t.length===0)return null;var n=t.map(function(e){return e.innerHTML.trim()});return n.length>1||e.cardinality==="multiple"||e.cardinality==="ordered"?n:n[0]}}]);return t}(rI);o5=tB([rO("qti-variabledeclaration")],o5);var o4=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);var e;e=a(this,t,arguments);e.externalScored=null;return e}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return ru(tS(),JSON.stringify(r,null,2))}},{key:"interpolationTable",get:function e(){var e=this.querySelector("qti-interpolation-table");if(e){var t=new Map;var n=true,r=false,i=undefined;try{for(var o=e.querySelectorAll("qti-interpolation-table-entry")[Symbol.iterator](),a;!(n=(a=o.next()).done);n=true){var s=a.value;!s.getAttribute("source-value")&&s.getAttribute("target-value")&&console.error("source-value or target-value is missing in qti-interpolation-table-entry");var l=parseInt(s.getAttribute("source-value")),u=parseInt(s.getAttribute("target-value"));(isNaN(l)||isNaN(u))&&console.error("source-value or target-value is not a number in qti-interpolation-table-entry"),t.set(l,u)}}catch(e){r=true;i=e}finally{try{if(!n&&o.return!=null){o.return()}}finally{if(r){throw i}}}return t}return null}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this);var e={identifier:this.identifier,cardinality:this.cardinality,baseType:this.baseType,type:"outcome",value:null,interpolationTable:this.interpolationTable,externalScored:this.externalScored};e.value=this.defaultValues(e),(e.value===null||e.value==null)&&(e.baseType==="integer"||e.baseType==="float")&&(e.value="0"),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}}]);return t}(o5);o4.styles=[nR(tC())],tB([r({type:String,attribute:"base-type"})],o4.prototype,"baseType",2),tB([r({type:String,attribute:"external-scored"})],o4.prototype,"externalScored",2),tB([r({type:String})],o4.prototype,"identifier",2),tB([r({type:String})],o4.prototype,"cardinality",2),tB([t({context:rN,subscribe:!0}),i()],o4.prototype,"itemContext",2),o4=tB([rO("qti-outcome-declaration")],o4);var o6=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){s(this,t);return a(this,t,arguments)}c(t,[{key:"render",value:function e(){var e=this;var t,n;var r=(n=this.itemContext)===null||n===void 0?void 0:(t=n.variables.find(function(t){return t.identifier===e.identifier}))===null||t===void 0?void 0:t.value;return ru(tR(),JSON.stringify(r,null,2))}},{key:"connectedCallback",value:function e(){h(f(t.prototype),"connectedCallback",this).call(this);var e={baseType:this.baseType,identifier:this.identifier,correctResponse:this.correctResponse,cardinality:this.cardinality||"single",mapping:this.mapping,areaMapping:this.areaMapping,value:null,type:"response",candidateResponse:null};e.value=this.defaultValues(e),this.dispatchEvent(new CustomEvent("qti-register-variable",{bubbles:!0,composed:!0,detail:{variable:e}}))}},{key:"correctResponse",get:function e(){var e,t=this.querySelector("qti-correct-response");if(t){var n=t.querySelectorAll("qti-value");if(this.cardinality==="single"&&n.length>0)e=n[0].textContent.trim(),n[0].remove();else if(this.cardinality!=="single"){e=[];for(var r=0;r<n.length;r++)e.push(n[r].textContent.trim()),n[r].remove()}}return e}},{key:"mapping",get:function e(){var e=this.querySelector("qti-mapping"),t=parseInt(e===null||e===void 0?void 0:e.getAttribute("lower-bound")),n=parseInt(e===null||e===void 0?void 0:e.getAttribute("upper-bound"));return{defaultValue:Number(e===null||e===void 0?void 0:e.getAttribute("default-value"))||0,lowerBound:isNaN(t)?null:t,upperBound:isNaN(n)?null:n,mapEntries:Array.from((e===null||e===void 0?void 0:e.querySelectorAll("qti-map-entry"))||[]).map(function(e){return{mapKey:e.getAttribute("map-key")||"",mappedValue:Number(e.getAttribute("mapped-value"))||0,caseSensitive:e.hasAttribute("case-sensitive")?e.getAttribute("case-sensitive")!=="false":!0}})}}},{key:"areaMapping",get:function e(){var e=this.querySelector("qti-area-mapping"),t=Number(e===null||e===void 0?void 0:e.getAttribute("default-value"))||0,n=parseInt(e===null||e===void 0?void 0:e.getAttribute("lower-bound")),r=parseInt(e===null||e===void 0?void 0:e.getAttribute("upper-bound")),i=Array.from((e===null||e===void 0?void 0:e.querySelectorAll("qti-area-map-entry"))||[]).map(function(e){return{shape:e.getAttribute("shape")||"default",coords:e.getAttribute("coords")||"",mappedValue:Number(e.getAttribute("mapped-value"))||0,defaultValue:Number(e.getAttribute("default-value"))||0}});return{defaultValue:t,lowerBound:isNaN(n)?null:n,upperBound:isNaN(r)?null:r,areaMapEntries:i}}}]);return t}(o5);o6.styles=[nR(tP())],tB([r({type:String,attribute:"base-type"})],o6.prototype,"baseType",2),tB([r({type:String})],o6.prototype,"identifier",2),tB([r({type:String})],o6.prototype,"cardinality",2),tB([t({context:rN,subscribe:!0}),i()],o6.prototype,"itemContext",2),o6=tB([rO("qti-response-declaration")],o6);return tF(tW)}();