diff --git a/dist/mqwidgets2.js b/dist/mqwidgets2.js index be9963b..e53e6fe 100644 --- a/dist/mqwidgets2.js +++ b/dist/mqwidgets2.js @@ -1,3 +1,3 @@ /*! For license information please see mqwidgets2.js.LICENSE.txt */ -!function(){var t={161:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.I18n=void 0;var i=n(66),r={ca:{check:"Comprova",General:"General","Símbols":"Símbols",Geometria:"Geometria",Intervals:"Intervals",Funcions:"Funcions",right_answer:"Resposta correcta",close:"Tancar",open_editor:"Obrir l'editor",show_answer:"Mostra la solució",choose_option:"Tria una opció",next:"Següent",goal_reached:"Repte aconseguit!",wildcard:"Comodí",answer:"Solució",matheditor:"Editor matemàtic",accept:"Acceptar",cancel:"Cancel·lar",expected_ans:"S'esperava la resposta",error_verifying:"Ho sentim però hi ha hagut un problema a l'hora de verificar la resposta.",wrong_answer:"Resposta incorrecta. Intentau de nou.",sym_notallowed:"No es permet el símbol ${1} en la resposta.",sym_once:"El símbol ${1} només es pot emprar com a màxim una vegada en la resposta.",error_cantprocess:"Error: Hi ha respostes donades que no es poden processar. Provau d'eliminar els espais en blanc.",ans_missing:"Falten respostes"},es:{check:"Comprueba",General:"General","Símbols":"Símbolos",Geometria:"Geometria",Intervals:"Intervalos",Funcions:"Funciones",right_answer:"Respuesta correcta",close:"Cerrar",open_editor:"Abrir el editor",show_answer:"Muestra la solución",choose_option:"Elige una opción",next:"Siguiente",goal_reached:"¡Reto conseguido!",wildcard:"Comodín",answer:"Solución",matheditor:"Editor matemático",accept:"Aceptar",cancel:"Cancelar",expected_ans:"Se esperaba la respuesta",error_verifying:"Lo sentimos, ha habido un problema cuando se verificaba la respuesta.",wrong_answer:"Respuesta incorrecta. Inténtalo de nuevo.",sym_notallowed:"No se permite el símbolo ${1} en la respuesta.",sym_once:"El símbolo ${1} solo es puede emplear una vez como máximo en la respuesta.",error_cantprocess:"Error: Hay respuestas que no se pueden procesar. Intente eliminar los espacios en blanco.",ans_missing:"Faltan respuestas"},en:{check:"Check",General:"General","Símbols":"Symbols",Geometria:"Geometry",Intervals:"Intervals",Funcions:"Functions",right_answer:"Right answer",close:"Close",open_editor:"Open the editor",show_answer:"Show the answer",choose_option:"Choose an option",next:"Next",goal_reached:"Goal acomplished!",wildcard:"Wildcard",answer:"Answer",matheditor:"Math editor",accept:"Accept",cancel:"Cancel",expected_ans:"The expected answer is",error_verifying:"We are sorry. There has been a problem while verifying the answer.",wrong_answer:"Wrong answer. Try it again.",sym_notallowed:"The symbol ${1} is not allowed in the answer.",sym_once:"The symbol ${1} can only be used once in the answer.",error_cantprocess:"Error: There are some answers that can't be processed. Try removing white spaces.",ans_missing:"There are some blank answers"}};var o=function(){if("undefined"==typeof window)return"en";var t=window.navigator,e=t.languages&&t.languages[0]||t.language||t.browserLanguage||t.userLanguage||t.systemLanguage||"en_US";return(e=e.toLowerCase().replace(/-/,"_")).toLowerCase().split("_")[0]}();e.I18n=function(t){var e=i.cfg.LANG||o,n=r[e];n||(console.error("Cannot find translations in ",e,". Using fallback [en]"),n=r.en);for(var a=n[t]||t||"",s=0;s<(arguments.length<=1?0:arguments.length-1);s++)a=a.replace("${"+(s+1)+"}",s+1<1||arguments.length<=s+1?void 0:arguments[s+1]);return a}},800:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createSubmitButtonForGroup=e.bindSubmitActionButton=void 0;var i=n(247),r=n(66),o=n(161),a=n(332),s=n(830),l=(new Date).getTime();function c(t,e,n){var c=r.shared[t],u=Object.keys(c).map((function(t){return parseInt(t)}));e.off(),e.on("click",(function(t){t.preventDefault();var e=(new Date).getTime();if(l&&e-l<1e3)console.error("Too frequently checks are blocked!");else for(var p=0,f=u.length;pr.cfg.MAX_ATTEMPTS&&!h.isPigen()){h.showAnswer();continue}if(h.getQType()==r.cfg.QTYPES.M||h.getQType()==r.cfg.QTYPES.Ms){var g=h.isComodiUsed()?5:10;h.getDefinition().ans==m[0]?h.checkMsg(1,"Molt bé!"):(g=0,h.increment_wrong(),h.checkMsg(0,"Incorrecte")),n&&n(g);continue}l=e;var b={latex:m,qid:d},v="";if((v=null!=h.getDefinition().anse?atob(h.getDefinition().anse||""):h.getDefinition().ans||"")&&1==m.length&&(0,s.isNumeric)(m[0])&&(0,s.isNumeric)(v)){var y=parseFloat(m[0]),w=(parseFloat(v),g=h.isComodiUsed()?5:10,parseFloat(v)-y),q=0;h.getDefinition().rules&&h.getDefinition().rules.precision&&(q=h.getDefinition().rules.precision),Math.abs(w)<=q?h.checkMsg(1,"Molt bé!"):(g=0,h.increment_wrong(),h.checkMsg(0,"Incorrecte")),n&&n(g);continue}(0,s.copyPropsFromTo)(h.getDefinition(),b),r.cfg.pageInfo&&(b.pageInfo=r.cfg.pageInfo,h.getHash()||h.setHash((0,s.MD5)(b.formulation+"_"+(b.pageInfo.bookId||0)+"_"+(b.pageInfo.chapterId||0))),b.hash=h.getHash()),a.engineCAS.compare(b).then((function(t){var e=c[t.qid];0==t.correct&&e.increment_wrong(),e.checkMsg(t.correct,t.msg);var i=t.correct?e.isComodiUsed()?5:10:0;n&&n(i)}),(function(t){console.error("Error",t)}))}}}}))}e.bindSubmitActionButton=c,e.createSubmitButtonForGroup=function(t){var e=$('"));return c(t,e),e}},247:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.has_empty_answers=e.extractMatrices=void 0;var n=/\\begin{pmatrix}(.*?)\\end{pmatrix}/g;function i(t){for(var e=[],i=null,r=function(){var t=[];i[1].split("\\\\").forEach((function(e){var n=e.split("&");t.push(n)})),e.push(t)};null!==(i=n.exec(t));)r();return e}e.extractMatrices=i;var r=function(t){for(var e=t.length,n=0;n'),this.levelIcons=[];for(var n=0;n');this.container.append(i),this.levelIcons.push(i)}}var e,i,r;return e=t,(i=[{key:"$div",get:function(){return this.container}},{key:"setLevel",value:function(t){t<0?t=0:t>this.numLevels&&(t=this.numLevels);for(var e=0;e');var r=$('
');this.topBar=r;var o=$(''+e+"");this.closeBtn=$('');var a=this;this.closeBtn.on("click",(function(t){t.preventDefault(),a.window.css("display","none")})),r.append(o),r.append(this.closeBtn),this.window.append(r),$("body").append(this.window);var s,l,c,u,p=!1,f=0,d=0;this.dragStart=function(t){"touchstart"===t.type?(c=t.touches[0].clientX-f,u=t.touches[0].clientY-d):(c=t.clientX-f,u=t.clientY-d),t.target===r[0]&&(p=!0)},this.dragEnd=function(t){c=s,u=l,p=!1},this.setTranslate=function(t,e,n){n.style.transform="translate3d("+t+"px, "+e+"px, 0)"},this.drag=function(t){p&&(t.preventDefault(),"touchmove"===t.type?(s=t.touches[0].clientX-c,l=t.touches[0].clientY-u):(s=t.clientX-c,l=t.clientY-u),f=s,d=l,a.setTranslate(s,l,a.window[0]))},r[0].addEventListener("touchstart",this.dragStart,!1),r[0].addEventListener("touchend",this.dragEnd,!1),r[0].addEventListener("touchmove",this.drag,!1),r[0].addEventListener("mousedown",this.dragStart,!1),r[0].addEventListener("mouseup",this.dragEnd,!1),r[0].addEventListener("mousemove",this.drag,!1)}var e,i,r;return e=t,(i=[{key:"append",value:function(t){this.window.append(t)}},{key:"show",value:function(){this.window.css("display","initial")}},{key:"close",value:function(){this.window.css("display","none")}},{key:"remove",value:function(){this.closeBtn.off(),this.window.remove(),this.topBar[0].removeEventListener("touchstart",this.dragStart),this.topBar[0].removeEventListener("touchend",this.dragEnd),this.topBar[0].removeEventListener("touchmove",this.drag),this.topBar[0].removeEventListener("mousedown",this.dragStart),this.topBar[0].removeEventListener("mouseup",this.dragEnd),this.topBar[0].removeEventListener("mousemove",this.drag)}},{key:"dispose",value:function(){this.remove()}}])&&n(e.prototype,i),r&&n(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.PwDialog=i},541:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n '+(0,p.I18n)("matheditor"),500,320)),n="gid_"+Math.random().toString(32).substring(2),i=u.cfg.QTYPES.P;t.editorPanel=new d.EditorPanel(t.window,n,{},i,!1);var r=$('
'),o=$('"),a=$('");return r.append(o),r.append(a),t.append(r),o.on("click",(function(t){t.preventDefault(),e.acceptFn&&e.acceptFn(e),e.close()})),a.on("click",(function(t){t.preventDefault(),e.cancelFn&&e.cancelFn(e),e.close()})),t}return e=c,(n=[{key:"latex",value:function(t){return null!=t?(this.editorPanel.latex(t),[""]):this.editorPanel.latex().map((function(t){return(0,f.sanitizeLaTeX)(t)}))}},{key:"show",value:function(){this.window.css("display",""),this.editorPanel.focus()}},{key:"dispose",value:function(){this.editorPanel.dispose(),this.window.find("button").off(),this.dispose()}},{key:"reflow",value:function(){this.editorPanel.reflow()}},{key:"setDefinition",value:function(t){this.editorPanel.setDefinition(t)}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(281).PwDialog);e.EditorDialog=h},44:function(t,e,n){"use strict";function i(t,e){for(var n=0;n');var p=$(""+r+"");return o.check_el=$('
'),o.parent.append(o.quill_el_container),o.quill_el_container.append(p),o.mathInput=(0,u.StaticMath)(p[0]),o.mathInput.innerFields.forEach((function(t){t.__controller.textarea.on("keyup",(function(t){t.preventDefault(),a.status!=u.cfg.STATUS.MODIFIED&&(a.check_el.html(""),a.status=u.cfg.STATUS.MODIFIED,a.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert"))}))})),o.quill_el_container.append(o.check_el),o}return e=c,(n=[{key:"clear",value:function(){this.mathInput.innerFields.forEach((function(t){return t.latex("")})),this.check_el.html(""),this.status=u.cfg.STATUS.UNMODIFIED,this.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert")}},{key:"focus",value:function(){this.mathInput.focus()}},{key:"latex",value:function(t){if(null==t){var e=[];this.mathInput.innerFields;for(var n=this.mathInput.innerFields,i=0,r=n.length;i',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"get_qid",value:function(){return this.mathInput.id}},{key:"dispose",value:function(){this.mathInput.revert(),this.quill_el_container.find("button").off()}},{key:"reflow",value:function(){this.mathInput.reflow(),this.status=u.cfg.STATUS.UNMODIFIED}},{key:"showAnswer",value:function(){if(this.def)if(this.def.right_answer){var t=this;if(!u.sharedDlg.showAnswerDlg){var e=new d.PwDialog((0,p.I18n)("right_answer"),400,250);u.sharedDlg.showAnswerDlg=e;var n=$('
');e.append(n);var i=$('");e.append(i),i.on("click",(function(t){t.preventDefault(),e.close()}))}t.isAnswerShown||(t.isAnswerShown=!0,t.status=u.cfg.STATUS.UNMODIFIED,t.dlg_btn_el&&t.dlg_btn_el.prop("disabled",!0));var r=u.sharedDlg.showAnswerDlg,o=r.window.find(".pw-answer-holder");t.def&&(o.html(atob(t.def.right_answer)+"


"),(0,f.reflowLatex)(),r.show())}else console.error("Cannot show answer because, ",this.def.right_answer);else console.error("Cannot show answer because, def is null")}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorCloze=h},980:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),r.quill_blocker=$("
");var a=$("");r.quill_blocker.append(a),r.check_el=$('
'),r.quill_el_container.append(r.quill_blocker);var u=i===p.cfg.QTYPES.S;return r.parent.append(r.quill_el_container),r.mathInput=(0,p.MathField)(a[0],{handlers:{edit:function(){o.mathInput.latex(),o.status!=p.cfg.STATUS.MODIFIED&&(o.check_el.html(""),o.status=p.cfg.STATUS.MODIFIED,o.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert"))}}}),u&&(r.dlg_btn_el=$(''),r.quill_el_container.append(r.dlg_btn_el),r.dlg_btn_el.on("click",(function(t){t.preventDefault();var e=p.sharedDlg.editordlg;e||(e=new m.EditorDialog,p.sharedDlg.editordlg=e),e.acceptFn=function(t){o.mathInput.latex(t.latex())},e.setDefinition(o.def),e.show(),e.latex(o.mathInput.latex())}))),r.quill_el_container.append(r.check_el),r}return e=c,(n=[{key:"get_qid",value:function(){return this.mathInput.id}},{key:"clear",value:function(){this.mathInput.latex(""),this.check_el.html(""),this.status=p.cfg.STATUS.UNMODIFIED,this.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert")}},{key:"focus",value:function(){this.mathInput.focus()}},{key:"latex",value:function(t){return null==t?[(0,d.sanitizeLaTeX)(this.mathInput.latex())]:(this.mathInput.latex(t),this.status=p.cfg.STATUS.UNMODIFIED,[])}},{key:"checkMsg",value:function(t,e){this.status=t;var n=null;1==t?(n='',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"dispose",value:function(){this.mathInput.revert(),this.quill_el_container.find("button").off()}},{key:"showAnswer",value:function(){if(this.def.right_answer){var t=this;if(!p.sharedDlg.showAnswerDlg){var e=new h.PwDialog((0,f.I18n)("right_answer"),400,250);p.sharedDlg.showAnswerDlg=e;var n=$('
');e.append(n);var i=$('");e.append(i),i.on("click",(function(t){t.preventDefault(),e.close()}))}t.isAnswerShown||(t.isAnswerShown=!0,t.status=p.cfg.STATUS.UNMODIFIED,t.quill_blocker.addClass("pw-me-blocker"),t.dlg_btn_el&&t.dlg_btn_el.prop("disabled",!0)),n=(e=p.sharedDlg.showAnswerDlg).window.find(".pw-answer-holder"),t.def&&(n.html(atob(t.def.right_answer)+"


"),(0,d.reflowLatex)(),e.show())}else console.error("Cannot show answer because, ",this.def.right_answer)}},{key:"increment_wrong",value:function(){if(this.wrong_attemps,p.cfg.MAX_ATTEMPTS,this.pigen,this.wrong_attemps+=1,this.wrong_attemps==p.cfg.MAX_ATTEMPTS+1&&!this.pigen){this.def;var t=$(''),e=this;t.on("click",(function(t){e.showAnswer()})),this.def.right_answer?this.quill_el_container.append(t):u.engineCAS.getAnswer(this.def).then((function(n){n.right_answer&&e.def?(e.def.right_answer=n.right_answer,e.quill_el_container.append(t)):n.msg&&console.error(n.msg)}),(function(t){console.error(t)}))}}},{key:"reflow",value:function(){this.mathInput.reflow(),this.status=p.cfg.STATUS.UNMODIFIED}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorInput=g},203:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),o.check_el=$('
');var d=$('
');o.btn_action=$('");var h=$('');return d.append(o.btn_action),r.forEach((function(t,e){var n=$(''+t+"");n.on("click",(function(t){t.preventDefault(),a.selectedIndex=e+"",a.btn_action.html(n.html()),a.status!=u.cfg.STATUS.MODIFIED&&(a.check_el.html(""),a.status=u.cfg.STATUS.MODIFIED,a.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert"))})),h.append(n)})),d.append(h),o.quill_el_container.append(d),o.quill_el_container.append(o.check_el),o.parent.append(o.quill_el_container),(0,f.reflowLatex)(),o}return e=c,(n=[{key:"showAnswer",value:function(){}},{key:"clear",value:function(){this.selectedIndex="",this.btn_action.html(""),this.check_el.html(""),this.status=u.cfg.STATUS.UNMODIFIED,this.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert")}},{key:"focus",value:function(){this.btn_action.focus()}},{key:"latex",value:function(t){return[this.selectedIndex]}},{key:"checkMsg",value:function(t,e){this.status=t;var n="";1==t?(n='',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"dispose",value:function(){this.quill_el_container.off()}},{key:"get_qid",value:function(){return this.qid}},{key:"reflow",value:function(){this.status=u.cfg.STATUS.UNMODIFIED}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorMChoice=d},142:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),o.check_el=$('
');var d=$("
"),h="rgid_"+Math.random().toString(32).substring(2),m=[];return a.forEach((function(t,e){var n="raid_"+Math.random().toString(32).substring(2),i=$('
'),r=null;r=f.multipleAnswers?$(''):$(''),m.push(r);var o=$('");r.on("change",(function(t){t.preventDefault();for(var e=[],n=0;n',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"dispose",value:function(){this.quill_el_container.off()}},{key:"reflow",value:function(){this.status=u.cfg.STATUS.UNMODIFIED}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorMChoiceCheckbox=f},786:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),o.parent.append(o.panel),o.palettes=new d.PwTabMenu(o.panel,o.gid),o.spanMathInput=$(''),o.spanMathInput.on("click",(function(t){t.preventDefault(),$(".pw-me-btn-dropdownmenu").css("display","none")})),o.panel.append(o.spanMathInput),o.mathInput=(0,p.MathField)(o.spanMathInput[0],{handlers:{edit:function(){r&&a.status!=p.cfg.STATUS.MODIFIED&&(a.check_el&&a.check_el.html(""),a.status=p.cfg.STATUS.MODIFIED)}}}),o.standalone&&(o.check_el=$("
"),o.panel.append(o.check_el)),o.feedback_el=$(''),o.panel.append(o.feedback_el),(0,f.items)(m.default.button_meta,(function(t,e){var n=m.default.default_toolbar_tabs[e.tab-1];a.palettes.addTab(n);var i=(0,h.createToolbarButton)(a.panel,e,t,a.mathInput);a.palettes.addContentsToTab(n,i)})),o.setDefinition(n),o}return e=c,(n=[{key:"$div",get:function(){return this.panel}},{key:"clear",value:function(){this.mathInput.latex(""),this.check_el&&this.check_el.html(""),this.status=p.cfg.STATUS.UNMODIFIED}},{key:"focus",value:function(){this.mathInput.focus()}},{key:"latex",value:function(t){return null==t?[(0,f.sanitizeLaTeX)(this.mathInput.latex())]:(this.mathInput.latex(t),this.status=p.cfg.STATUS.UNMODIFIED,[""])}},{key:"checkMsg",value:function(t,e){if(this.standalone){this.status=t;var n="";n=1==t?' '+e+"":0==t?' '+e+"":' '+e+"",this.check_el&&this.check_el.html(n)}}},{key:"get_qid",value:function(){return this.mathInput.id}},{key:"showPalette",value:function(t,e){this.palettes.setVisible(t,e)}},{key:"dispose",value:function(){this.mathInput.revert(),this.panel.find("button").off(),this.palettes.dispose()}},{key:"reflow",value:function(){this.mathInput.reflow(),this.status=p.cfg.STATUS.UNMODIFIED}},{key:"setDefinition",value:function(t){this.def=t;var e=this;if(t.palettes&&t.palettes.indexOf("all")>=0)m.default.default_toolbar_tabs.forEach((function(t){e.palettes.setVisible(t,!0)})),this.palettes.setTab("General");else if(t.palettes&&t.palettes.length){var n=null,i=0;m.default.default_toolbar_tabs.forEach((function(r){for(var o=!1,a=0;!o&&ap.cfg.MAX_ATTEMPTS&&this.showAnswer()}},{key:"showAnswer",value:function(){var t,e=this;this.def?this.def.right_answer?(null===(t=e.check_el)||void 0===t||t.css("display","none"),this.feedback_el.css("display",""),this.feedback_el.html(atob(this.def.right_answer)+"


"),(0,f.reflowLatex)(),this.isAnswerShown=!0,this.palettes.setEnabled(!1),this.spanMathInput.css("pointer-events","none"),this.panel.css("cursor","not-allowed")):b.engineCAS.getAnswer(this.def).then((function(t){var n;t.right_answer?(null===(n=e.check_el)||void 0===n||n.css("display","none"),e.def.right_answer=t.right_answer,e.feedback_el.css("display",""),e.feedback_el.html(atob(e.def.right_answer)+"


"),(0,f.reflowLatex)(),e.isAnswerShown=!0,e.palettes.setEnabled(!1),e.spanMathInput.css("pointer-events","none"),e.panel.css("cursor","not-allowed")):t.msg&&console.error(t.msg)}),(function(t){console.error(t)})):console.error("Cannot show answer because def is null")}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(g.EditorBase);e.EditorPanel=v},280:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createToolbarButton=void 0;var i=n(66);e.createToolbarButton=function(t,e,n,r){if("function"==typeof e.latex){var o=$('
'),a=$(""+e.icon+"");(0,i.StaticMath)(a[0]),o.append(a);var s=$('
');t.append(s);for(var l=[],c=0,u=e.vars.length;c");l.push(h);var m=$(''+f+"");s.append(m),s.append(h)}var g=$('');s.append(g),g.on("click",(function(t){t.preventDefault();for(var n={},i=0,o=l.length;i');a=$(""+e.icon+"");(0,i.StaticMath)(a[0]),o.append(a),o.on("click",(function(t){t.preventDefault(),r.write(e.latex),r.focus(),e.moveto&&r.keystroke(e.moveto),$(".pw-me-btn-dropdownmenu").css("display","none")}))}return o}},837:function(t,e,n){"use strict";function i(t,e){for(var n=0;n'),this.parent=e,this.tabs={},this.currentTab=null,this.tabsPanel=$('
'),this.contentsPanel=$('
'),this.$panel.append(this.tabsPanel),this.$panel.append(this.contentsPanel),this.parent&&this.parent.append(this.$panel),this.gid=n}var e,n,a;return e=t,(n=[{key:"$div",get:function(){return this.$panel}},{key:"addTab",value:function(t){if(!this.tabs[t]){var e=this,n=$('"),i=$('');n.on("click",(function(n){n.preventDefault(),e.setTab(t)})),this.tabsPanel.append(n),this.contentsPanel.append(i),this.tabs[t]={tab:n,container:i},1===Object.keys(this.tabs).length&&this.setTab(t)}}},{key:"addContentsToTab",value:function(t,e){this.tabs[t]&&this.tabs[t].container.append(e)}},{key:"setVisible",value:function(t,e){this.tabs,this.tabs[t]&&(this.tabs[t].tab.css("display",e?"":"none"),this.tabs[t].container.css("display",e?"flex":"none"))}},{key:"setEnabled",value:function(t){t?(this.contentsPanel.css("pointer-events","initial"),this.$panel.css("cursor","initial")):(this.contentsPanel.css("pointer-events","none"),this.$panel.css("cursor","not-allowed"))}},{key:"setTab",value:function(t){(0,o.items)(this.tabs,(function(e,n){e==t?(n.tab.addClass("pw-me-btn-active"),n.tab.css("display","")):n.tab.removeClass("pw-me-btn-active"),n.container.css("display",e==t?"flex":"none")}))}},{key:"dispose",value:function(){this.tabsPanel.children().off(),this.tabsPanel.html(""),this.contentsPanel.html(""),this.tabs={}}}])&&i(e.prototype,n),a&&i(e,a),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.PwTabMenu=a},727:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={default_toolbar_buttons:["fraction","square_root","cube_root","root","superscript","subscript","multiplication","division","plus_minus","pi","degree","not_equal","greater_equal","less_equal","greater_than","less_than","angle","parallel_to","perpendicular","triangle","parallelogram","round_brackets","matrix2","matrix3"],default_toolbar_tabs:["General","Símbols","Geometria","Intervals","Funcions"],button_meta:{"Multiplicació":{latex:"\\times",tab:1,icon:"\\times"},"Fracció":{latex:"\\frac{}{}",moveto:"Up",movefor:1,tab:1,icon:"\\frac{\\square}{\\square}"},Exponent:{latex:"\\^{}",moveto:"Up",movefor:1,tab:1,icon:"\\square^2"},"Parèntesis":{latex:"\\left(\\right)",moveto:"Left",movefor:1,tab:1,icon:"\\left(\\square\\right)"},"Arrel quadrada":{latex:"\\sqrt{}",moveto:"Left",movefor:1,tab:1,icon:"\\sqrt{\\square}"},"Arrel cúbica":{latex:"\\sqrt[3]{}",moveto:"Left",movefor:1,tab:1,icon:"\\sqrt[3]{\\square}"},Radical:{latex:"\\sqrt[{}]{}",moveto:"Left",movefor:2,tab:1,icon:"\\sqrt[\\square]{\\square}"},"Matriu 2x2":{latex:"\\begin{pmatrix} & \\\\ & \\end{pmatrix}",tab:1,icon:"M_{2\\times 2}"},"Matriu 3x3":{latex:"\\begin{pmatrix} & & \\\\ & & \\\\ & & \\end{pmatrix}",tab:1,icon:"M_{3\\times 3}"},"Matriu mxn":{latex:function(t){for(var e=[],n=0;n";t.append(f),(0,c.reflowLatex)()}if(t.removeClass("pygen-cloze"),p==s.cfg.QTYPES.C)u=new i.EditorCloze(t,e,n,s.cfg.QTYPES.C,n.initial_latex),t.addClass("pygen-cloze");else if(p==s.cfg.QTYPES.P)u=new o.EditorPanel(t,e,n,s.cfg.QTYPES.P,!0);else if(p==s.cfg.QTYPES.M)n.symbols=n.symbols||[],u=new a.EditorMChoice(t,e,n,s.cfg.QTYPES.M,n.symbols);else if(p==s.cfg.QTYPES.Ms){n.symbols=n.symbols||[];var d=Array.isArray(n.ans);u=new l.EditorMChoiceCheckbox(t,e,n,s.cfg.QTYPES.Ms,d)}else u=p==s.cfg.QTYPES.B?new r.EditorInput(t,e,n,s.cfg.QTYPES.B):new r.EditorInput(t,e,n,s.cfg.QTYPES.S);var h=u.get_qid();return(s.shared[e]||{})[h]=u,u.setStatus(s.cfg.STATUS.UNMODIFIED),n.initial_latex&&p!=s.cfg.QTYPES.C&&(u.latex(n.initial_latex),u.setStatus(s.cfg.STATUS.MODIFIED)),h}},332:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.engineCAS=void 0;var i=n(66),r=n(53),o=n(83);e.engineCAS={compare:function(t){return"sympy"===(t.engine||i.cfg.DEFAULT_ENGINE)?o.sympyCAS.compare(t):r.nerdamerCAS.compare(t)},getAnswer:function(t){return"sympy"===(t.engine||i.cfg.DEFAULT_ENGINE)?o.sympyCAS.getAnswer(t):r.nerdamerCAS.getAnswer(t)}}},53:function(t,e,n){"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var i,r,o=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);a=!0);}catch(t){s=!0,r=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n1&&e.push((0,a.I18n)("sym_once",t))})),e}}],(n=[{key:"compare",value:function(e){var n=window.nerdamer;return"string"==typeof(e=t.clone(e)).latex&&(e.latex=[e.latex]),new Promise((function(r,o){n.flush(),n.clearVars(),window.nerdamer.getCore().Symbol;var p={x:n("x"),y:n("y"),z:n("z"),t:n("t"),e:n("exp(1)")},f=t.checkRules(e);if(f.length)r({qid:e.qid,msg:f.join(" "),correct:0});else{var d=[];try{if((d=e.latex.map((function(t){return(0,l.parseLatex)(t)}))).filter((function(t){return null==t})).length>0)return r({qid:e.qid,correct:-4,msg:(0,a.I18n)("error_cantprocess")})}catch(t){return console.error(t),r({qid:e.qid,correct:-4,msg:"Error: No es poden processar les respostes donades: "+t})}d.forEach((function(t,e){n.setVar("ua_"+e,t)}));try{(e.symbols||[]).forEach((function(t){if(t.indexOf(":=")>0){var e=t.indexOf(":="),i=t.substring(0,e),r=t.substring(e+2);n.setVar(i,r)}else n.setVar(t,t)}))}catch(t){return console.error(t),void r({qid:e.qid,correct:-2,msg:"Error: no es poden processar els símbols: "+t})}(0,s.items)(p,(function(t,e){e.text()}));var h=[];try{if(e.anse&&(e.ans=t.decrypt(e.anse)),e.anse,e.ans,"string"==typeof e.ans&&(e.ans=[e.ans]),(h=e.ans.map((function(t){return n(t,p)}))).filter((function(t){return null==t})).length>0)return void r({qid:e.qid,correct:-3,msg:"Error: Hi ha respostes 'ans' que no es poden processar"})}catch(t){return console.error(t),void r({qid:e.qid,correct:-3,msg:"Error: No es poden processar les respostes 'ans': "+t})}try{var m=[];if((0,s.zip)(h,d).forEach((function(t){var e=i(t,2),n=e[0],r=e[1];c(n)&&!c(r)?m.push("S'espera un conjunt per resposta. Per exemple \\(\\{\\sqrt{2},\\, \\pi\\}\\)"):u(n)&&!u(r)?m.push("S'espera una matriu per resposta."):!u(n)&&u(r)&&m.push("S'espera una expressió per resposta.");var o=u(n),a=u(r);o&&a&&(o[0]==a[0]&&o[1]==a[1]||m.push("La matriu resposta no té la dimensió correcta."))})),m.length>0)return void r({qid:e.qid,correct:0,msg:m.join(" ")})}catch(t){return console.error(t),void r({qid:e.qid,correct:-4,msg:"Error: S'ha produït un error comprovant els tipus "+t})}var g=0,b="";try{(0,s.zip)(h,d).forEach((function(t){var n=i(t,2),r=n[0],o=n[1];r.text(),o.text();var s=null,l=e.rules||{};if(l.precision)s=Math.abs(r.toDecimal()-o.toDecimal())0){var e=t.indexOf(":="),i=t.substring(0,e),r=t.substring(e+2);n.setVar(i,r)}else n.setVar(t,t)}))}catch(e){return console.error(e),void t({msg:"Error: no es poden processar els símbols: "+e})}if("string"!=typeof e.ans)t({msg:"Vector ans is not supported yet!"});else{var o=n(e.ans,r),s="".concat((0,a.I18n)("expected_ans"),"
\\(").concat(o.latex(),"\\)");t({right_answer:btoa(s)})}}))}}])&&o(e.prototype,n),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.nerdamerCAS=new p},682:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseLatex=void 0;var n=/\\begin\{pmatrix\}(.*?)\\end\{pmatrix\}/gm,i=0;e.parseLatex=function(t){return t=t.replace(n,(function(t,e){return n="matrix("+t.replace("\\begin{pmatrix}","").replace("\\end{pmatrix}","").split("\\\\").map((function(t){return"["+t.split("&").map((function(t){return t.trim()})).join(",")+"]"})).join(",")+")",r="M_"+i,window.nerdamer.setVar(r,n),i++,r;var n,r})),window.nerdamer.convertFromLaTeX(t)}},83:function(t,e,n){"use strict";function i(t,e){for(var n=0;n'),b=$("
"),v=$('
'),y=$('
'),w=new r.LevelIndicator(4),q=h.attr("data-pygen-category")||"general";w.setVisible(a.cfg.HAS_IAPACE&&null!=h.attr("data-pygen-category")),g.append(w.container);var x=1;a.cfg.HAS_IAPACE&&(x=t.iapace.inference(q)),w.setLevel(x);var _=null;if(a.cfg.HAS_IAPACE&&null!=h.attr("data-pygen-goal")){var k=(h.attr("data-pygen-goal")||"").split(";").map((function(t){return t.split(",")}));(_=new s.GoalChecker(q,k)).accomplished()&&g.append($(''+(0,l.I18n)("goal_reached")+" "))}for(var O=(h.attr("data-pygen")||"").split(";"),S=[],T=0,E=O.length;T0){C=j.split("[")[0].trim();for(var D=j.split("[")[1].replace("]","").split(","),I=0,P=D.length;I0){var Q=M.split("="),L=Q[0],R=Q[1];R=R.indexOf("'")>=0?R.replace(/'/g,""):parseFloat(R),A[L]=R}}}else C=j.trim();Object.keys(A).length?S.push([C,A]):S.push([C])}var z=new u.SeqBasic(S);if(S.length>1){var F=(h.attr("data-pygen-order")||"random").trim().toLowerCase();F.startsWith("random")||F.startsWith("weighted")?z=new p.SeqRandomWeighted(S,F):F.startsWith("sequence")&&(z=new f.SeqSequence(S,F))}var B=$('"),N=$('"),U=null,G=null,H=function(){B.prop("disabled",!0),V.prop("disabled",!0),W.prop("disabled",!0),N.css("display","none"),a.cfg.HAS_IAPACE&&(x=t.iapace.inference(q)),w.setLevel(x);var e=z.next();$.ajax({type:"POST",url:a.cfg.PYGEN_URL,data:JSON.stringify({activities:[e],level:x}),dataType:"json",success:function(e){if(e.msg)return U=null,b.html('

ERROR
'+JSON.stringify(e.msg)+"

"),console.error("ERROR: ",e),void V.prop("disabled",!1);b.html("");var n=$("

"+(h.attr("data-pygen-formulation")||"")+" "+e.formulation+"

");b.append(n);var r=atob(e.mq64),s=JSON.parse(r);if(a.cfg.HAS_IAPACE){var u=t.iapace.findCreate(q);u&&(0,d.sum)(u.h)>=30&&N.css("display",null==s.comodi?"none":"")}s.category=q,s.palettes||(s.palettes="all"),s.editor==a.cfg.QTYPES.M&&(s.editor=a.cfg.QTYPES.Ms),U=s,s.initial_latex&&(s.initial_latex=(0,c.processMqIni)(s.initial_latex));var p=[];if(s.symbols)for(var f=s.symbols.split(";"),v=0,y=f.length;v'+(0,l.I18n)("goal_reached")+" ")),"confetti"==h.attr("data-pygen-celebration")&&window.Confetti&&new window.Confetti(h[0]).play())})),a.shared[m],(0,d.reflowLatex)(),B.prop("disabled",!1)},error:function(t){U=null,G=null,b.html('

ERROR
'+JSON.stringify(t)+"

"),V.prop("disabled",!1)}})},W=$('");W.on("click",(function(t){t.preventDefault(),G?G.status!=a.cfg.STATUS.CORRECT&&G.wrong_attemps<1||(B.prop("disabled",!0),W.prop("disabled",!0),G.showAnswer&&G.showAnswer()):console.error("Missing currentEditor here :-(")}));var V=$('");if(V.on("click",(function(t){t.preventDefault();for(var e=Object.keys(a.shared[m]||{}),n=0,i=e.length;npyQuizz by Josep Mulet (c) 2021-22');y.append(X),h.append(y)}H()}))}},66:function(t,e,n){"use strict";function i(t,e){for(var n=0;n form > input[name="id"]');p&&(u=p.value)}var f=document.cookie||"",d=f.indexOf("="),h="";d>0&&(h=f.substr(d+1)),h&&h.indexOf(";")>0&&(h=h.split(";")[0]);var m,g="-1",b=document.querySelector(".homelink > a");if(b){m=b.innerText;var v="?"+(b.href.split("?")[1]||"");g=o(v).id}var y=null!=document.querySelector(".teacherdash.nav-item.nav-link")?1:0,w=(location.href.split("?")[0]||"").replace("/mod/book/view.php","");return{userId:n,userFullname:i,bookId:u,chapterId:l,assignNum:(null===(t=window.iedibAPI)||void 0===t?void 0:t.lliurament.id)||0,assignName:(null===(e=window.iedibAPI)||void 0===e?void 0:e.lliurament.title)||"",courseName:m,courseId:g,isTeacher:y,site:w,moodleSession:h}}(),this.STATUS={UNMODIFIED:100,MODIFIED:200,CORRECT:1,WRONG:0},this.QTYPES={S:"simple",B:"basic",C:"cloze",P:"panel",M:"mchoice",Ms:"mchoice*"},this.HAS_IAPACE=null!=window.IB&&null!=window.IB.iapace,this.LANG="",this.RIGHT_ICON="fa fas fa-check",this.WRONG_ICON="fa fas fa-times",this.MAX_ATTEMPTS=2}var e,n,a;return e=t,(n=[{key:"CAS_URL",get:function(){return(0,r.urlJoin)(this.BACKEND_BASEURL,"compare")}},{key:"PYGEN_URL",get:function(){return(0,r.urlJoin)(this.BACKEND_BASEURL,"generate")}},{key:"GETANSWER_URL",get:function(){return(0,r.urlJoin)(this.BACKEND_BASEURL,"getanswer")}},{key:"MATHQUILL_URL",get:function(){return(0,r.urlJoin)(this.MQWIDGETS_BASEURL,"/lib/mathquill.matrix.min.js")}},{key:"setUserConfig",value:function(t){"nerdamer"==t.engines[0]&&(this.DEFAULT_ENGINE="nerdamer");var e=t.engines.filter((function(t){return t.trim().startsWith("http")}));e.length&&(this.BACKEND_BASEURL=e[0]),t.lang&&(this.LANG=t.lang),t.mqwBaseurl&&(this.MQWIDGETS_BASEURL=t.mqwBaseurl)}},{key:"isNerdamer",value:function(){return null!=window.nerdamer}}])&&i(e.prototype,n),a&&i(e,a),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.cfg=new a;var s={};e.StaticMath=function(t){return s.StaticMath||(s=window.MathQuill.getInterface(2)),s.StaticMath(t)},e.MathField=function(t,e){return s.MathField||(s=window.MathQuill.getInterface(2)),s.MathField(t,e)},e.shared={},e.sharedDlg={},e.sharedContext={}},969:function(t,e,n){"use strict";function i(t,e){for(var n=0;n=parseInt(s[0]),isNaN(s[1]))l+=1;else{var c=0;e.n>0&&(c=e.s/(1*e.n)),a=a&&c>=parseFloat(s[1])}isNaN(s[2])?l+=1:a=a&&t.iapace.inference(this.category)>=parseInt(s[2]),l<3&&(n=a),o+=1}return n&&this.accomplished(!0),n}}])&&i(e.prototype,n),o&&i(e,o),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.GoalChecker=o},713:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createQuillFromDataAttr=e.processMqIni=void 0;var i=n(791),r=n(66);function o(t){return t=(t=(t=t||"").replace(/\?\d*?/g,"\\MathQuillMathField{}")).replace(/M\[(\d+)x(\d+)\]/g,(function(t,e,n){for(var i=parseInt(e),r=parseInt(n),o=[],a=new Array(r),s=0;s MQ ",t," is of type cloze but it has no data-mq-ini!")}else console.error("> MQ has no data-mq-ans/e!")}},216:function(t,e,n){"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var i,r,o=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);a=!0);}catch(t){s=!0,r=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);ni.length)for(;n.lpygens!=i.length;)i.push(1);for(;i.length>t.length;)i.pop();var p=(0,c.sum)(i),f=0;return i.forEach((function(t,e){f=(t/=p)+f,i[e]=f})),n.weights=i,n}return e=l,(n=[{key:"next",value:function(){if("random"==this.definition){var t=Math.floor(Math.random()*this.lpygens.length);return this.lpygens[t]}for(var e=Math.random(),n=0,i=this.weights[n];i=0&&d.indexOf("(")>0?(d=d.replace("*","").replace("(","").replace(")",""),l.push(parseFloat(d)),c=!0):l.push(1)}var h="random";c&&(h="weighted: "+l.join(",")),r.terminalGen=new f.SeqRandomWeighted(s,h)}})),n.pointer=0,n}return e=c,(n=[{key:"next",value:function(){if(this.pointer>=this.positions.length&&this.terminalGen)return this.terminalGen.next();this.pointer=this.pointer%this.positions.length;var t=this.positions[this.pointer];return this.pointer+=1,this.lpygens[t]}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(p.SeqBasic);e.SeqSequence=d},830:function(t,e){"use strict";function n(t,e,n,i,r,o){return s(function(t,e){return t<>>32-e}(s(s(e,t),s(i,o)),r),n)}function i(t,e,i,r,o,a,s){return n(e&i|~e&r,t,e,o,a,s)}function r(t,e,i,r,o,a,s){return n(e&r|i&~r,t,e,o,a,s)}function o(t,e,i,r,o,a,s){return n(e^i^r,t,e,o,a,s)}function a(t,e,i,r,o,a,s){return n(i^(e|~r),t,e,o,a,s)}function s(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}Object.defineProperty(e,"__esModule",{value:!0}),e.urlJoin=e.isNumeric=e.createLinkSheet=e.createStyleSheet=e.insertScript=e.MD5=e.copyPropsFromTo=e.hasValue=e.zip=e.items=e.sum=e.sanitizeLaTeX=e.reflowLatex=void 0,e.reflowLatex=function(){window.MathJax&&(window.MathJax.typesetPromise&&window.MathJax.typesetPromise(),window.MathJax.Hub&&window.MathJax.Hub.Queue&&window.MathJax.Hub.Queue(["Typeset",MathJax.Hub]))},e.sanitizeLaTeX=function(t){return t.replace(/·/g,"*")},e.sum=function(t){for(var e=0,n=0,i=t.length;n>>4&15)+n.charAt(15&e);return i}(function(t){for(var e="",n=0;n<32*t.length;n+=8)e+=String.fromCharCode(t[n>>5]>>>n%32&255);return e}(function(t,e){t[e>>5]|=128<>>9<<4)]=e;for(var n=1732584193,l=-271733879,c=-1732584194,u=271733878,p=0;p>2),n=0;n>5]|=(255&t.charCodeAt(n/8))<i{color:#1e90ff}.pw-mq-group{margin-bottom:60px;border-left:1px solid #1e90ff;padding-left:20px}.pw-me-dlg{display:flex;flex-direction:column;position:fixed;margin:auto;top:0;right:0;bottom:0;left:0;border:2px solid #d3d3d3;z-index:100;background:#fff;box-shadow:4px 4px 4px #888;border-radius:5px}.pw-me-dlg-header{background:#f5f5f5;width:100%;height:23px;border-bottom:2px solid #d3d3d3}.pw-me-dlg-headertitle{color:#000;margin-left:8px}.pw-me-dlg-controls{background:#fff;display:flex;flex-direction:row;justify-content:space-between;margin:5px}.pw-me-btn-openeditor{background:#f5f5f5;vertical-align:top}.pw-me-btn-openeditor:hover{background:#fff}.pw-me-btn-openeditor>i.fas{color:darkred}.pw-me-tabmenu{width:100%}.pw-me-tabspanel{width:100%;height:25px;background:#d3d3d3}.pw-me-tabcontents{width:100%;background:#e3e3e3}.pw-me-btn-tab{background:#d3d3d3;padding:0 5px}.pw-me-btn-active{background:#fff}.pw-me-tabcontainer{width:100%;display:none;flex-direction:row;flex-wrap:wrap}.pw-me-submitgroup{margin:auto}.pw-me-btn-dlgclose{color:gray;width:23px;height:23px;float:right;padding:0}.pw-me-editorpanel{display:flex;flex-direction:column;background:#fff;flex-grow:1;border:1px solid #d3d3d3}.pw-me-editorpanel-mathinput{width:97%;margin:5px auto;padding:15px;background:#fff;flex-grow:1}.pw-me-btn-toolbar{height:35px;overflow:hidden;font-weight:bold}.pw-me-btn-toolbar>span{cursor:pointer;font-size:90%}.pw-me-btn-toolbar:hover{background:#fff}.pw-me-editorinput{display:inline-flex;margin:4px;padding:4px;background:#d5edff;border-radius:5px}.pw-me-editorinput>div>span{background:#fff;min-width:100px}.pw-quill-group{margin:5px 5px 80px 5px;border-left:1px solid gray;padding-left:10px}.pw-me-check{align-self:center}.pw-me-editorinput.pw-me-wrong,.pw-me-mchoice.pw-me-wrong{background:#fddcdc}.pw-me-editorinput.pw-me-wrong>.pw-me-check>span,.pw-me-mchoice.pw-me-wrong>.pw-me-check>span{color:#fff;margin:5px;background:darkred;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px 6px}.pw-me-editorinput.pw-me-right,.pw-me-mchoice.pw-me-right{background:#f0fddc}.pw-me-editorinput.pw-me-right>.pw-me-check>span,.pw-me-mchoice.pw-me-right>.pw-me-check>span{color:#fff;margin:5px;background:#358a24;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-editorinput.pw-me-alert,.pw-me-mchoice.pw-me-alert{background:#f2dcfd}.pw-me-editorinput.pw-me-alert>.pw-me-check>span,.pw-me-mchoice.pw-me-alert>.pw-me-check>span{color:#fff;margin:5px;background:#681733;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-btn-showanswer>i{color:darkred}.pw-answer-holder{margin:15px;overflow:auto;height:150px}.mq-editable-field{background:#fff}.pw-me-btn-dropdownmenu{display:none;position:absolute;top:65px;left:140px;padding:5px;border:1px solid gray;z-index:1000;background:#fff}.pw-me-mchoice{display:inline-flex;vertical-align:middle}.pw-square-root{background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;background-image:url("https://piworld.es/iedib/mqwidgets2/pw-square-root.png");display:inline-block;width:16px;height:16px}@font-face{font-family:Symbola;src:url(fonts/Symbola.eot);src:local("Symbola Regular"),local("Symbola"),url(fonts/Symbola.woff2) format("woff2"),url(fonts/Symbola.woff) format("woff"),url(fonts/Symbola.ttf) format("truetype"),url(fonts/Symbola.svg#Symbola) format("svg")}.mq-editable-field{display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor{border-left:1px solid #000;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor.mq-blink{visibility:hidden}.mq-editable-field,.mq-math-mode .mq-editable-field{border:1px solid gray}.mq-editable-field.mq-focused,.mq-math-mode .mq-editable-field.mq-focused{box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;border-color:#709ac0;border-radius:1px}.mq-math-mode .mq-editable-field{margin:1px}.mq-editable-field .mq-latex-command-input{color:inherit;font-family:"Courier New",monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.mq-editable-field .mq-latex-command-input.mq-empty{background:rgba(0,0,0,0)}.mq-editable-field .mq-latex-command-input.mq-hasCursor{border-color:ActiveBorder}.mq-editable-field.mq-empty:after,.mq-editable-field.mq-text-mode:after,.mq-math-mode .mq-empty:after{visibility:hidden;content:"c"}.mq-editable-field .mq-cursor:only-child:after,.mq-editable-field .mq-textarea+.mq-cursor:last-child:after{visibility:hidden;content:"c"}.mq-editable-field .mq-text-mode .mq-cursor:only-child:after{content:""}.mq-editable-field.mq-text-mode{overflow-x:auto;overflow-y:hidden}.mq-root-block,.mq-math-mode .mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.mq-math-mode{font-variant:normal;font-weight:normal;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-non-leaf,.mq-math-mode .mq-scaled{display:-moz-inline-box;display:inline-block}.mq-math-mode var,.mq-math-mode .mq-text-mode,.mq-math-mode .mq-nonSymbola{font-family:"Times New Roman",Symbola,serif;line-height:.9}.mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.mq-math-mode .mq-empty{background:#ccc}.mq-math-mode .mq-empty.mq-root-block{background:rgba(0,0,0,0)}.mq-math-mode.mq-empty{background:rgba(0,0,0,0)}.mq-math-mode .mq-text-mode{display:inline-block;white-space:pre}.mq-math-mode .mq-text-mode.mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -0.1em;min-width:1ex}.mq-math-mode .mq-font{font:1em "Times New Roman",Symbola,serif}.mq-math-mode .mq-font *{font-family:inherit;font-style:inherit}.mq-math-mode b,.mq-math-mode b.mq-font{font-weight:bolder}.mq-math-mode var,.mq-math-mode i,.mq-math-mode i.mq-font{font-style:italic}.mq-math-mode var.mq-f{margin-right:.2em;margin-left:.1em}.mq-math-mode .mq-roman var.mq-f{margin:0}.mq-math-mode big{font-size:200%}.mq-math-mode .mq-int>big{display:inline-block;transform:scaleX(0.7);vertical-align:-0.16em}.mq-math-mode .mq-int>.mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.mq-math-mode .mq-int>.mq-supsub>.mq-sup>.mq-sup-inner{vertical-align:1.3em}.mq-math-mode .mq-int>.mq-supsub>.mq-sub{margin-left:-0.35em}.mq-math-mode .mq-roman{font-style:normal}.mq-math-mode .mq-sans-serif{font-family:sans-serif,Symbola,serif}.mq-math-mode .mq-monospace{font-family:monospace,Symbola,serif}.mq-math-mode .mq-overline{border-top:1px solid #000;margin-top:1px}.mq-math-mode .mq-underline{border-bottom:1px solid #000;margin-bottom:1px}.mq-math-mode .mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-supsub{text-align:left;font-size:90%;vertical-align:-0.5em}.mq-math-mode .mq-supsub.mq-sup-only{vertical-align:.5em}.mq-math-mode .mq-supsub.mq-sup-only .mq-sup{display:inline-block;vertical-align:text-bottom}.mq-math-mode .mq-supsub .mq-sup{display:block}.mq-math-mode .mq-supsub .mq-sub{display:block;float:left}.mq-math-mode .mq-supsub .mq-binary-operator{padding:0 .1em}.mq-math-mode .mq-supsub .mq-fraction{font-size:70%}.mq-math-mode sup.mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-0.6em;margin-left:.2em;min-width:.5em}.mq-math-mode .mq-paren{padding:0 .1em;vertical-align:top;transform-origin:center .06em}.mq-math-mode .mq-paren.mq-ghost{color:silver}.mq-math-mode .mq-paren+span{margin-top:.1em;margin-bottom:.1em}.mq-math-mode .mq-array{vertical-align:middle;text-align:center}.mq-math-mode .mq-array>span{display:block}.mq-math-mode .mq-operator-name{font-family:Symbola,"Times New Roman",serif;line-height:.9;font-style:normal}.mq-math-mode var.mq-operator-name.mq-first{padding-left:.2em}.mq-math-mode var.mq-operator-name.mq-last,.mq-math-mode .mq-supsub.mq-after-operator-name{padding-right:.2em}.mq-math-mode .mq-fraction{font-size:90%;text-align:center;vertical-align:-0.4em;padding:0 .2em}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link{display:-moz-groupbox}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link,.mq-math-mode x:default{display:inline-block}.mq-math-mode .mq-numerator,.mq-math-mode .mq-denominator,.mq-math-mode .mq-dot-recurring{display:block}.mq-math-mode .mq-numerator{padding:0 .1em}.mq-math-mode .mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.mq-math-mode .mq-dot-recurring{text-align:center;height:.3em}.mq-math-mode .mq-sqrt-prefix{padding-top:0;position:relative;top:.1em;vertical-align:top;transform-origin:top}.mq-math-mode .mq-sqrt-stem{border-top:1px solid;margin-top:1px;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.mq-math-mode .mq-diacritic-above{display:block;text-align:center;line-height:.4em}.mq-math-mode .mq-diacritic-stem{display:block;text-align:center}.mq-math-mode .mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-0.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.mq-math-mode .mq-hat-stem{display:block}.mq-math-mode .mq-large-operator{vertical-align:-0.2em;padding:.2em;text-align:center}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator big,.mq-math-mode .mq-large-operator .mq-to{display:block}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator .mq-to{font-size:80%}.mq-math-mode .mq-large-operator .mq-from{float:right;width:100%}.mq-math-mode,.mq-math-mode .mq-editable-field{cursor:text;font-family:Symbola,"Times New Roman",serif}.mq-math-mode .mq-overarc{border-top:1px solid #000;border-top-right-radius:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.mq-math-mode .mq-overarrow{min-width:.5em;border-top:1px solid #000;margin-top:1px;padding-top:.2em;text-align:center}.mq-math-mode .mq-overarrow:before{display:block;position:relative;top:-0.34em;font-size:.5em;line-height:0em;content:"➤";text-align:right}.mq-math-mode .mq-overarrow.mq-arrow-left:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both{vertical-align:text-bottom}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty{min-height:1.23em}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after{top:-0.34em}.mq-math-mode .mq-overarrow.mq-arrow-both:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both:after{display:block;position:relative;top:-2.3em;font-size:.5em;line-height:0em;content:"➤";visibility:visible;text-align:right}.mq-math-mode .mq-matrix{vertical-align:middle;margin-left:.1em;margin-right:.1em}.mq-math-mode .mq-matrix table{width:auto;border-bottom:none;border-spacing:3px;border-collapse:separate}.mq-math-mode .mq-matrix table.mq-rows-1{vertical-align:middle;margin-bottom:1px}.mq-math-mode .mq-matrix td{border:none;width:auto;padding:.1em .3em;vertical-align:baseline}.mq-math-mode .mq-selection,.mq-editable-field .mq-selection,.mq-math-mode .mq-selection .mq-non-leaf,.mq-editable-field .mq-selection .mq-non-leaf,.mq-math-mode .mq-selection .mq-scaled,.mq-editable-field .mq-selection .mq-scaled{background:#b4d5fe !important;background:Highlight !important;color:HighlightText;border-color:HighlightText}.mq-math-mode .mq-selection .mq-matrixed,.mq-editable-field .mq-selection .mq-matrixed{background:#39f !important}.mq-math-mode .mq-selection .mq-matrixed-container,.mq-editable-field .mq-selection .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#3399FF") !important}.mq-math-mode .mq-selection.mq-blur,.mq-editable-field .mq-selection.mq-blur,.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,.mq-math-mode .mq-selection.mq-blur .mq-scaled,.mq-editable-field .mq-selection.mq-blur .mq-scaled,.mq-math-mode .mq-selection.mq-blur .mq-matrixed,.mq-editable-field .mq-selection.mq-blur .mq-matrixed{background:#d4d4d4 !important;color:#000;border-color:#000}.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#D4D4D4") !important}.mq-editable-field .mq-textarea,.mq-math-mode .mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.mq-editable-field .mq-textarea *,.mq-math-mode .mq-textarea *,.mq-editable-field .mq-selectable,.mq-math-mode .mq-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.mq-math-mode .mq-matrixed{background:#fff;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="white");margin-top:-0.1em}table.mq-non-leaf td[mathquill-block-id]{padding:4px 8px;text-align:center}.mq-math-mode sup.mq-nthroot{font-size:75%;vertical-align:.4em}.mq-root-block{padding:5px}.mq-root-block,.mq-math-mode .mq-root-block{padding:5px}.mq-math-mode .mq-supsub.mq-sup-only>.mq-sup{font-size:90%}.mq-nthroot.mq-non-leaf{padding:8px 0 !important}div[data-pygen] span.mq-editable-field{min-width:250px}div[data-pygen] .pygen-cloze span.mq-editable-field{min-width:initial}div[data-pygen] .pw-me-editorinput{margin-bottom:40px}div.pw-me-tabmenu .mq-supsub.mq-non-leaf.mq-sup-only{vertical-align:super !important}',i.id="mqwidgets_css",document.getElementsByTagName("head")[0].appendChild(i),function(){function t(){}function e(t){var e=t.length-1;return function(){var n=g.call(arguments,0,e),i=g.call(arguments,e);return t.apply(this,n.concat([i]))}}function n(t){return e((function(e,n){return"function"!=typeof e&&(e=b(e)),t.call(this,(function(t){return e.apply(t,[t].concat(n))}))}))}function i(t){var e=g.call(arguments,1);return function(){return t.apply(this,e)}}function r(t,e){if(!e)throw new Error("prayer failed: "+t)}function o(t){r("a direction was passed",t===y||t===w)}function a(t,e,n){r("a parent is always present",t),r("leftward is properly set up",e?e[w]===n&&e.parent===t:t.ends[y]===n),r("rightward is properly set up",n?n[y]===e&&n.parent===t:t.ends[w]===e)}function s(){window.console}function l(t){return s(),Pt(t)}function c(e){function n(t){var e,n;return t&&t.nodeType&&(n=(e=q(t).children(".mq-root-block").attr(Rt))&&_.byId[e].controller)?r[n.KIND_OF_MQ](n):null}function i(t,e){var n,i,o;for(n in e&&e.handlers&&(e.handlers={fns:e.handlers,APIClasses:r}),e)e.hasOwnProperty(n)&&(i=e[n],o=D[n],t[n]=o?o(i):i)}var r,o,a;if(!(M<=e&&e<=Q))throw"Only interface versions between "+M+" and "+Q+" supported. You specified: "+e;for(a in r={},n.L=y,n.R=w,n.saneKeyboardEvents=R,n.config=function(t){return i(A.p,t),this},n.registerEmbed=function(t,e){if(!/^[a-z][a-z0-9]*$/i.test(t))throw"Embed name must start with letter and be only letters and digits";P[t]=e},o=r.AbstractMathQuill=v(I,(function(t){t.init=function(t){this.__controller=t,this.__options=t.options,this.id=t.id,this.data=t.data},t.__mathquillify=function(t){var e,n=this.__controller,i=n.root,r=n.container;n.createTextarea(),e=r.addClass(t).contents().detach(),i.jQ=q('').attr(Rt,i.id).appendTo(r),this.latex(e.text()),this.revert=function(){return r.empty().unbind(".mathquill").removeClass("mq-editable-field mq-math-mode mq-text-mode").append(e)}},t.config=function(t){return i(this.__options,t),this},t.el=function(){return this.__controller.container[0]},t.text=function(){return this.__controller.exportText()},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexMath(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()},t.html=function(){return this.__controller.root.jQ.html().replace(/ mathquill-(?:command|block)-id="?\d+"?/g,"").replace(/.?<\/span>/i,"").replace(/ mq-hasCursor|mq-hasCursor ?/,"").replace(/ class=(""|(?= |>))/g,"")},t.reflow=function(){return this.__controller.root.postOrder("reflow"),this}})),n.prototype=o.prototype,r.EditableField=v(o,(function(e,n){e.__mathquillify=function(){return n.__mathquillify.apply(this,arguments),this.__controller.editable=!0,this.__controller.delegateMouseEvents(),this.__controller.editablesTextareaEvents(),this},e.focus=function(){return this.__controller.textarea.focus(),this},e.blur=function(){return this.__controller.textarea.blur(),this},e.write=function(t){return this.__controller.writeLatex(t),this.__controller.scrollHoriz(),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this},e.empty=function(){var t=this.__controller.root,e=this.__controller.cursor;return t.eachChild("postOrder","dispose"),t.ends[y]=t.ends[w]=0,t.jQ.empty(),delete e.selection,e.insAtRightEnd(t),this},e.cmd=function(t){var e,n=this.__controller.notify(),i=n.cursor;return/^\\[a-z]+$/i.test(t)?(t=t.slice(1),(e=O[t]||mt[t])&&(t=e(t),i.selection&&t.replaces(i.replaceSelection()),t.createLeftOf(i.show()),this.__controller.scrollHoriz())):i.parent.write(i,t),n.blurred&&i.hide().parent.blur(),this},e.select=function(){var t=this.__controller;for(t.notify("move").cursor.insAtRightEnd(t.root);t.cursor[y];)t.selectLeft();return this},e.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.moveToDirEnd=function(t){return this.__controller.notify("move").cursor.insAtDirEnd(t,this.__controller.root),this},e.moveToLeftEnd=function(){return this.moveToDirEnd(y)},e.moveToRightEnd=function(){return this.moveToDirEnd(w)},e.keystroke=function(e){var n;for(e=e.replace(/^\s+|\s+$/g,"").split(/\s+/),n=0;n&0"})}function f(t){var e=this.parent,n=t;do{if(n[w])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function d(t,e){t.jQadd=function(){e.jQadd.apply(this,arguments),this.delimjQs=this.jQ.children(":first").add(this.jQ.children(":last")),this.contentjQ=this.jQ.children(":eq(1)")},t.reflow=function(){var t=this.contentjQ.outerHeight()/parseFloat(this.contentjQ.css("fontSize"));K(this.delimjQs,zt(1+.2*(t-1),1.2),1.2*t)}}function h(t,e){e=e||t;var n=ft[t],r=ft[e];S[t]=i(pt,y,t,n,e,r),S[n]=i(pt,w,t,n,e,r)}var m,g,b,v,y,w,q,x,_,k,O,S,T,E,j,C,A,D,I,P,M,Q,L,R,z,F,B,$,N,U,G,H,W,V,X,Y,J,K,Z,tt,et,nt,it,rt,ot,at,st,lt,ct,ut,pt,ft,dt,ht,mt,gt,bt,vt,yt,wt,qt,xt,_t,kt,Ot,St,Tt,Et,jt,Ct,At,Dt,It,Pt,Mt,Qt=window.jQuery,Lt="mathquill-command-id",Rt="mathquill-block-id",zt=Math.min,Ft=Math.max;if(!Qt)throw"MathQuill requires jQuery 1.5.2+ to be loaded first";for(nt in g=[].slice,b=e((function(t,n){return e((function(e,i){if(t in e)return e[t].apply(e,n.concat(i))}))})),v=function(t,e,n){function i(t){return"object"==typeof t}function r(t){return"function"==typeof t}function o(){}return function t(n,a){function s(){var t=new l;return r(t.init)&&t.init.apply(t,arguments),t}function l(){}var c,u,p;return void 0===a&&(a=n,n=Object),s.Bare=l,c=o.prototype=n.prototype,(u=l.prototype=s.prototype=s.p=new o).constructor=s,s.extend=function(e){return t(s,e)},(s.open=function(t){if(p={},r(t)?p=t.call(s,u,c,s,n):i(t)&&(p=t),i(p))for(var o in p)e.call(p,o)&&(u[o]=p[o]);return r(u.init)||(u.init=n),s})(a)}}(0,{}.hasOwnProperty),y=-1,w=1,q=v(Qt,(function(t){t.insDirOf=function(t,e){return t===y?this.insertBefore(e.first()):this.insertAfter(e.last())},t.insAtDirEnd=function(t,e){return t===y?this.prependTo(e):this.appendTo(e)}})),x=v((function(t){t.parent=0,t[y]=0,t[w]=0,t.init=function(t,e,n){this.parent=t,this[y]=e,this[w]=n},this.copy=function(t){return x(t.parent,t[y],t[w])}})),_=v((function(t){t[y]=0,t[w]=0,t.parent=0;var e=0;this.byId={},t.init=function(){this.id=e+=1,_.byId[this.id]=this,this.ends={},this.ends[y]=0,this.ends[w]=0},t.dispose=function(){delete _.byId[this.id]},t.toString=function(){return"{{ MathQuill Node #"+this.id+" }}"},t.jQ=q(),t.jQadd=function(t){return this.jQ=this.jQ.add(t)},t.jQize=function(t){function e(t){var n,i;for(t.getAttribute&&(n=t.getAttribute("mathquill-command-id"),i=t.getAttribute("mathquill-block-id"),n&&_.byId[n].jQadd(t),i&&_.byId[i].jQadd(t)),t=t.firstChild;t;t=t.nextSibling)e(t)}var n;for(t=q(t||this.html()),n=0;n');this.blink=function(){n.toggleClass("mq-blink")},this.upDownCache={}},t.show=function(){return this.jQ=this._jQ.removeClass("mq-blink"),"intervalId"in this?clearInterval(this.intervalId):(this[w]?this.selection&&this.selection.ends[y][y]===this[y]?this.jQ.insertBefore(this.selection.jQ):this.jQ.insertBefore(this[w].jQ.first()):this.jQ.appendTo(this.parent.jQ),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},t.hide=function(){return"intervalId"in this&&clearInterval(this.intervalId),delete this.intervalId,this.jQ.detach(),this.jQ=q(),this},t.withDirInsertAt=function(t,e,n,i){var r=this.parent;this.parent=e,this[t]=n,this[-t]=i,r!==e&&r.blur&&r.blur(this)},t.insDirOf=function(t,e){return o(t),this.jQ.insDirOf(t,e.jQ),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.jQ.addClass("mq-hasCursor"),this},t.insLeftOf=function(t){return this.insDirOf(y,t)},t.insRightOf=function(t){return this.insDirOf(w,t)},t.insAtDirEnd=function(t,e){return o(t),this.jQ.insAtDirEnd(t,e.jQ),this.withDirInsertAt(t,e,0,e.ends[t]),e.focus(),this},t.insAtLeftEnd=function(t){return this.insAtDirEnd(y,t)},t.insAtRightEnd=function(t){return this.insAtDirEnd(w,t)},t.jumpUpDown=function(t,e){var n,i,r=this;r.upDownCache[t.id]=x.copy(r),(n=r.upDownCache[e.id])?n[w]?r.insLeftOf(n[w]):r.insAtRightEnd(n.parent):(i=r.offset().left,e.seek(i,r))},t.offset=function(){var t=this.jQ.removeClass("mq-cursor").offset();return this.jQ.addClass("mq-cursor"),t},t.unwrapGramp=function(){var t=this.parent.parent,e=t.parent,n=t[w],i=t[y];if(t.disown().eachChild((function(r){r.isEmpty()||(r.children().adopt(e,i,n).each((function(e){e.jQ.insertBefore(t.jQ.first())})),i=r.ends[w])})),!this[w])if(this[y])this[w]=this[y][w];else for(;!this[w];){if(this.parent=this.parent[w],!this.parent){this[w]=t[w],this.parent=e;break}this[w]=this.parent.ends[y]}this[w]?this.insLeftOf(this[w]):this.insAtRightEnd(e),t.jQ.remove(),t[y].siblingDeleted&&t[y].siblingDeleted(this.options,w),t[w].siblingDeleted&&t[w].siblingDeleted(this.options,y)},t.startSelection=function(){var t,e=this.anticursor=x.copy(this),n=e.ancestors={};for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},t.endSelection=function(){delete this.anticursor},t.select=function(){var t,e,n,i,o,a,s,l=this.anticursor;if(this[y]===l[y]&&this.parent===l.parent)return!1;for(t=this;t.parent;t=t.parent)if(t.parent.id in l.ancestors){e=t.parent;break}if(r("cursor and anticursor in the same tree",e),n=l.ancestors[e.id],a=w,t[y]!==n)for(s=t;s;s=s[w])if(s[w]===n[w]){a=y,i=t,o=n;break}return a===w&&(i=n,o=t),i instanceof x&&(i=i[w]),o instanceof x&&(o=o[y]),this.hide().selection=e.selectChildren(i,o),this.insDirOf(a,this.selection.ends[a]),this.selectionChanged(),!0},t.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},t.deleteSelection=function(){this.selection&&(this[y]=this.selection.ends[y][y],this[w]=this.selection.ends[w][w],this.selection.remove(),this.selectionChanged(),delete this.selection)},t.replaceSelection=function(){var t=this.selection;return t&&(this[y]=t.ends[y][y],this[w]=t.ends[w][w],delete this.selection),t}})),E=v(k,(function(t,e){t.init=function(){e.init.apply(this,arguments),this.jQ=this.jQ.wrapAll('').parent()},t.adopt=function(){return this.jQ.replaceWith(this.jQ=this.jQ.children()),e.adopt.apply(this,arguments)},t.clear=function(){return this.jQ.replaceWith(this.jQ[0].childNodes),this},t.join=function(t){return this.fold("",(function(e,n){return e+n[t]()}))}})),j=v((function(t){t.init=function(t,e,n){this.id=t.id,this.data={},this.root=t,this.container=e,this.options=n,t.controller=this,this.cursor=t.cursor=T(t,n)},t.handle=function(t,e){var n,i=this.options.handlers;i&&i.fns[t]&&(n=i.APIClasses[this.KIND_OF_MQ](this),e===y||e===w?i.fns[t](e,n):i.fns[t](n))};var e=[];this.onNotify=function(t){e.push(t)},t.notify=function(){for(var t=0;t")[0]},t.createTextarea=function(){var t,e=this.textareaSpan=q(''),n=this.options.substituteTextarea();if(!n.nodeType)throw"substituteTextarea() must return a DOM element, got "+n;n=this.textarea=q(n).appendTo(e),(t=this).cursor.selectionChanged=function(){t.selectionChanged()}},t.selectionChanged=function(){var t=this;Z(t.container[0]),t.textareaSelectionTimeout===m&&(t.textareaSelectionTimeout=setTimeout((function(){t.setTextareaSelection()})))},t.setTextareaSelection=function(){this.textareaSelectionTimeout=m;var t="";this.cursor.selection&&(t=this.cursor.selection.join("latex"),this.options.statelessClipboard&&(t="$"+t+"$")),this.selectFn(t)},t.staticMathTextareaEvents=function(){function t(){r.detach(),e.blurred=!0}var e=this,n=(e.root,e.cursor),i=e.textarea,r=e.textareaSpan;this.container.prepend(Qt('').text("$"+e.exportLatex()+"$")),e.blurred=!0,i.bind("cut paste",!1).bind("copy",(function(){e.setTextareaSelection()})).focus((function(){e.blurred=!1})).blur((function(){n.selection&&n.selection.clear(),setTimeout(t)})),e.selectFn=function(t){i.val(t),t&&i.select()}},A.p.substituteKeyboardEvents=R,t.editablesTextareaEvents=function(){var t=this.textarea,e=this.textareaSpan,n=this.options.substituteKeyboardEvents(t,this);this.selectFn=function(t){n.select(t)},this.container.prepend(e),this.focusBlurEvents()},t.typedText=function(t){if("\n"===t)return this.handle("enter");var e=this.notify().cursor;e.parent.write(e,t),this.scrollHoriz()},t.cut=function(){var t=this,e=t.cursor;e.selection&&setTimeout((function(){t.notify("edit"),e.parent.bubble("reflow")}))},t.copy=function(){this.setTextareaSelection()},t.paste=function(t){this.options.statelessClipboard&&(t="$"===t.slice(0,1)&&"$"===t.slice(-1)?t.slice(1,-1):"\\text{"+t+"}"),this.writeLatex(t).cursor.show()}})),j.open((function(e){A.p.ignoreNextMousedown=t,e.delegateMouseEvents=function(){var e=this.root.jQ;this.container.bind("mousedown.mathquill",(function(n){function i(t){o=q(t.target)}function r(t){l.anticursor||l.startSelection(),s.seek(o,t.pageX,t.pageY).cursor.select(),o=m}var o,a=q(n.target).closest(".mq-root-block"),s=_.byId[a.attr(Rt)||e.attr(Rt)].controller,l=s.cursor,c=l.blink,u=s.textareaSpan,p=s.textarea;n.preventDefault(),n.target.unselectable=!0,l.options.ignoreNextMousedown(n)||(l.options.ignoreNextMousedown=t,s.blurred&&(s.editable||a.prepend(u),p.focus()),l.blink=t,s.seek(q(n.target),n.pageX,n.pageY).cursor.startSelection(),a.mousemove(i),q(n.target.ownerDocument).mousemove(r).mouseup((function t(e){l.blink=c,l.selection||(s.editable?l.show():u.detach()),a.unbind("mousemove",i),q(e.target.ownerDocument).unbind("mousemove",r).unbind("mouseup",t)})))}))}})),j.open((function(t){t.seek=function(t,e,n){var i,o,a,s=this.notify("select").cursor;return t&&((i=t.attr(Rt)||t.attr(Lt))||(i=(o=t.parent()).attr(Rt)||o.attr(Lt))),r("nodeId is the id of some Node that exists",a=i?_.byId[i]:this.root),s.clearSelection().show(),a.seek(e,s),this.scrollHoriz(),this}})),j.open((function(t){t.scrollHoriz=function(){var t,e,n,i,r,o=this.cursor,a=o.selection,s=this.root.jQ[0].getBoundingClientRect();if(a)if(i=(n=a.jQ[0].getBoundingClientRect()).left-(s.left+20),r=n.right-(s.right-20),a.ends[y]===o[w])if(i<0)e=i;else{if(!(r>0))return;e=n.left-r0)e=r;else{if(!(i<0))return;e=n.right-i>s.right-20?r:i}else if((t=o.jQ[0].getBoundingClientRect().left)>s.right-20)e=t-(s.right-20);else{if(!(to[w]?e.insRightOf(r):(i=o[y],void r.eachChild((function(a){var s=n(a);return ts[w]?void(a[w]?i=s[w]:o[w]-t"===e.slice(-2))s[t]=e.slice(0,-2)+a+"/>";else if("<"===e.charAt(0)){r("not an unmatched top-level close tag","/"!==e.charAt(1)),s[t]=e.slice(0,-1)+a+">",n=1;do{r("no missing close tags",e=s[t+=1]),""!==e.slice(-2)&&(n+=1)}while(n>0)}return s.join("").replace(/>&(\d+)/g,(function(t,e){return" mathquill-block-id="+o[e].id+">"+o[e].join("html")}))},t.latex=function(){return this.foldChildren(this.ctrlSeq,(function(t,e){return t+"{"+(e.latex()||" ")+"}"}))},t.textTemplate=[""],t.text=function(){var t=this,e=0;return t.foldChildren(t.textTemplate[e],(function(n,i){e+=1;var r=i.text();return n&&"("===t.textTemplate[e]&&"("===r[0]&&")"===r.slice(-1)?n+r.slice(1,-1)+t.textTemplate[e]:n+i.text()+(t.textTemplate[e]||"")}))}})),N=v($,(function(e,n){e.init=function(t,e,i){i||(i=t&&t.length>1?t.slice(1):t),n.init.call(this,t,e,[i])},e.parser=function(){return z.succeed(this)},e.numBlocks=function(){return 0},e.replaces=function(t){t.remove()},e.createBlocks=t,e.moveTowards=function(t,e){e.jQ.insDirOf(t,this.jQ),e[-t]=this,e[t]=this[t]},e.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.seek=function(t,e){t-this.jQ.offset().left"+(n||t)+"")}})),G=v(N,(function(t,e){t.init=function(t,n,i){e.init.call(this,t,''+n+"",i)}})),H=v(B,(function(t,e){t.join=function(t){return this.foldChildren("",(function(e,n){return e+n[t]()}))},t.html=function(){return this.join("html")},t.latex=function(){return this.join("latex")},t.text=function(){return this.ends[y]===this.ends[w]&&0!==this.ends[y]?this.ends[y].text():this.join("text")},t.keystroke=function(t,n,i){return!i.options.spaceBehavesLikeTab||"Spacebar"!==t&&"Shift-Spacebar"!==t?e.keystroke.apply(this,arguments):(n.preventDefault(),void i.escapeDir("Shift-Spacebar"===t?y:w,t,n))},t.moveOutOf=function(t,e,n){n&&this.parent[n+"Into"]||!this[t]?e.insDirOf(t,this.parent):e.insAtDirEnd(-t,this[t])},t.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},t.deleteOutOf=function(t,e){e.unwrapGramp()},t.seek=function(t,e){var n=this.ends[w];if(!n||n.jQ.offset().left+n.jQ.outerWidth()0&&this.__controller.root.postOrder("registerInnerField",this.innerFields=[],t.MathField),e}}))},W=v(H,u),C.MathField=function(e){return v(e.EditableField,(function(e,n){this.RootBlock=W,e.__mathquillify=function(e,i){return this.config(e),i>1&&(this.__controller.root.reflow=t),n.__mathquillify.call(this,"mq-editable-field mq-math-mode"),delete this.__controller.root.reflow,this}}))},V=v(_,(function(t,e){function n(t){var e,n;if(t.jQ[0].normalize(),e=t.jQ[0].firstChild)return r("only node in TextBlock span is Text node",3===e.nodeType),(n=X(e.data)).jQadd(e),t.children().disown(),n.adopt(t,0,0)}t.ctrlSeq="\\text",t.replaces=function(t){t instanceof k?this.replacedText=t.remove().jQ.text():"string"==typeof t&&(this.replacedText=t)},t.jQadd=function(t){e.jQadd.call(this,t),this.ends[y]&&this.ends[y].jQadd(this.jQ[0].firstChild)},t.createLeftOf=function(t){var n,i=this;if(e.createLeftOf.call(this,t),i[w].siblingCreated&&i[w].siblingCreated(t.options,y),i[y].siblingCreated&&i[y].siblingCreated(t.options,w),i.bubble("reflow"),t.insAtRightEnd(i),i.replacedText)for(n=0;n&0',t.createBlocks=function(){e.createBlocks.call(this),this.ends[y].cursor=this.cursor,this.ends[y].write=function(t,e){"$"!==e?H.prototype.write.call(this,t,e):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(dir,t),U("\\$","$").createLeftOf(t.show())):t[w]?t[y]?H.prototype.write.call(this,t,e):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},t.latex=function(){return"$"+this.ends[y].latex()+"$"}})),J=v(W,(function(t,e){t.keystroke=function(t){if("Spacebar"!==t&&"Shift-Spacebar"!==t)return e.keystroke.apply(this,arguments)},t.write=function(t,e){var n;t.show().deleteSelection(),"$"===e?Y(t).createLeftOf(t):("<"===e?n="<":">"===e&&(n=">"),U(e,n).createLeftOf(t))}})),C.TextField=function(t){return v(t.EditableField,(function(t,e){this.RootBlock=J,t.__mathquillify=function(){return e.__mathquillify.call(this,"mq-editable-field mq-text-mode")},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()}}))},S["\\"]=v($,(function(t,e){t.ctrlSeq="\\",t.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},t.htmlTemplate='\\&0',t.textTemplate=["\\"],t.createBlocks=function(){e.createBlocks.call(this),this.ends[y].focus=function(){return this.parent.jQ.addClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.removeClass("mq-empty"),this},this.ends[y].blur=function(){return this.parent.jQ.removeClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.addClass("mq-empty"),this},this.ends[y].write=function(t,e){t.show().deleteSelection(),e.match(/[a-z]/i)?U(e).createLeftOf(t):(this.parent.renderCommand(t),"\\"===e&&this.isEmpty()||t.parent.write(t,e))},this.ends[y].keystroke=function(t,n,i){return"Tab"===t||"Enter"===t||"Spacebar"===t?(this.parent.renderCommand(i.cursor),void n.preventDefault()):e.keystroke.apply(this,arguments)}},t.createLeftOf=function(t){if(e.createLeftOf.call(this,t),this._replacedFragment){var n=this.jQ[0];this.jQ=this._replacedFragment.jQ.addClass("mq-blur").bind("mousedown mousemove",(function(t){return q(t.target=n).trigger(t),!1})).insertBefore(this.jQ).add(this.jQ)}},t.latex=function(){return"\\"+this.ends[y].latex()+" "},t.renderCommand=function(t){var e,n;this.jQ=this.jQ.last(),this.remove(),this[w]?t.insLeftOf(this[w]):t.insAtRightEnd(this.parent),(e=this.ends[y].latex())||(e=" "),(n=O[e]||mt[e])?(n=n(e),this._replacedFragment&&n.replaces(this._replacedFragment),n.createLeftOf(t)):((n=V()).replaces(e),n.createLeftOf(t),t.insRightOf(n),this._replacedFragment&&this._replacedFragment.remove())}})),Z=t,tt=document.createElement("div").style,{transform:1,WebkitTransform:1,MozTransform:1,OTransform:1,msTransform:1})if(nt in tt){et=nt;break}for(St in et?K=function(t,e,n){t.css(et,"scale("+e+","+n+")")}:"filter"in tt?(Z=function(t){t.className=t.className},K=function(t,e,n){function i(){t.css("marginRight",(r.width()-1)*(e-1)/e+"px")}var r,o;e/=1+(n-1)/2,t.css("fontSize",n+"em"),t.hasClass("mq-matrixed-container")||t.addClass("mq-matrixed-container").wrapInner(''),r=t.children().css("filter","progid:DXImageTransform.Microsoft.Matrix(M11="+e+",SizingMethod='auto expand')"),i(),o=setInterval(i),q(window).load((function(){clearTimeout(o),i()}))}):K=function(t,e,n){t.css("fontSize",n+"em")},it=v($,(function(t,e){t.init=function(t,n,i){e.init.call(this,t,"<"+n+" "+i+">&0")}})),O.mathrm=i(it,"\\mathrm","span",'class="mq-roman mq-font"'),O.mathit=i(it,"\\mathit","i",'class="mq-font"'),O.mathbf=i(it,"\\mathbf","b",'class="mq-font"'),O.mathsf=i(it,"\\mathsf","span",'class="mq-sans-serif mq-font"'),O.mathtt=i(it,"\\mathtt","span",'class="mq-monospace mq-font"'),O.underline=i(it,"\\underline","span",'class="mq-non-leaf mq-underline"'),O.overline=O.bar=i(it,"\\overline","span",'class="mq-non-leaf mq-overline"'),O.overrightarrow=i(it,"\\overrightarrow","span",'class="mq-non-leaf mq-overarrow mq-arrow-right"'),O.overleftarrow=i(it,"\\overleftarrow","span",'class="mq-non-leaf mq-overarrow mq-arrow-left"'),O.overleftrightarrow=i(it,"\\overleftrightarrow","span",'class="mq-non-leaf mq-overarrow mq-arrow-both"'),O.overarc=i(it,"\\overarc","span",'class="mq-non-leaf mq-overarc"'),O.dot=v($,(function(t,e){t.init=function(){e.init.call(this,"\\dot",'˙&0')}})),O.textcolor=v($,(function(t,e){t.setColor=function(t){this.color=t,this.htmlTemplate='&0'},t.latex=function(){return"\\textcolor{"+this.color+"}{"+this.blocks[0].latex()+"}"},t.parser=function(){var t=this,n=z.optWhitespace,i=z.string,r=z.regex;return n.then(i("{")).then(r(/^[#\w\s.,()%-]*/)).skip(i("}")).then((function(n){return t.setColor(n),e.parser.call(t)}))},t.isStyleBlock=function(){return!0}})),O.class=v($,(function(t,e){t.parser=function(){var t=this,n=z.string,i=z.regex;return z.optWhitespace.then(n("{")).then(i(/^[-\w\s\\\xA0-\xFF]*/)).skip(n("}")).then((function(n){return t.cls=n||"",t.htmlTemplate='&0',e.parser.call(t)}))},t.latex=function(){return"\\class{"+this.cls+"}{"+this.blocks[0].latex()+"}"},t.isStyleBlock=function(){return!0}})),rt=v($,(function(t,e){t.ctrlSeq="_{...}^{...}",t.createLeftOf=function(t){if(this.replacedFragment||t[y]||!t.options.supSubsRequireOperand)return e.createLeftOf.apply(this,arguments)},t.contactWeld=function(t){var e,n,i,r,o,a;for(e=y;e;e=e===y&&w)if(this[e]instanceof rt){for(n="sub";n;n="sub"===n&&"sup")i=this[n],r=this[e][n],i&&(r?i.isEmpty()?a=x(r,0,r.ends[y]):(i.jQ.children().insAtDirEnd(-e,r.jQ),o=i.children().disown(),a=x(r,o.ends[w],r.ends[y]),e===y?o.adopt(r,r.ends[w],0):o.adopt(r,0,r.ends[y])):this[e].addBlock(i.disown()),this.placeCursor=function(t,n){return function(i){i.insAtDirEnd(-e,t||n)}}(r,i));this.remove(),t&&t[y]===this&&(e===w&&a?a[y]?t.insRightOf(a[y]):t.insAtLeftEnd(a.parent):t.insRightOf(this[e]));break}},A.p.charsThatBreakOutOfSupSub="",t.finalizeTree=function(){this.ends[y].write=function(t,e){if(t.options.autoSubscriptNumerals&&this===this.parent.sub){if("_"===e)return;var n=this.chToCmd(e,t.options);return n instanceof N?t.deleteSelection():t.clearSelection().insRightOf(this.parent),n.createLeftOf(t.show())}t[y]&&!t[w]&&!t.selection&&t.options.charsThatBreakOutOfSupSub.indexOf(e)>-1&&t.insRightOf(this.parent),H.p.write.apply(this,arguments)}},t.moveTowards=function(t,n,i){n.options.autoSubscriptNumerals&&!this.sup?n.insDirOf(t,this):e.moveTowards.apply(this,arguments)},t.deleteTowards=function(t,n){if(n.options.autoSubscriptNumerals&&this.sub){var i=this.sub.ends[-t];i instanceof N?i.remove():i&&i.deleteTowards(t,n.insAtDirEnd(-t,this.sub)),this.sub.isEmpty()&&(this.sub.deleteOutOf(y,n.insAtLeftEnd(this.sub)),this.sup&&n.insDirOf(-t,this))}else e.deleteTowards.apply(this,arguments)},t.latex=function(){function t(t,e){var n=e&&e.latex();return e?t+(1===n.length?n:"{"+(n||" ")+"}"):""}return t("_",this.sub)+t("^",this.sup)},t.addBlock=function(t){"sub"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.jQ=q('').append(t.jQ.children()).attr(Rt,t.id).prependTo(this.jQ)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,t.jQ=q('').append(t.jQ.children()).attr(Rt,t.id).appendTo(this.jQ.removeClass("mq-sup-only")),this.jQ.append(''));for(var e=0;e<2;e+=1)!function(t,e,n,i){t[e].deleteOutOf=function(r,o){if(o.insDirOf(this[r]?-r:r,this.parent),!this.isEmpty()){var a=this.ends[r];this.children().disown().withDirAdopt(r,o.parent,o[r],o[-r]).jQ.insDirOf(-r,o.jQ),o[-r]=a}t.supsub=n,delete t[e],delete t[i+"Into"],t[n][i+"OutOf"]=f,delete t[n].deleteOutOf,"sub"===e&&q(t.jQ.addClass("mq-sup-only")[0].lastChild).remove(),this.remove()}}(this,"sub sup".split(" ")[e],"sup sub".split(" ")[e],"down up".split(" ")[e])}})),O.subscript=O._=v(rt,(function(t,e){t.supsub="sub",t.htmlTemplate='&0',t.textTemplate=["_"],t.finalizeTree=function(){this.downInto=this.sub=this.ends[y],this.sub.upOutOf=f,e.finalizeTree.call(this)}})),O.superscript=O.supscript=O["^"]=v(rt,(function(t,e){t.supsub="sup",t.htmlTemplate='&0',t.textTemplate=["^"],t.finalizeTree=function(){this.upInto=this.sup=this.ends[w],this.sup.downOutOf=f,e.finalizeTree.call(this)},t.reflow=function(){var t=this.jQ,e=t.prev().innerHeight();e*=.6,t.css("vertical-align",e+"px")}})),ot=v($,(function(t,e){t.init=function(t,e){var n='&1'+e+'&0';N.prototype.init.call(this,t,n)},t.createLeftOf=function(t){e.createLeftOf.apply(this,arguments),t.options.sumStartsWithNEquals&&(qt("n").createLeftOf(t),It().createLeftOf(t))},t.latex=function(){function t(t){return 1===t.length?t:"{"+(t||" ")+"}"}return this.ctrlSeq+"_"+t(this.ends[y].latex())+"^"+t(this.ends[w].latex())},t.parser=function(){var t,e=z.string,n=z.optWhitespace,i=z.succeed,r=F.block,o=this,a=o.blocks=[H(),H()];for(t=0;t&1&0')},t.createLeftOf=$.p.createLeftOf})),at=O.frac=O.dfrac=O.cfrac=O.fraction=v($,(function(t,e){t.ctrlSeq="\\frac",t.htmlTemplate='&0&1',t.textTemplate=["(",")/(",")"],t.finalizeTree=function(){this.upInto=this.ends[w].upOutOf=this.ends[y],this.downInto=this.ends[y].downOutOf=this.ends[w]}})),st=O.over=S["/"]=v(at,(function(e,n){e.createLeftOf=function(e){if(!this.replacedFragment){for(var i=e[y];i&&!(i instanceof G||i instanceof(O.text||t)||i instanceof ot||"\\ "===i.ctrlSeq||/^[,;:]$/.test(i.ctrlSeq));)i=i[y];i instanceof ot&&i[w]instanceof rt&&(i=i[w])[w]instanceof rt&&i[w].ctrlSeq!=i.ctrlSeq&&(i=i[w]),i!==e[y]&&(this.replaces(k(i[w]||e.parent.ends[y],e[y])),e[y]=i)}n.createLeftOf.call(this,e)}})),lt=O.sqrt=O["√"]=v($,(function(t,e){t.ctrlSeq="\\sqrt",t.htmlTemplate='&0',t.textTemplate=["sqrt(",")"],t.parser=function(){return F.optBlock.then((function(t){return F.block.map((function(e){var n=ct();return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n}))})).or(e.parser.call(this))},t.reflow=function(){var t=this.ends[w].jQ;K(t.prev(),1,t.innerHeight()/+t.css("fontSize").slice(0,-2)-.1)}})),O.hat=v($,(function(t,e){t.ctrlSeq="\\hat",t.htmlTemplate='^&0',t.textTemplate=["hat(",")"]})),ct=O.nthroot=v(lt,(function(t,e){t.htmlTemplate='&0&1',t.textTemplate=["sqrt[","](",")"],t.latex=function(){return"\\sqrt["+this.ends[y].latex()+"]{"+this.ends[w].latex()+"}"}})),ut=v($,(function(t,e){t.init=function(t,n,i){var r=''+n+'&0';e.init.call(this,t,r,i)}})),O.vec=i(ut,"\\vec","→",["vec(",")"]),O.tilde=i(ut,"\\tilde","~",["tilde(",")"]),pt=v(v($,d),(function(e,n){e.init=function(t,e,i,r,o){n.init.call(this,"\\left"+r,m,[e,i]),this.side=t,this.sides={},this.sides[y]={ch:e,ctrlSeq:r},this.sides[w]={ch:i,ctrlSeq:o}},e.numBlocks=function(){return 1},e.html=function(){return this.htmlTemplate=''+this.sides[y].ch+'&0'+this.sides[w].ch+"",n.html.call(this)},e.latex=function(){return"\\left"+this.sides[y].ctrlSeq+this.ends[y].latex()+"\\right"+this.sides[w].ctrlSeq},e.matchBrack=function(t,e,n){return n instanceof pt&&n.side&&n.side!==-e&&(!t.restrictMismatchedBrackets||ft[this.sides[this.side].ch]===n.sides[n.side].ch||{"(":"]","[":")"}[this.sides[y].ch]===n.sides[w].ch)&&n},e.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side],t.delimjQs.eq(this.side===y?0:1).removeClass("mq-ghost").html(this.sides[this.side].ch)},e.createLeftOf=function(t){var e,i,r;this.replacedFragment||(e=t.options,i="|"===this.sides[y].ch?this.matchBrack(e,w,t[w])||this.matchBrack(e,y,t[y])||this.matchBrack(e,0,t.parent.parent):this.matchBrack(e,-this.side,t[-this.side])||this.matchBrack(e,-this.side,t.parent.parent)),i?(r=this.side=-i.side,this.closeOpposing(i),i===t.parent.parent&&t[r]&&k(t[r],t.parent.ends[r],-r).disown().withDirAdopt(-r,i.parent,i,i[r]).jQ.insDirOf(r,i.jQ),i.bubble("reflow")):(r=(i=this).side,i.replacedFragment?i.side=0:t[-r]&&(i.replaces(k(t[-r],t.parent.ends[-r],r)),t[-r]=0),n.createLeftOf.call(i,t)),r===y?t.insAtLeftEnd(i.ends[y]):t.insRightOf(i)},e.placeCursor=t,e.unwrap=function(){this.ends[y].children().disown().adopt(this.parent,this,this[w]).jQ.insertAfter(this.jQ),this.remove()},e.deleteSide=function(t,e,n){var i,r,o,a=this.parent,s=this[t],l=a.ends[t];if(t===this.side)return this.unwrap(),void(s?n.insDirOf(-t,s):n.insAtDirEnd(t,a));if(i=n.options,r=!this.side,this.side=-t,this.matchBrack(i,t,this.ends[y].ends[this.side]))this.closeOpposing(this.ends[y].ends[this.side]),o=this.ends[y].ends[t],this.unwrap(),o.siblingCreated&&o.siblingCreated(n.options,t),s?n.insDirOf(-t,s):n.insAtDirEnd(t,a);else{if(this.matchBrack(i,t,this.parent.parent))this.parent.parent.closeOpposing(this),this.parent.parent.unwrap();else{if(e&&r)return this.unwrap(),void(s?n.insDirOf(-t,s):n.insAtDirEnd(t,a));this.sides[t]={ch:ft[this.sides[this.side].ch],ctrlSeq:ft[this.sides[this.side].ctrlSeq]},this.delimjQs.removeClass("mq-ghost").eq(t===y?0:1).addClass("mq-ghost").html(this.sides[t].ch)}s?(o=this.ends[y].ends[t],k(s,l,-t).disown().withDirAdopt(-t,this.ends[y],o,0).jQ.insAtDirEnd(t,this.ends[y].jQ.removeClass("mq-empty")),o.siblingCreated&&o.siblingCreated(n.options,t),n.insDirOf(-t,s)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.ends[y])}},e.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.finalizeTree=function(){this.ends[y].deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},this.finalizeTree=this.intentionalBlur=function(){this.delimjQs.eq(this.side===y?1:0).removeClass("mq-ghost"),this.side=0}},e.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()}})),ft={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{","\\{":"\\}","\\}":"\\{","⟨":"⟩","⟩":"⟨","\\langle ":"\\rangle ","\\rangle ":"\\langle ","|":"|","\\lVert ":"\\rVert ","\\rVert ":"\\lVert "},h("("),h("["),h("{","\\{"),O.langle=i(pt,y,"⟨","⟩","\\langle ","\\rangle "),O.rangle=i(pt,w,"⟨","⟩","\\langle ","\\rangle "),S["|"]=i(pt,y,"|","|","|","|"),O.lVert=i(pt,y,"∥","∥","\\lVert ","\\rVert "),O.rVert=i(pt,w,"∥","∥","\\lVert ","\\rVert "),O.left=v($,(function(t){t.parser=function(){var t=z.regex,e=z.string,n=(z.succeed,z.optWhitespace);return n.then(t(/^(?:[([|]|\\\{|\\langle\b|\\lVert\b)/)).then((function(i){var r="\\"===i.charAt(0)?i.slice(1):i;return"\\langle"==i&&(r="⟨",i+=" "),"\\lVert"==i&&(r="∥",i+=" "),F.then((function(o){return e("\\right").skip(n).then(t(/^(?:[\])|]|\\\}|\\rangle\b|\\rVert\b)/)).map((function(t){var e,n="\\"===t.charAt(0)?t.slice(1):t;return"\\rangle"==t&&(n="⟩",t+=" "),"\\rVert"==t&&(n="∥",t+=" "),(e=pt(0,r,n,i,t)).blocks=[o],o.adopt(e,0,0),e}))}))}))}})),O.right=v($,(function(t){t.parser=function(){return z.fail("unmatched \\right")}})),dt=O.binom=O.binomial=v(v($,d),(function(t,e){t.ctrlSeq="\\binom",t.htmlTemplate='(&0&1)',t.textTemplate=["choose(",",",")"]})),O.choose=v(dt,(function(t){t.createLeftOf=st.prototype.createLeftOf})),O.editable=O.MathQuillMathField=v($,(function(t,e){t.ctrlSeq="\\MathQuillMathField",t.htmlTemplate='&0',t.parser=function(){var t=this,n=z.string,i=z.regex,r=z.succeed;return n("[").then(i(/^[a-z][a-z0-9]*/i)).skip(n("]")).map((function(e){t.name=e})).or(r()).then(e.parser.call(t))},t.finalizeTree=function(t){var e=j(this.ends[y],this.jQ,t);e.KIND_OF_MQ="MathField",e.editable=!0,e.createTextarea(),e.editablesTextareaEvents(),e.cursor.insAtRightEnd(e.root),u(e.root)},t.registerInnerField=function(t,e){t.push(t[this.name]=e(this.ends[y].controller))},t.latex=function(){return this.ends[y].latex()},t.text=function(){return this.ends[y].text()}})),ht=O.embed=v(N,(function(t,e){t.setOptions=function(t){function e(){return""}return this.text=t.text||e,this.htmlTemplate=t.htmlString||"",this.latex=t.latex||e,this},t.parser=function(){var t=this,e=z.string,n=z.regex,i=z.succeed;return e("{").then(n(/^[a-z][a-z0-9]*/i)).skip(e("}")).then((function(r){return e("[").then(n(/^[-\w\s]*/)).skip(e("]")).or(i()).map((function(e){return t.setOptions(P[r](e))}))}))}})),mt={},O.begin=v($,(function(t,e){t.parser=function(){var t=z.string,e=z.regex;return t("{").then(e(/^[a-z]+/i)).skip(t("}")).then((function(e){return(mt[e]?mt[e]().parser():z.fail("unknown environment type: "+e)).skip(t("\\end{"+e+"}"))}))}})),gt=v($,(function(t,e){t.template=[["\\begin{","}"],["\\end{","}"]],t.wrappers=function(){return[t.template[0].join(this.environment),t.template[1].join(this.environment)]}})),bt=mt.matrix=v(gt,(function(t,e){var n="&",i="\\\\";t.parentheses={left:null,right:null},t.environment="matrix",t.reflow=function(){var t=this.jQ.children("table"),e=t.outerHeight()/+t.css("fontSize").slice(0,-2),n=this.jQ.children(".mq-paren");n.length&&K(n,zt(1+.2*(e-1),1.2),1.05*e)},t.latex=function(){var t,e="";return this.eachChild((function(r){void 0!==t&&(e+=t!==r.row?i:n),t=r.row,e+=r.latex()})),this.wrappers().join(e)},t.html=function(){function t(t){return t?''+t+"":""}var n,i=[],r="",o=0;return this.eachChild((function(t){n!==t.row&&(n=t.row,r+="$tds",i[n]=[]),i[n].push("&"+o+++"")})),this.htmlTemplate=''+t(this.parentheses.left)+''+r.replace(/\$tds/g,(function(){return i.shift().join("")}))+"
"+t(this.parentheses.right)+"
",e.html.call(this)},t.createBlocks=function(){this.blocks=[vt(0,this),vt(0,this),vt(1,this),vt(1,this)]},t.parser=function(){var t=this,e=z.optWhitespace,r=z.string;return e.then(r(n).or(r(i)).or(F.block)).many().skip(e).then((function(e){function n(){t.blocks.push(vt(a,t,o)),o=[]}var r,o=[],a=0;for(t.blocks=[],r=0;r-1&&(t[e].remove(),c.splice(c.indexOf(t[e]),1))}var i,r,o=[],a=[],s=[],l=[],c=this.blocks;this.eachChild((function(e){i!==e.row&&(i=e.row,o[i]=[],r=0),a[r]=a[r]||[],a[r].push(e),o[i].push(e),e===t&&(s=o[i],l=a[r]),r+=1})),e(s)&&l.length>1&&(i=o.indexOf(s),this.eachChild((function(t){t.row>i&&(t.row-=1)})),n(s),this.jQ.find("tr").eq(i).remove()),e(l)&&s.length>1&&n(l),this.finalizeTree()},t.addRow=function(t){var e,n,i,r=[],o=[],a=[],s=q(""),l=t.row,c=0;for(this.eachChild((function(e){e.row<=l&&r.push(e),e.row===l&&(e===t&&(n=c),c+=1),e.row>l&&(e.row+=1,a.push(e))})),i=0;i').attr(Rt,e.id).appendTo(s);return this.jQ.find("tr").eq(l).after(s),this.blocks=r.concat(o,a),o[n]},t.addColumn=function(t){var e,n,i,r=[],o=[];for(this.eachChild((function(n){r[n.row]=r[n.row]||[],r[n.row].push(n),n===t&&(e=r[n.row].length)})),i=0;i').attr(Rt,n.id);return this.jQ.find("tr").each((function(t){q(this).find("td").eq(e-1).after(r[t][e].jQ)})),this.blocks=[].concat.apply([],r),o[t.row]},t.insert=function(t,e){var n=this[t](e);this.cursor=this.cursor||this.parent.cursor,this.finalizeTree(),this.bubble("reflow").cursor.insAtRightEnd(n)},t.backspace=function(t,e,n,i){var r=t[e];if(t.isEmpty()){for(this.deleteCell(t);r&&r[e]&&-1===this.blocks.indexOf(r);)r=r[e];r&&n.insAtDirEnd(-e,r),1===this.blocks.length&&this.blocks[0].isEmpty()&&(i(),this.finalizeTree()),this.bubble("edited")}}})),mt.pmatrix=v(bt,(function(t,e){t.environment="pmatrix",t.parentheses={left:"(",right:")"}})),mt.bmatrix=v(bt,(function(t,e){t.environment="bmatrix",t.parentheses={left:"[",right:"]"}})),mt.Bmatrix=v(bt,(function(t,e){t.environment="Bmatrix",t.parentheses={left:"{",right:"}"}})),mt.vmatrix=v(bt,(function(t,e){t.environment="vmatrix",t.parentheses={left:"|",right:"|"}})),mt.Vmatrix=v(bt,(function(t,e){t.environment="Vmatrix",t.parentheses={left:"‖",right:"‖"}})),vt=v(H,(function(t,e){t.init=function(t,n,i){if(e.init.call(this),this.row=t,n&&this.adopt(n,n.ends[w],0),i)for(var r=0;r"+(n||t)+"")},t.text=function(){var t=this.ctrlSeq;return this.isPartOfOperator?"\\"==t[0]?t=t.slice(1,t.length):" "==t[t.length-1]&&(t=t.slice(0,-1)):(!this[y]||this[y]instanceof wt||this[y]instanceof G||"\\ "===this[y].ctrlSeq||(t="*"+t),!this[w]||this[w]instanceof G||this[w]instanceof rt||(t+="*")),t}})),A.p.autoCommands={_maxLength:0},D.autoCommands=function(t){var e,n,i,r,o;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'"'+t+'" not a space-delimited list of only letters';for(e=t.split(" "),n={},i=0,r=0;r0){for(r="",o=this,a=0;o instanceof qt&&o.ctrlSeq===o.letter&&a0;s-=1)if(l=e.slice(o,o+s),h.hasOwnProperty(l)){for(c=0,u=a;cf')},t.italicize=function(t){return this.jQ.html("f").toggleClass("mq-f",t),e.italicize.apply(this,arguments)}})),O[" "]=O.space=i(U,"\\ "," "),O["'"]=O.prime=i(U,"'","′"),O["″"]=O.dprime=i(U,"″","″"),O.backslash=i(U,"\\backslash ","\\"),S["\\"]||(S["\\"]=O.backslash),O.$=i(U,"\\$","$"),Tt=v(N,(function(t,e){t.init=function(t,n){e.init.call(this,t,''+(n||t)+"")}})),O["@"]=Tt,O["&"]=i(Tt,"\\&","&"),O["%"]=i(Tt,"\\%","%"),O.alpha=O.beta=O.gamma=O.delta=O.zeta=O.eta=O.theta=O.iota=O.kappa=O.mu=O.nu=O.xi=O.rho=O.sigma=O.tau=O.chi=O.psi=O.omega=v(wt,(function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}})),O.phi=i(wt,"\\phi ","ϕ"),O.phiv=O.varphi=i(wt,"\\varphi ","φ"),O.epsilon=i(wt,"\\epsilon ","ϵ"),O.epsiv=O.varepsilon=i(wt,"\\varepsilon ","ε"),O.piv=O.varpi=i(wt,"\\varpi ","ϖ"),O.sigmaf=O.sigmav=O.varsigma=i(wt,"\\varsigma ","ς"),O.thetav=O.vartheta=O.thetasym=i(wt,"\\vartheta ","ϑ"),O.upsilon=O.upsi=i(wt,"\\upsilon ","υ"),O.gammad=O.Gammad=O.digamma=i(wt,"\\digamma ","ϝ"),O.kappav=O.varkappa=i(wt,"\\varkappa ","ϰ"),O.rhov=O.varrho=i(wt,"\\varrho ","ϱ"),O.pi=O["π"]=i(Tt,"\\pi ","π"),O.lambda=i(Tt,"\\lambda ","λ"),O.Upsilon=O.Upsi=O.upsih=O.Upsih=i(N,"\\Upsilon ",'ϒ'),O.Gamma=O.Delta=O.Theta=O.Lambda=O.Xi=O.Pi=O.Sigma=O.Phi=O.Psi=O.Omega=O.forall=v(U,(function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}})),Et=v($,(function(t){t.init=function(t){this.latex=t},t.createLeftOf=function(t){var e=F.parse(this.latex);e.children().adopt(t.parent,t[y],t[w]),t[y]=e.ends[w],e.jQize().insertBefore(t.jQ),e.finalizeInsert(t.options,t),e.ends[w][w].siblingCreated&&e.ends[w][w].siblingCreated(t.options,y),e.ends[y][y].siblingCreated&&e.ends[y][y].siblingCreated(t.options,w),t.parent.bubble("reflow")},t.parser=function(){var t=F.parse(this.latex).children();return z.succeed(t)}})),O["¹"]=i(Et,"^1"),O["²"]=i(Et,"^2"),O["³"]=i(Et,"^3"),O["¼"]=i(Et,"\\frac14"),O["½"]=i(Et,"\\frac12"),O["¾"]=i(Et,"\\frac34"),jt=v(G,(function(t){t.init=U.prototype.init,t.contactWeld=t.siblingCreated=t.siblingDeleted=function(t,e){if(e!==w)return this.jQ[0].className=function t(e){return e[y]?e[y]instanceof G||/^[,;:\(\[]$/.test(e[y].ctrlSeq)?"":"mq-binary-operator":e.parent&&e.parent.parent&&e.parent.parent.isStyleBlock()?t(e.parent.parent):""}(this),this}})),O["+"]=i(jt,"+","+"),O["–"]=O["-"]=i(jt,"-","−"),O["±"]=O.pm=O.plusmn=O.plusminus=i(jt,"\\pm ","±"),O.mp=O.mnplus=O.minusplus=i(jt,"\\mp ","∓"),S["*"]=O.sdot=O.cdot=i(G,"\\cdot ","·","*"),Ct=v(G,(function(t,e){t.init=function(t,n){this.data=t,this.strict=n;var i=n?"Strict":"";e.init.call(this,t["ctrlSeq"+i],t["html"+i],t["text"+i])},t.swap=function(t){this.strict=t;var e=t?"Strict":"";this.ctrlSeq=this.data["ctrlSeq"+e],this.jQ.html(this.data["html"+e]),this.textTemplate=[this.data["text"+e]]},t.deleteTowards=function(t,n){if(t===y&&!this.strict)return this.swap(!0),void this.bubble("reflow");e.deleteTowards.apply(this,arguments)}})),At={ctrlSeq:"\\le ",html:"≤",text:"≤",ctrlSeqStrict:"<",htmlStrict:"<",textStrict:"<"},Dt={ctrlSeq:"\\ge ",html:"≥",text:"≥",ctrlSeqStrict:">",htmlStrict:">",textStrict:">"},O["<"]=O.lt=i(Ct,At,!0),O[">"]=O.gt=i(Ct,Dt,!0),O["≤"]=O.le=O.leq=i(Ct,At,!1),O["≥"]=O.ge=O.geq=i(Ct,Dt,!1),It=v(G,(function(t,e){t.init=function(){e.init.call(this,"=","=")},t.createLeftOf=function(t){if(t[y]instanceof Ct&&t[y].strict)return t[y].swap(!1),void t[y].bubble("reflow");e.createLeftOf.apply(this,arguments)}})),O["="]=It,O["×"]=O.times=i(G,"\\times ","×","[x]"),O["÷"]=O.div=O.divide=O.divides=i(G,"\\div ","÷","[/]"),S["~"]=O.sim=i(G,"\\sim ","~","~"),Pt=c(1))!function(t,e){"function"==typeof e?(l[t]=function(){return s(),e.apply(this,arguments)},l[t].prototype=e.prototype):l[t]=e}(Mt,Pt[Mt])}(),function(){"use strict";var t=r;Object.defineProperty(t,"__esModule",{value:!0}),t.reflow=t.init=void 0;var e=n(452),i=n(66),o=n(830),a=n(216),s=n(657);function l(t){(0,a.findQuillGroups)(t),(0,s.findPyGenerators)()}(0,e.applyPolyfills)(),t.reflow=l;var c=!1;t.init=function(t){if(c)l(t.widgets);else if(t.engine&&!t.engines&&(t.engines=[t.engine||""]),t.engines){Array.isArray(t.engines)||(t.engines=[t.engines]),i.cfg.setUserConfig(t);var e=[];t.engines.indexOf("nerdamer")>=0&&e.push((0,o.insertScript)(i.cfg.NERDAMER_URL)),e.length?Promise.all(e).then((function(){l(null==t?void 0:t.widgets),c=!0}),(function(){console.error("Unable to load the required dependencies")})):(l(null==t?void 0:t.widgets),c=!0)}else console.error("The engines option in the init method is required.")}}(),self.MQWidgets=r}(); +!function(){var t={161:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.I18n=void 0;var i=n(66),r={ca:{check:"Comprova",General:"General","Símbols":"Símbols",Geometria:"Geometria",Intervals:"Intervals",Funcions:"Funcions",right_answer:"Resposta correcta",close:"Tancar",open_editor:"Obrir l'editor",show_answer:"Mostra la solució",choose_option:"Tria una opció",next:"Següent",goal_reached:"Repte aconseguit!",wildcard:"Comodí",answer:"Solució",matheditor:"Editor matemàtic",accept:"Acceptar",cancel:"Cancel·lar",expected_ans:"S'esperava la resposta",error_verifying:"Ho sentim però hi ha hagut un problema a l'hora de verificar la resposta.",wrong_answer:"Resposta incorrecta. Intentau de nou.",sym_notallowed:"No es permet el símbol ${1} en la resposta.",sym_once:"El símbol ${1} només es pot emprar com a màxim una vegada en la resposta.",error_cantprocess:"Error: Hi ha respostes donades que no es poden processar. Provau d'eliminar els espais en blanc.",ans_missing:"Falten respostes"},es:{check:"Comprueba",General:"General","Símbols":"Símbolos",Geometria:"Geometria",Intervals:"Intervalos",Funcions:"Funciones",right_answer:"Respuesta correcta",close:"Cerrar",open_editor:"Abrir el editor",show_answer:"Muestra la solución",choose_option:"Elige una opción",next:"Siguiente",goal_reached:"¡Reto conseguido!",wildcard:"Comodín",answer:"Solución",matheditor:"Editor matemático",accept:"Aceptar",cancel:"Cancelar",expected_ans:"Se esperaba la respuesta",error_verifying:"Lo sentimos, ha habido un problema cuando se verificaba la respuesta.",wrong_answer:"Respuesta incorrecta. Inténtalo de nuevo.",sym_notallowed:"No se permite el símbolo ${1} en la respuesta.",sym_once:"El símbolo ${1} solo es puede emplear una vez como máximo en la respuesta.",error_cantprocess:"Error: Hay respuestas que no se pueden procesar. Intente eliminar los espacios en blanco.",ans_missing:"Faltan respuestas"},en:{check:"Check",General:"General","Símbols":"Symbols",Geometria:"Geometry",Intervals:"Intervals",Funcions:"Functions",right_answer:"Right answer",close:"Close",open_editor:"Open the editor",show_answer:"Show the answer",choose_option:"Choose an option",next:"Next",goal_reached:"Goal acomplished!",wildcard:"Wildcard",answer:"Answer",matheditor:"Math editor",accept:"Accept",cancel:"Cancel",expected_ans:"The expected answer is",error_verifying:"We are sorry. There has been a problem while verifying the answer.",wrong_answer:"Wrong answer. Try it again.",sym_notallowed:"The symbol ${1} is not allowed in the answer.",sym_once:"The symbol ${1} can only be used once in the answer.",error_cantprocess:"Error: There are some answers that can't be processed. Try removing white spaces.",ans_missing:"There are some blank answers"}};var o=function(){if("undefined"==typeof window)return"en";var t=window.navigator,e=t.languages&&t.languages[0]||t.language||t.browserLanguage||t.userLanguage||t.systemLanguage||"en_US";return(e=e.toLowerCase().replace(/-/,"_")).toLowerCase().split("_")[0]}();e.I18n=function(t){var e=i.cfg.LANG||o,n=r[e];n||(console.error("Cannot find translations in ",e,". Using fallback [en]"),n=r.en);for(var s=n[t]||t||"",a=0;a<(arguments.length<=1?0:arguments.length-1);a++)s=s.replace("${"+(a+1)+"}",a+1<1||arguments.length<=a+1?void 0:arguments[a+1]);return s}},800:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createSubmitButtonForGroup=e.bindSubmitActionButton=void 0;var i=n(247),r=n(66),o=n(161),s=n(332),a=n(830),l=(new Date).getTime();function c(t,e,n){var c=r.shared[t],u=Object.keys(c).map((function(t){return parseInt(t)}));e.off(),e.on("click",(function(t){t.preventDefault();var e=(new Date).getTime();if(l&&e-l<1e3)console.error("Too frequently checks are blocked!");else for(var p=0,f=u.length;pr.cfg.MAX_ATTEMPTS&&!h.isPigen()){h.showAnswer();continue}if(h.getQType()==r.cfg.QTYPES.M||h.getQType()==r.cfg.QTYPES.Ms){var g=h.isComodiUsed()?5:10;h.getDefinition().ans==m[0]?h.checkMsg(1,"Molt bé!"):(g=0,h.increment_wrong(),h.checkMsg(0,"Incorrecte")),n&&n(g);continue}l=e;var b={latex:m,qid:d},v="";if((v=null!=h.getDefinition().anse?atob(h.getDefinition().anse||""):h.getDefinition().ans||"")&&1==m.length&&(0,a.isNumeric)(m[0])&&(0,a.isNumeric)(v)){var y=parseFloat(m[0]),w=(parseFloat(v),g=h.isComodiUsed()?5:10,parseFloat(v)-y),q=0;h.getDefinition().rules&&h.getDefinition().rules.precision&&(q=h.getDefinition().rules.precision),Math.abs(w)<=q?h.checkMsg(1,"Molt bé!"):(g=0,h.increment_wrong(),h.checkMsg(0,"Incorrecte")),n&&n(g);continue}(0,a.copyPropsFromTo)(h.getDefinition(),b),r.cfg.pageInfo&&(b.pageInfo=r.cfg.pageInfo,h.getHash()||h.setHash((0,a.MD5)(b.formulation+"_"+(b.pageInfo.bookId||0)+"_"+(b.pageInfo.chapterId||0))),b.hash=h.getHash()),s.engineCAS.compare(b).then((function(t){var e=c[t.qid];0==t.correct&&e.increment_wrong(),e.checkMsg(t.correct,t.msg);var i=t.correct?e.isComodiUsed()?5:10:0;n&&n(i)}),(function(t){console.error("Error",t)}))}}}}))}e.bindSubmitActionButton=c,e.createSubmitButtonForGroup=function(t){var e=$('"));return c(t,e),e}},247:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.has_empty_answers=e.extractMatrices=void 0;var n=/\\begin{pmatrix}(.*?)\\end{pmatrix}/g;function i(t){for(var e=[],i=null,r=function(){var t=[];i[1].split("\\\\").forEach((function(e){var n=e.split("&");t.push(n)})),e.push(t)};null!==(i=n.exec(t));)r();return e}e.extractMatrices=i;var r=function(t){for(var e=t.length,n=0;n'),this.levelIcons=[];for(var n=0;n');this.container.append(i),this.levelIcons.push(i)}}var e,i,r;return e=t,(i=[{key:"$div",get:function(){return this.container}},{key:"setLevel",value:function(t){t<0?t=0:t>this.numLevels&&(t=this.numLevels);for(var e=0;e');var r=$('
');this.topBar=r;var o=$(''+e+"");this.closeBtn=$('');var s=this;this.closeBtn.on("click",(function(t){t.preventDefault(),s.window.css("display","none")})),r.append(o),r.append(this.closeBtn),this.window.append(r),$("body").append(this.window);var a,l,c,u,p=!1,f=0,d=0;this.dragStart=function(t){"touchstart"===t.type?(c=t.touches[0].clientX-f,u=t.touches[0].clientY-d):(c=t.clientX-f,u=t.clientY-d),t.target===r[0]&&(p=!0)},this.dragEnd=function(t){c=a,u=l,p=!1},this.setTranslate=function(t,e,n){n.style.transform="translate3d("+t+"px, "+e+"px, 0)"},this.drag=function(t){p&&(t.preventDefault(),"touchmove"===t.type?(a=t.touches[0].clientX-c,l=t.touches[0].clientY-u):(a=t.clientX-c,l=t.clientY-u),f=a,d=l,s.setTranslate(a,l,s.window[0]))},r[0].addEventListener("touchstart",this.dragStart,!1),r[0].addEventListener("touchend",this.dragEnd,!1),r[0].addEventListener("touchmove",this.drag,!1),r[0].addEventListener("mousedown",this.dragStart,!1),r[0].addEventListener("mouseup",this.dragEnd,!1),r[0].addEventListener("mousemove",this.drag,!1)}var e,i,r;return e=t,(i=[{key:"append",value:function(t){this.window.append(t)}},{key:"show",value:function(){this.window.css("display","initial")}},{key:"close",value:function(){this.window.css("display","none")}},{key:"remove",value:function(){this.closeBtn.off(),this.window.remove(),this.topBar[0].removeEventListener("touchstart",this.dragStart),this.topBar[0].removeEventListener("touchend",this.dragEnd),this.topBar[0].removeEventListener("touchmove",this.drag),this.topBar[0].removeEventListener("mousedown",this.dragStart),this.topBar[0].removeEventListener("mouseup",this.dragEnd),this.topBar[0].removeEventListener("mousemove",this.drag)}},{key:"dispose",value:function(){this.remove()}}])&&n(e.prototype,i),r&&n(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.PwDialog=i},541:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n '+(0,p.I18n)("matheditor"),500,320)),n="gid_"+Math.random().toString(32).substring(2),i=u.cfg.QTYPES.P;t.editorPanel=new d.EditorPanel(t.window,n,{},i,!1);var r=$('
'),o=$('"),s=$('");return r.append(o),r.append(s),t.append(r),o.on("click",(function(t){t.preventDefault(),e.acceptFn&&e.acceptFn(e),e.close()})),s.on("click",(function(t){t.preventDefault(),e.cancelFn&&e.cancelFn(e),e.close()})),t}return e=c,(n=[{key:"latex",value:function(t){return null!=t?(this.editorPanel.latex(t),[""]):this.editorPanel.latex().map((function(t){return(0,f.sanitizeLaTeX)(t)}))}},{key:"show",value:function(){this.window.css("display",""),this.editorPanel.focus()}},{key:"dispose",value:function(){this.editorPanel.dispose(),this.window.find("button").off(),this.dispose()}},{key:"reflow",value:function(){this.editorPanel.reflow()}},{key:"setDefinition",value:function(t){this.editorPanel.setDefinition(t)}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(281).PwDialog);e.EditorDialog=h},44:function(t,e,n){"use strict";function i(t,e){for(var n=0;n');var p=$(""+r+"");return o.check_el=$('
'),o.parent.append(o.quill_el_container),o.quill_el_container.append(p),o.mathInput=(0,u.StaticMath)(p[0]),o.mathInput.innerFields.forEach((function(t){t.__controller.textarea.on("keyup",(function(t){t.preventDefault(),s.status!=u.cfg.STATUS.MODIFIED&&(s.check_el.html(""),s.status=u.cfg.STATUS.MODIFIED,s.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert"))}))})),o.quill_el_container.append(o.check_el),o}return e=c,(n=[{key:"clear",value:function(){this.mathInput.innerFields.forEach((function(t){return t.latex("")})),this.check_el.html(""),this.status=u.cfg.STATUS.UNMODIFIED,this.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert")}},{key:"focus",value:function(){this.mathInput.focus()}},{key:"latex",value:function(t){if(null==t){var e=[];this.mathInput.innerFields;for(var n=this.mathInput.innerFields,i=0,r=n.length;i',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"get_qid",value:function(){return this.mathInput.id}},{key:"dispose",value:function(){this.mathInput.revert(),this.quill_el_container.find("button").off()}},{key:"reflow",value:function(){this.mathInput.reflow(),this.status=u.cfg.STATUS.UNMODIFIED}},{key:"showAnswer",value:function(){if(this.def)if(this.def.right_answer){var t=this;if(!u.sharedDlg.showAnswerDlg){var e=new d.PwDialog((0,p.I18n)("right_answer"),400,250);u.sharedDlg.showAnswerDlg=e;var n=$('
');e.append(n);var i=$('");e.append(i),i.on("click",(function(t){t.preventDefault(),e.close()}))}t.isAnswerShown||(t.isAnswerShown=!0,t.status=u.cfg.STATUS.UNMODIFIED,t.dlg_btn_el&&t.dlg_btn_el.prop("disabled",!0));var r=u.sharedDlg.showAnswerDlg,o=r.window.find(".pw-answer-holder");t.def&&(o.html(atob(t.def.right_answer)+"


"),(0,f.reflowLatex)(),r.show())}else console.error("Cannot show answer because, ",this.def.right_answer);else console.error("Cannot show answer because, def is null")}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorCloze=h},980:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),r.quill_blocker=$("
");var s=$("");r.quill_blocker.append(s),r.check_el=$('
'),r.quill_el_container.append(r.quill_blocker);var u=i===p.cfg.QTYPES.S;return r.parent.append(r.quill_el_container),r.mathInput=(0,p.MathField)(s[0],{handlers:{edit:function(){o.mathInput.latex(),o.status!=p.cfg.STATUS.MODIFIED&&(o.check_el.html(""),o.status=p.cfg.STATUS.MODIFIED,o.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert"))}}}),u&&(r.dlg_btn_el=$(''),r.quill_el_container.append(r.dlg_btn_el),r.dlg_btn_el.on("click",(function(t){t.preventDefault();var e=p.sharedDlg.editordlg;e||(e=new m.EditorDialog,p.sharedDlg.editordlg=e),e.acceptFn=function(t){o.mathInput.latex(t.latex())},e.setDefinition(o.def),e.show(),e.latex(o.mathInput.latex())}))),r.quill_el_container.append(r.check_el),r}return e=c,(n=[{key:"get_qid",value:function(){return this.mathInput.id}},{key:"clear",value:function(){this.mathInput.latex(""),this.check_el.html(""),this.status=p.cfg.STATUS.UNMODIFIED,this.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert")}},{key:"focus",value:function(){this.mathInput.focus()}},{key:"latex",value:function(t){return null==t?[(0,d.sanitizeLaTeX)(this.mathInput.latex())]:(this.mathInput.latex(t),this.status=p.cfg.STATUS.UNMODIFIED,[])}},{key:"checkMsg",value:function(t,e){this.status=t;var n=null;1==t?(n='',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"dispose",value:function(){this.mathInput.revert(),this.quill_el_container.find("button").off()}},{key:"showAnswer",value:function(){if(this.def.right_answer){var t=this;if(!p.sharedDlg.showAnswerDlg){var e=new h.PwDialog((0,f.I18n)("right_answer"),400,250);p.sharedDlg.showAnswerDlg=e;var n=$('
');e.append(n);var i=$('");e.append(i),i.on("click",(function(t){t.preventDefault(),e.close()}))}t.isAnswerShown||(t.isAnswerShown=!0,t.status=p.cfg.STATUS.UNMODIFIED,t.quill_blocker.addClass("pw-me-blocker"),t.dlg_btn_el&&t.dlg_btn_el.prop("disabled",!0)),n=(e=p.sharedDlg.showAnswerDlg).window.find(".pw-answer-holder"),t.def&&(n.html(atob(t.def.right_answer)+"


"),(0,d.reflowLatex)(),e.show())}else console.error("Cannot show answer because, ",this.def.right_answer)}},{key:"increment_wrong",value:function(){if(this.wrong_attemps,p.cfg.MAX_ATTEMPTS,this.pigen,this.wrong_attemps+=1,this.wrong_attemps==p.cfg.MAX_ATTEMPTS+1&&!this.pigen){this.def;var t=$(''),e=this;t.on("click",(function(t){e.showAnswer()})),this.def.right_answer?this.quill_el_container.append(t):u.engineCAS.getAnswer(this.def).then((function(n){n.right_answer&&e.def?(e.def.right_answer=n.right_answer,e.quill_el_container.append(t)):n.msg&&console.error(n.msg)}),(function(t){console.error(t)}))}}},{key:"reflow",value:function(){this.mathInput.reflow(),this.status=p.cfg.STATUS.UNMODIFIED}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorInput=g},203:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),o.check_el=$('
');var d=$('
');o.btn_action=$('");var h=$('');return d.append(o.btn_action),r.forEach((function(t,e){var n=$(''+t+"");n.on("click",(function(t){t.preventDefault(),s.selectedIndex=e+"",s.btn_action.html(n.html()),s.status!=u.cfg.STATUS.MODIFIED&&(s.check_el.html(""),s.status=u.cfg.STATUS.MODIFIED,s.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert"))})),h.append(n)})),d.append(h),o.quill_el_container.append(d),o.quill_el_container.append(o.check_el),o.parent.append(o.quill_el_container),(0,f.reflowLatex)(),o}return e=c,(n=[{key:"showAnswer",value:function(){}},{key:"clear",value:function(){this.selectedIndex="",this.btn_action.html(""),this.check_el.html(""),this.status=u.cfg.STATUS.UNMODIFIED,this.quill_el_container.removeClass("pw-me-right pw-me-wrong pw-me-alert")}},{key:"focus",value:function(){this.btn_action.focus()}},{key:"latex",value:function(t){return[this.selectedIndex]}},{key:"checkMsg",value:function(t,e){this.status=t;var n="";1==t?(n='',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"dispose",value:function(){this.quill_el_container.off()}},{key:"get_qid",value:function(){return this.qid}},{key:"reflow",value:function(){this.status=u.cfg.STATUS.UNMODIFIED}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorMChoice=d},142:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),o.check_el=$('
');var d=$("
"),h="rgid_"+Math.random().toString(32).substring(2),m=[];return s.forEach((function(t,e){var n="raid_"+Math.random().toString(32).substring(2),i=$('
'),r=null;r=f.multipleAnswers?$(''):$(''),m.push(r);var o=$('");r.on("change",(function(t){t.preventDefault();for(var e=[],n=0;n',this.quill_el_container.addClass("pw-me-right")):0==t?(n='',this.quill_el_container.addClass("pw-me-wrong")):(n='',this.quill_el_container.addClass("pw-me-alert")),this.check_el.html(n)}},{key:"dispose",value:function(){this.quill_el_container.off()}},{key:"reflow",value:function(){this.status=u.cfg.STATUS.UNMODIFIED}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(n(44).EditorBase);e.EditorMChoiceCheckbox=f},786:function(t,e,n){"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function r(t,e){for(var n=0;n'),o.parent.append(o.panel),o.palettes=new d.PwTabMenu(o.panel,o.gid),o.spanMathInput=$(''),o.spanMathInput.on("click",(function(t){t.preventDefault(),$(".pw-me-btn-dropdownmenu").css("display","none")})),o.panel.append(o.spanMathInput),o.mathInput=(0,p.MathField)(o.spanMathInput[0],{handlers:{edit:function(){r&&s.status!=p.cfg.STATUS.MODIFIED&&(s.check_el&&s.check_el.html(""),s.status=p.cfg.STATUS.MODIFIED)}}}),o.standalone&&(o.check_el=$("
"),o.panel.append(o.check_el)),o.feedback_el=$(''),o.panel.append(o.feedback_el),(0,f.items)(m.default.button_meta,(function(t,e){var n=m.default.default_toolbar_tabs[e.tab-1];s.palettes.addTab(n);var i=(0,h.createToolbarButton)(s.panel,e,t,s.mathInput);s.palettes.addContentsToTab(n,i)})),o.setDefinition(n),o}return e=c,(n=[{key:"$div",get:function(){return this.panel}},{key:"clear",value:function(){this.mathInput.latex(""),this.check_el&&this.check_el.html(""),this.status=p.cfg.STATUS.UNMODIFIED}},{key:"focus",value:function(){this.mathInput.focus()}},{key:"latex",value:function(t){return null==t?[(0,f.sanitizeLaTeX)(this.mathInput.latex())]:(this.mathInput.latex(t),this.status=p.cfg.STATUS.UNMODIFIED,[""])}},{key:"checkMsg",value:function(t,e){if(this.standalone){this.status=t;var n="";n=1==t?' '+e+"":0==t?' '+e+"":' '+e+"",this.check_el&&this.check_el.html(n)}}},{key:"get_qid",value:function(){return this.mathInput.id}},{key:"showPalette",value:function(t,e){this.palettes.setVisible(t,e)}},{key:"dispose",value:function(){this.mathInput.revert(),this.panel.find("button").off(),this.palettes.dispose()}},{key:"reflow",value:function(){this.mathInput.reflow(),this.status=p.cfg.STATUS.UNMODIFIED}},{key:"setDefinition",value:function(t){this.def=t;var e=this;if(t.palettes&&t.palettes.indexOf("all")>=0)m.default.default_toolbar_tabs.forEach((function(t){e.palettes.setVisible(t,!0)})),this.palettes.setTab("General");else if(t.palettes&&t.palettes.length){var n=null,i=0;m.default.default_toolbar_tabs.forEach((function(r){for(var o=!1,s=0;!o&&sp.cfg.MAX_ATTEMPTS&&this.showAnswer()}},{key:"showAnswer",value:function(){var t,e=this;this.def?this.def.right_answer?(null===(t=e.check_el)||void 0===t||t.css("display","none"),this.feedback_el.css("display",""),this.feedback_el.html(atob(this.def.right_answer)+"


"),(0,f.reflowLatex)(),this.isAnswerShown=!0,this.palettes.setEnabled(!1),this.spanMathInput.css("pointer-events","none"),this.panel.css("cursor","not-allowed")):b.engineCAS.getAnswer(this.def).then((function(t){var n;t.right_answer?(null===(n=e.check_el)||void 0===n||n.css("display","none"),e.def.right_answer=t.right_answer,e.feedback_el.css("display",""),e.feedback_el.html(atob(e.def.right_answer)+"


"),(0,f.reflowLatex)(),e.isAnswerShown=!0,e.palettes.setEnabled(!1),e.spanMathInput.css("pointer-events","none"),e.panel.css("cursor","not-allowed")):t.msg&&console.error(t.msg)}),(function(t){console.error(t)})):console.error("Cannot show answer because def is null")}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(g.EditorBase);e.EditorPanel=v},280:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createToolbarButton=void 0;var i=n(66);e.createToolbarButton=function(t,e,n,r){if("function"==typeof e.latex){var o=$('
'),s=$(""+e.icon+"");(0,i.StaticMath)(s[0]),o.append(s);var a=$('
');t.append(a);for(var l=[],c=0,u=e.vars.length;c");l.push(h);var m=$(''+f+"");a.append(m),a.append(h)}var g=$('');a.append(g),g.on("click",(function(t){t.preventDefault();for(var n={},i=0,o=l.length;i');s=$(""+e.icon+"");(0,i.StaticMath)(s[0]),o.append(s),o.on("click",(function(t){t.preventDefault(),r.write(e.latex),r.focus(),e.moveto&&r.keystroke(e.moveto),$(".pw-me-btn-dropdownmenu").css("display","none")}))}return o}},837:function(t,e,n){"use strict";function i(t,e){for(var n=0;n'),this.parent=e,this.tabs={},this.currentTab=null,this.tabsPanel=$('
'),this.contentsPanel=$('
'),this.$panel.append(this.tabsPanel),this.$panel.append(this.contentsPanel),this.parent&&this.parent.append(this.$panel),this.gid=n}var e,n,s;return e=t,(n=[{key:"$div",get:function(){return this.$panel}},{key:"addTab",value:function(t){if(!this.tabs[t]){var e=this,n=$('"),i=$('');n.on("click",(function(n){n.preventDefault(),e.setTab(t)})),this.tabsPanel.append(n),this.contentsPanel.append(i),this.tabs[t]={tab:n,container:i},1===Object.keys(this.tabs).length&&this.setTab(t)}}},{key:"addContentsToTab",value:function(t,e){this.tabs[t]&&this.tabs[t].container.append(e)}},{key:"setVisible",value:function(t,e){this.tabs,this.tabs[t]&&(this.tabs[t].tab.css("display",e?"":"none"),this.tabs[t].container.css("display",e?"flex":"none"))}},{key:"setEnabled",value:function(t){t?(this.contentsPanel.css("pointer-events","initial"),this.$panel.css("cursor","initial")):(this.contentsPanel.css("pointer-events","none"),this.$panel.css("cursor","not-allowed"))}},{key:"setTab",value:function(t){(0,o.items)(this.tabs,(function(e,n){e==t?(n.tab.addClass("pw-me-btn-active"),n.tab.css("display","")):n.tab.removeClass("pw-me-btn-active"),n.container.css("display",e==t?"flex":"none")}))}},{key:"dispose",value:function(){this.tabsPanel.children().off(),this.tabsPanel.html(""),this.contentsPanel.html(""),this.tabs={}}}])&&i(e.prototype,n),s&&i(e,s),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.PwTabMenu=s},727:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={default_toolbar_buttons:["fraction","square_root","cube_root","root","superscript","subscript","multiplication","division","plus_minus","pi","degree","not_equal","greater_equal","less_equal","greater_than","less_than","angle","parallel_to","perpendicular","triangle","parallelogram","round_brackets","matrix2","matrix3"],default_toolbar_tabs:["General","Símbols","Geometria","Intervals","Funcions"],button_meta:{"Multiplicació":{latex:"\\times",tab:1,icon:"\\times"},"Fracció":{latex:"\\frac{}{}",moveto:"Up",movefor:1,tab:1,icon:"\\frac{\\square}{\\square}"},Exponent:{latex:"\\^{}",moveto:"Up",movefor:1,tab:1,icon:"\\square^2"},"Parèntesis":{latex:"\\left(\\right)",moveto:"Left",movefor:1,tab:1,icon:"\\left(\\square\\right)"},"Arrel quadrada":{latex:"\\sqrt{}",moveto:"Left",movefor:1,tab:1,icon:"\\sqrt{\\square}"},"Arrel cúbica":{latex:"\\sqrt[3]{}",moveto:"Left",movefor:1,tab:1,icon:"\\sqrt[3]{\\square}"},Radical:{latex:"\\sqrt[{}]{}",moveto:"Left",movefor:2,tab:1,icon:"\\sqrt[\\square]{\\square}"},"Matriu 2x2":{latex:"\\begin{pmatrix} & \\\\ & \\end{pmatrix}",tab:1,icon:"M_{2\\times 2}"},"Matriu 3x3":{latex:"\\begin{pmatrix} & & \\\\ & & \\\\ & & \\end{pmatrix}",tab:1,icon:"M_{3\\times 3}"},"Matriu mxn":{latex:function(t){for(var e=[],n=0;n";t.append(f),(0,c.reflowLatex)()}if(t.removeClass("pygen-cloze"),p==a.cfg.QTYPES.C)u=new i.EditorCloze(t,e,n,a.cfg.QTYPES.C,n.initial_latex),t.addClass("pygen-cloze");else if(p==a.cfg.QTYPES.P)u=new o.EditorPanel(t,e,n,a.cfg.QTYPES.P,!0);else if(p==a.cfg.QTYPES.M)n.symbols=n.symbols||[],u=new s.EditorMChoice(t,e,n,a.cfg.QTYPES.M,n.symbols);else if(p==a.cfg.QTYPES.Ms){n.symbols=n.symbols||[];var d=Array.isArray(n.ans);u=new l.EditorMChoiceCheckbox(t,e,n,a.cfg.QTYPES.Ms,d)}else u=p==a.cfg.QTYPES.B?new r.EditorInput(t,e,n,a.cfg.QTYPES.B):new r.EditorInput(t,e,n,a.cfg.QTYPES.S);var h=u.get_qid();return(a.shared[e]||{})[h]=u,u.setStatus(a.cfg.STATUS.UNMODIFIED),n.initial_latex&&p!=a.cfg.QTYPES.C&&(u.latex(n.initial_latex),u.setStatus(a.cfg.STATUS.MODIFIED)),h}},332:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.engineCAS=void 0;var i=n(66),r=n(53),o=n(83);e.engineCAS={compare:function(t){return"sympy"===(t.engine||i.cfg.DEFAULT_ENGINE)?o.sympyCAS.compare(t):r.nerdamerCAS.compare(t)},getAnswer:function(t){return"sympy"===(t.engine||i.cfg.DEFAULT_ENGINE)?o.sympyCAS.getAnswer(t):r.nerdamerCAS.getAnswer(t)}}},53:function(t,e,n){"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var i,r,o=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);s=!0);}catch(t){a=!0,r=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw r}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n1&&e.push((0,s.I18n)("sym_once",t))})),e}}],(n=[{key:"compare",value:function(e){var n=window.nerdamer;return"string"==typeof(e=t.clone(e)).latex&&(e.latex=[e.latex]),new Promise((function(r,o){n.flush(),n.clearVars(),window.nerdamer.getCore().Symbol;var p={x:n("x"),y:n("y"),z:n("z"),t:n("t"),e:n("exp(1)")},f=t.checkRules(e);if(f.length)r({qid:e.qid,msg:f.join(" "),correct:0});else{var d=[];try{if((d=e.latex.map((function(t){return(0,l.parseLatex)(t)}))).filter((function(t){return null==t})).length>0)return r({qid:e.qid,correct:-4,msg:(0,s.I18n)("error_cantprocess")})}catch(t){return console.error(t),r({qid:e.qid,correct:-4,msg:"Error: No es poden processar les respostes donades: "+t})}d.forEach((function(t,e){n.setVar("ua_"+e,t)}));try{(e.symbols||[]).forEach((function(t){if(t.indexOf(":=")>0){var e=t.indexOf(":="),i=t.substring(0,e),r=t.substring(e+2);n.setVar(i,r)}else n.setVar(t,t)}))}catch(t){return console.error(t),void r({qid:e.qid,correct:-2,msg:"Error: no es poden processar els símbols: "+t})}(0,a.items)(p,(function(t,e){e.text()}));var h=[];try{if(e.anse&&(e.ans=t.decrypt(e.anse)),e.anse,e.ans,"string"==typeof e.ans&&(e.ans=[e.ans]),(h=e.ans.map((function(t){return n(t,p)}))).filter((function(t){return null==t})).length>0)return void r({qid:e.qid,correct:-3,msg:"Error: Hi ha respostes 'ans' que no es poden processar"})}catch(t){return console.error(t),void r({qid:e.qid,correct:-3,msg:"Error: No es poden processar les respostes 'ans': "+t})}try{var m=[];if((0,a.zip)(h,d).forEach((function(t){var e=i(t,2),n=e[0],r=e[1];c(n)&&!c(r)?m.push("S'espera un conjunt per resposta. Per exemple \\(\\{\\sqrt{2},\\, \\pi\\}\\)"):u(n)&&!u(r)?m.push("S'espera una matriu per resposta."):!u(n)&&u(r)&&m.push("S'espera una expressió per resposta.");var o=u(n),s=u(r);o&&s&&(o[0]==s[0]&&o[1]==s[1]||m.push("La matriu resposta no té la dimensió correcta."))})),m.length>0)return void r({qid:e.qid,correct:0,msg:m.join(" ")})}catch(t){return console.error(t),void r({qid:e.qid,correct:-4,msg:"Error: S'ha produït un error comprovant els tipus "+t})}var g=0,b="";try{(0,a.zip)(h,d).forEach((function(t){var n=i(t,2),r=n[0],o=n[1];r.text(),o.text();var a=null,l=e.rules||{};if(l.precision)a=Math.abs(r.toDecimal()-o.toDecimal())0){var e=t.indexOf(":="),i=t.substring(0,e),r=t.substring(e+2);n.setVar(i,r)}else n.setVar(t,t)}))}catch(e){return console.error(e),void t({msg:"Error: no es poden processar els símbols: "+e})}if("string"!=typeof e.ans)t({msg:"Vector ans is not supported yet!"});else{var o=n(e.ans,r),a="".concat((0,s.I18n)("expected_ans"),"
\\(").concat(o.latex(),"\\)");t({right_answer:btoa(a)})}}))}}])&&o(e.prototype,n),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.nerdamerCAS=new p},682:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseLatex=void 0;var n=/\\begin\{pmatrix\}(.*?)\\end\{pmatrix\}/gm,i=0;e.parseLatex=function(t){return t=t.replace(n,(function(t,e){return n="matrix("+t.replace("\\begin{pmatrix}","").replace("\\end{pmatrix}","").split("\\\\").map((function(t){return"["+t.split("&").map((function(t){return t.trim()})).join(",")+"]"})).join(",")+")",r="M_"+i,window.nerdamer.setVar(r,n),i++,r;var n,r})),window.nerdamer.convertFromLaTeX(t)}},83:function(t,e,n){"use strict";function i(t,e){for(var n=0;n'),b=$("
"),v=$('
'),y=$('
'),w=new r.LevelIndicator(4),q=h.attr("data-pygen-category")||"general";w.setVisible(s.cfg.HAS_IAPACE&&null!=h.attr("data-pygen-category")),g.append(w.container);var x=1;s.cfg.HAS_IAPACE&&(x=t.iapace.inference(q)),w.setLevel(x);var _=null;if(s.cfg.HAS_IAPACE&&null!=h.attr("data-pygen-goal")){var k=(h.attr("data-pygen-goal")||"").split(";").map((function(t){return t.split(",")}));(_=new a.GoalChecker(q,k)).accomplished()&&g.append($(''+(0,l.I18n)("goal_reached")+" "))}for(var O=(h.attr("data-pygen")||"").split(";"),S=[],T=0,E=O.length;T0){C=j.split("[")[0].trim();for(var D=j.split("[")[1].replace("]","").split(","),I=0,P=D.length;I0){var Q=M.split("="),L=Q[0],R=Q[1];R=R.indexOf("'")>=0?R.replace(/'/g,""):parseFloat(R),A[L]=R}}}else C=j.trim();Object.keys(A).length?S.push([C,A]):S.push([C])}var z=new u.SeqBasic(S);if(S.length>1){var F=(h.attr("data-pygen-order")||"random").trim().toLowerCase();F.startsWith("random")||F.startsWith("weighted")?z=new p.SeqRandomWeighted(S,F):F.startsWith("sequence")&&(z=new f.SeqSequence(S,F))}var B=$('"),N=$('"),U=null,G=null,H=function(){B.prop("disabled",!0),V.prop("disabled",!0),W.prop("disabled",!0),N.css("display","none"),s.cfg.HAS_IAPACE&&(x=t.iapace.inference(q)),w.setLevel(x);var e=z.next();$.ajax({type:"POST",url:s.cfg.PYGEN_URL,data:JSON.stringify({activities:[e],level:x}),dataType:"json",success:function(e){if(e.msg)return U=null,b.html('

ERROR
'+JSON.stringify(e.msg)+"

"),console.error("ERROR: ",e),void V.prop("disabled",!1);b.html("");var n=$("

"+(h.attr("data-pygen-formulation")||"")+" "+e.formulation+"

");b.append(n);var r=atob(e.mq64),a=JSON.parse(r);if(s.cfg.HAS_IAPACE){var u=t.iapace.findCreate(q);u&&(0,d.sum)(u.h)>=30&&N.css("display",null==a.comodi?"none":"")}a.category=q,a.palettes||(a.palettes="all"),a.editor==s.cfg.QTYPES.M&&(a.editor=s.cfg.QTYPES.Ms),U=a,a.initial_latex&&(a.initial_latex=(0,c.processMqIni)(a.initial_latex));var p=[];if(a.symbols)for(var f=a.symbols.split(";"),v=0,y=f.length;v'+(0,l.I18n)("goal_reached")+" ")),"confetti"==h.attr("data-pygen-celebration")&&window.Confetti&&new window.Confetti(h[0]).play())})),s.shared[m],(0,d.reflowLatex)(),B.prop("disabled",!1)},error:function(t){U=null,G=null,b.html('

ERROR
'+JSON.stringify(t)+"

"),V.prop("disabled",!1)}})},W=$('");W.on("click",(function(t){t.preventDefault(),G?G.status!=s.cfg.STATUS.CORRECT&&G.wrong_attemps<1||(B.prop("disabled",!0),W.prop("disabled",!0),G.showAnswer&&G.showAnswer()):console.error("Missing currentEditor here :-(")}));var V=$('");if(V.on("click",(function(t){t.preventDefault();for(var e=Object.keys(s.shared[m]||{}),n=0,i=e.length;npyQuizz by Josep Mulet (c) 2021-22');y.append(X),h.append(y)}H()}))}},66:function(t,e,n){"use strict";function i(t,e){for(var n=0;n form > input[name="id"]');p&&(u=p.value)}var f=document.cookie||"",d=f.indexOf("="),h="";d>0&&(h=f.substr(d+1)),h&&h.indexOf(";")>0&&(h=h.split(";")[0]);var m,g="-1",b=document.querySelector(".homelink > a");if(b){m=b.innerText;var v="?"+(b.href.split("?")[1]||"");g=o(v).id}var y=null!=document.querySelector(".teacherdash.nav-item.nav-link")?1:0,w=(location.href.split("?")[0]||"").replace("/mod/book/view.php","");return{userId:n,userFullname:i,bookId:u,chapterId:l,assignNum:(null===(t=window.iedibAPI)||void 0===t?void 0:t.lliurament.id)||0,assignName:(null===(e=window.iedibAPI)||void 0===e?void 0:e.lliurament.title)||"",courseName:m,courseId:g,isTeacher:y,site:w,moodleSession:h}}(),this.STATUS={UNMODIFIED:100,MODIFIED:200,CORRECT:1,WRONG:0},this.QTYPES={S:"simple",B:"basic",C:"cloze",P:"panel",M:"mchoice",Ms:"mchoice*"},this.HAS_IAPACE=null!=window.IB&&null!=window.IB.iapace,this.LANG="",this.RIGHT_ICON="fa fas fa-check",this.WRONG_ICON="fa fas fa-times",this.MAX_ATTEMPTS=2}var e,n,s;return e=t,(n=[{key:"CAS_URL",get:function(){return(0,r.urlJoin)(this.BACKEND_BASEURL,"compare")}},{key:"PYGEN_URL",get:function(){return(0,r.urlJoin)(this.BACKEND_BASEURL,"generate")}},{key:"GETANSWER_URL",get:function(){return(0,r.urlJoin)(this.BACKEND_BASEURL,"getanswer")}},{key:"MATHQUILL_URL",get:function(){return(0,r.urlJoin)(this.MQWIDGETS_BASEURL,"/lib/mathquill.matrix.min.js")}},{key:"setUserConfig",value:function(t){"nerdamer"==t.engines[0]&&(this.DEFAULT_ENGINE="nerdamer");var e=t.engines.filter((function(t){return t.trim().startsWith("http")}));e.length&&(this.BACKEND_BASEURL=e[0]),t.lang&&(this.LANG=t.lang),t.mqwBaseurl&&(this.MQWIDGETS_BASEURL=t.mqwBaseurl)}},{key:"isNerdamer",value:function(){return null!=window.nerdamer}}])&&i(e.prototype,n),s&&i(e,s),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.cfg=new s;var a={};e.StaticMath=function(t){return a.StaticMath||(a=window.MathQuill.getInterface(2)),a.StaticMath(t)},e.MathField=function(t,e){return a.MathField||(a=window.MathQuill.getInterface(2)),a.MathField(t,e)},e.shared={},e.sharedDlg={},e.sharedContext={}},969:function(t,e,n){"use strict";function i(t,e){for(var n=0;n=parseInt(a[0]),isNaN(a[1]))l+=1;else{var c=0;e.n>0&&(c=e.s/(1*e.n)),s=s&&c>=parseFloat(a[1])}isNaN(a[2])?l+=1:s=s&&t.iapace.inference(this.category)>=parseInt(a[2]),l<3&&(n=s),o+=1}return n&&this.accomplished(!0),n}}])&&i(e.prototype,n),o&&i(e,o),Object.defineProperty(e,"prototype",{writable:!1}),t}();e.GoalChecker=o},713:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createQuillFromDataAttr=e.processMqIni=void 0;var i=n(791),r=n(66);function o(t){return t=(t=(t=t||"").replace(/\?\d*?/g,"\\MathQuillMathField{}")).replace(/M\[(\d+)x(\d+)\]/g,(function(t,e,n){for(var i=parseInt(e),r=parseInt(n),o=[],s=new Array(r),a=0;a MQ ",t," is of type cloze but it has no data-mq-ini!")}else console.error("> MQ has no data-mq-ans/e!")}},216:function(t,e,n){"use strict";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==n)return;var i,r,o=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);s=!0);}catch(t){a=!0,r=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw r}}return o}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);ni.length)for(;n.lpygens!=i.length;)i.push(1);for(;i.length>t.length;)i.pop();var p=(0,c.sum)(i),f=0;return i.forEach((function(t,e){f=(t/=p)+f,i[e]=f})),n.weights=i,n}return e=l,(n=[{key:"next",value:function(){if("random"==this.definition){var t=Math.floor(Math.random()*this.lpygens.length);return this.lpygens[t]}for(var e=Math.random(),n=0,i=this.weights[n];i=0&&d.indexOf("(")>0?(d=d.replace("*","").replace("(","").replace(")",""),l.push(parseFloat(d)),c=!0):l.push(1)}var h="random";c&&(h="weighted: "+l.join(",")),r.terminalGen=new f.SeqRandomWeighted(a,h)}})),n.pointer=0,n}return e=c,(n=[{key:"next",value:function(){if(this.pointer>=this.positions.length&&this.terminalGen)return this.terminalGen.next();this.pointer=this.pointer%this.positions.length;var t=this.positions[this.pointer];return this.pointer+=1,this.lpygens[t]}}])&&r(e.prototype,n),i&&r(e,i),Object.defineProperty(e,"prototype",{writable:!1}),c}(p.SeqBasic);e.SeqSequence=d},830:function(t,e){"use strict";function n(t,e,n,i,r,o){return a(function(t,e){return t<>>32-e}(a(a(e,t),a(i,o)),r),n)}function i(t,e,i,r,o,s,a){return n(e&i|~e&r,t,e,o,s,a)}function r(t,e,i,r,o,s,a){return n(e&r|i&~r,t,e,o,s,a)}function o(t,e,i,r,o,s,a){return n(e^i^r,t,e,o,s,a)}function s(t,e,i,r,o,s,a){return n(i^(e|~r),t,e,o,s,a)}function a(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}Object.defineProperty(e,"__esModule",{value:!0}),e.urlJoin=e.isNumeric=e.createLinkSheet=e.createStyleSheet=e.insertScript=e.MD5=e.copyPropsFromTo=e.hasValue=e.zip=e.items=e.sum=e.sanitizeLaTeX=e.reflowLatex=void 0,e.reflowLatex=function(){window.MathJax&&(window.MathJax.typesetPromise&&window.MathJax.typesetPromise(),window.MathJax.Hub&&window.MathJax.Hub.Queue&&window.MathJax.Hub.Queue(["Typeset",MathJax.Hub]))},e.sanitizeLaTeX=function(t){return t.replace(/·/g,"*")},e.sum=function(t){for(var e=0,n=0,i=t.length;n>>4&15)+n.charAt(15&e);return i}(function(t){for(var e="",n=0;n<32*t.length;n+=8)e+=String.fromCharCode(t[n>>5]>>>n%32&255);return e}(function(t,e){t[e>>5]|=128<>>9<<4)]=e;for(var n=1732584193,l=-271733879,c=-1732584194,u=271733878,p=0;p>2),n=0;n>5]|=(255&t.charCodeAt(n/8))<i{color:#1e90ff}.pw-mq-group{margin-bottom:60px;border-left:1px solid #1e90ff;padding-left:20px}.pw-me-dlg{display:flex;flex-direction:column;position:fixed;margin:auto;top:0;right:0;bottom:0;left:0;border:2px solid #d3d3d3;z-index:100;background:#fff;box-shadow:4px 4px 4px #888;border-radius:5px}.pw-me-dlg-header{background:#f5f5f5;width:100%;height:23px;border-bottom:2px solid #d3d3d3}.pw-me-dlg-headertitle{color:#000;margin-left:8px}.pw-me-dlg-controls{background:#fff;display:flex;flex-direction:row;justify-content:space-between;margin:5px}.pw-me-btn-openeditor{background:#f5f5f5;vertical-align:top}.pw-me-btn-openeditor:hover{background:#fff}.pw-me-btn-openeditor>i.fas{color:darkred}.pw-me-tabmenu{width:100%}.pw-me-tabspanel{width:100%;height:25px;background:#d3d3d3}.pw-me-tabcontents{width:100%;background:#e3e3e3}.pw-me-btn-tab{background:#d3d3d3;padding:0 5px}.pw-me-btn-active{background:#fff}.pw-me-tabcontainer{width:100%;display:none;flex-direction:row;flex-wrap:wrap}.pw-me-submitgroup{margin:auto}.pw-me-btn-dlgclose{color:gray;width:23px;height:23px;float:right;padding:0}.pw-me-editorpanel{display:flex;flex-direction:column;background:#fff;flex-grow:1;border:1px solid #d3d3d3}.pw-me-editorpanel-mathinput{width:97%;margin:5px auto;padding:15px;background:#fff;flex-grow:1}.pw-me-btn-toolbar{height:35px;overflow:hidden;font-weight:bold}.pw-me-btn-toolbar>span{cursor:pointer;font-size:90%}.pw-me-btn-toolbar:hover{background:#fff}.pw-me-editorinput{display:inline-flex;margin:4px;padding:4px;background:#d5edff;border-radius:5px}.pw-me-editorinput>div>span{background:#fff;min-width:100px}.pw-quill-group{margin:5px 5px 80px 5px;border-left:1px solid gray;padding-left:10px}.pw-me-check{align-self:center}.pw-me-editorinput.pw-me-wrong,.pw-me-mchoice.pw-me-wrong{background:#fddcdc}.pw-me-editorinput.pw-me-wrong>.pw-me-check>span,.pw-me-mchoice.pw-me-wrong>.pw-me-check>span{color:#fff;margin:5px;background:darkred;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px 6px}.pw-me-editorinput.pw-me-right,.pw-me-mchoice.pw-me-right{background:#f0fddc}.pw-me-editorinput.pw-me-right>.pw-me-check>span,.pw-me-mchoice.pw-me-right>.pw-me-check>span{color:#fff;margin:5px;background:#358a24;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-editorinput.pw-me-alert,.pw-me-mchoice.pw-me-alert{background:#f2dcfd}.pw-me-editorinput.pw-me-alert>.pw-me-check>span,.pw-me-mchoice.pw-me-alert>.pw-me-check>span{color:#fff;margin:5px;background:#681733;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-btn-showanswer>i{color:darkred}.pw-answer-holder{margin:15px;overflow:auto;height:150px}.mq-editable-field{background:#fff}.pw-me-btn-dropdownmenu{display:none;position:absolute;top:65px;left:140px;padding:5px;border:1px solid gray;z-index:1000;background:#fff}.pw-me-mchoice{display:inline-flex;vertical-align:middle}.pw-square-root{background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;background-image:url("https://piworld.es/iedib/mqwidgets2/pw-square-root.png");display:inline-block;width:16px;height:16px}@font-face{font-family:Symbola;src:url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.eot);src:local("Symbola Regular"),local("Symbola"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff2) format("woff2"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff) format("woff"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.ttf) format("truetype"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.svg#Symbola) format("svg")}.mq-editable-field{display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor{border-left:1px solid #000;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor.mq-blink{visibility:hidden}.mq-editable-field,.mq-math-mode .mq-editable-field{border:1px solid gray}.mq-editable-field.mq-focused,.mq-math-mode .mq-editable-field.mq-focused{box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;border-color:#709ac0;border-radius:1px}.mq-math-mode .mq-editable-field{margin:1px}.mq-editable-field .mq-latex-command-input{color:inherit;font-family:"Courier New",monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.mq-editable-field .mq-latex-command-input.mq-empty{background:rgba(0,0,0,0)}.mq-editable-field .mq-latex-command-input.mq-hasCursor{border-color:ActiveBorder}.mq-editable-field.mq-empty:after,.mq-editable-field.mq-text-mode:after,.mq-math-mode .mq-empty:after{visibility:hidden;content:"c"}.mq-editable-field .mq-cursor:only-child:after,.mq-editable-field .mq-textarea+.mq-cursor:last-child:after{visibility:hidden;content:"c"}.mq-editable-field .mq-text-mode .mq-cursor:only-child:after{content:""}.mq-editable-field.mq-text-mode{overflow-x:auto;overflow-y:hidden}.mq-root-block,.mq-math-mode .mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.mq-math-mode{font-variant:normal;font-weight:normal;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-non-leaf,.mq-math-mode .mq-scaled{display:-moz-inline-box;display:inline-block}.mq-math-mode var,.mq-math-mode .mq-text-mode,.mq-math-mode .mq-nonSymbola{font-family:"Times New Roman",Symbola,serif;line-height:.9}.mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.mq-math-mode .mq-empty{background:#ccc}.mq-math-mode .mq-empty.mq-root-block{background:rgba(0,0,0,0)}.mq-math-mode.mq-empty{background:rgba(0,0,0,0)}.mq-math-mode .mq-text-mode{display:inline-block;white-space:pre}.mq-math-mode .mq-text-mode.mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -0.1em;min-width:1ex}.mq-math-mode .mq-font{font:1em "Times New Roman",Symbola,serif}.mq-math-mode .mq-font *{font-family:inherit;font-style:inherit}.mq-math-mode b,.mq-math-mode b.mq-font{font-weight:bolder}.mq-math-mode var,.mq-math-mode i,.mq-math-mode i.mq-font{font-style:italic}.mq-math-mode var.mq-f{margin-right:.2em;margin-left:.1em}.mq-math-mode .mq-roman var.mq-f{margin:0}.mq-math-mode big{font-size:200%}.mq-math-mode .mq-int>big{display:inline-block;transform:scaleX(0.7);vertical-align:-0.16em}.mq-math-mode .mq-int>.mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.mq-math-mode .mq-int>.mq-supsub>.mq-sup>.mq-sup-inner{vertical-align:1.3em}.mq-math-mode .mq-int>.mq-supsub>.mq-sub{margin-left:-0.35em}.mq-math-mode .mq-roman{font-style:normal}.mq-math-mode .mq-sans-serif{font-family:sans-serif,Symbola,serif}.mq-math-mode .mq-monospace{font-family:monospace,Symbola,serif}.mq-math-mode .mq-overline{border-top:1px solid #000;margin-top:1px}.mq-math-mode .mq-underline{border-bottom:1px solid #000;margin-bottom:1px}.mq-math-mode .mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-supsub{text-align:left;font-size:90%;vertical-align:-0.5em}.mq-math-mode .mq-supsub.mq-sup-only{vertical-align:.5em}.mq-math-mode .mq-supsub.mq-sup-only .mq-sup{display:inline-block;vertical-align:text-bottom}.mq-math-mode .mq-supsub .mq-sup{display:block}.mq-math-mode .mq-supsub .mq-sub{display:block;float:left}.mq-math-mode .mq-supsub .mq-binary-operator{padding:0 .1em}.mq-math-mode .mq-supsub .mq-fraction{font-size:70%}.mq-math-mode sup.mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-0.6em;margin-left:.2em;min-width:.5em}.mq-math-mode .mq-paren{padding:0 .1em;vertical-align:top;transform-origin:center .06em}.mq-math-mode .mq-paren.mq-ghost{color:silver}.mq-math-mode .mq-paren+span{margin-top:.1em;margin-bottom:.1em}.mq-math-mode .mq-array{vertical-align:middle;text-align:center}.mq-math-mode .mq-array>span{display:block}.mq-math-mode .mq-operator-name{font-family:Symbola,"Times New Roman",serif;line-height:.9;font-style:normal}.mq-math-mode var.mq-operator-name.mq-first{padding-left:.2em}.mq-math-mode var.mq-operator-name.mq-last,.mq-math-mode .mq-supsub.mq-after-operator-name{padding-right:.2em}.mq-math-mode .mq-fraction{font-size:90%;text-align:center;vertical-align:-0.4em;padding:0 .2em}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link{display:-moz-groupbox}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link,.mq-math-mode x:default{display:inline-block}.mq-math-mode .mq-numerator,.mq-math-mode .mq-denominator,.mq-math-mode .mq-dot-recurring{display:block}.mq-math-mode .mq-numerator{padding:0 .1em}.mq-math-mode .mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.mq-math-mode .mq-dot-recurring{text-align:center;height:.3em}.mq-math-mode .mq-sqrt-prefix{padding-top:0;position:relative;top:.1em;vertical-align:top;transform-origin:top}.mq-math-mode .mq-sqrt-stem{border-top:1px solid;margin-top:1px;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.mq-math-mode .mq-diacritic-above{display:block;text-align:center;line-height:.4em}.mq-math-mode .mq-diacritic-stem{display:block;text-align:center}.mq-math-mode .mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-0.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.mq-math-mode .mq-hat-stem{display:block}.mq-math-mode .mq-large-operator{vertical-align:-0.2em;padding:.2em;text-align:center}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator big,.mq-math-mode .mq-large-operator .mq-to{display:block}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator .mq-to{font-size:80%}.mq-math-mode .mq-large-operator .mq-from{float:right;width:100%}.mq-math-mode,.mq-math-mode .mq-editable-field{cursor:text;font-family:Symbola,"Times New Roman",serif}.mq-math-mode .mq-overarc{border-top:1px solid #000;border-top-right-radius:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.mq-math-mode .mq-overarrow{min-width:.5em;border-top:1px solid #000;margin-top:1px;padding-top:.2em;text-align:center}.mq-math-mode .mq-overarrow:before{display:block;position:relative;top:-0.34em;font-size:.5em;line-height:0em;content:"➤";text-align:right}.mq-math-mode .mq-overarrow.mq-arrow-left:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both{vertical-align:text-bottom}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty{min-height:1.23em}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after{top:-0.34em}.mq-math-mode .mq-overarrow.mq-arrow-both:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both:after{display:block;position:relative;top:-2.3em;font-size:.5em;line-height:0em;content:"➤";visibility:visible;text-align:right}.mq-math-mode .mq-matrix{vertical-align:middle;margin-left:.1em;margin-right:.1em}.mq-math-mode .mq-matrix table{width:auto;border-bottom:none;border-spacing:3px;border-collapse:separate}.mq-math-mode .mq-matrix table.mq-rows-1{vertical-align:middle;margin-bottom:1px}.mq-math-mode .mq-matrix td{border:none;width:auto;padding:.1em .3em;vertical-align:baseline}.mq-math-mode .mq-selection,.mq-editable-field .mq-selection,.mq-math-mode .mq-selection .mq-non-leaf,.mq-editable-field .mq-selection .mq-non-leaf,.mq-math-mode .mq-selection .mq-scaled,.mq-editable-field .mq-selection .mq-scaled{background:#b4d5fe !important;background:Highlight !important;color:HighlightText;border-color:HighlightText}.mq-math-mode .mq-selection .mq-matrixed,.mq-editable-field .mq-selection .mq-matrixed{background:#39f !important}.mq-math-mode .mq-selection .mq-matrixed-container,.mq-editable-field .mq-selection .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#3399FF") !important}.mq-math-mode .mq-selection.mq-blur,.mq-editable-field .mq-selection.mq-blur,.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,.mq-math-mode .mq-selection.mq-blur .mq-scaled,.mq-editable-field .mq-selection.mq-blur .mq-scaled,.mq-math-mode .mq-selection.mq-blur .mq-matrixed,.mq-editable-field .mq-selection.mq-blur .mq-matrixed{background:#d4d4d4 !important;color:#000;border-color:#000}.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#D4D4D4") !important}.mq-editable-field .mq-textarea,.mq-math-mode .mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.mq-editable-field .mq-textarea *,.mq-math-mode .mq-textarea *,.mq-editable-field .mq-selectable,.mq-math-mode .mq-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.mq-math-mode .mq-matrixed{background:#fff;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="white");margin-top:-0.1em}table.mq-non-leaf td[mathquill-block-id]{padding:4px 8px;text-align:center}.mq-math-mode sup.mq-nthroot{font-size:75%;vertical-align:.4em}.mq-root-block{padding:5px}.mq-root-block,.mq-math-mode .mq-root-block{padding:5px}.mq-math-mode .mq-supsub.mq-sup-only>.mq-sup{font-size:90%}.mq-nthroot.mq-non-leaf{padding:8px 0 !important}div[data-pygen] span.mq-editable-field{min-width:250px}div[data-pygen] .pygen-cloze span.mq-editable-field{min-width:initial}div[data-pygen] .pw-me-editorinput{margin-bottom:40px}div.pw-me-tabmenu .mq-supsub.mq-non-leaf.mq-sup-only{vertical-align:super !important}',i.id="mqwidgets_css",document.getElementsByTagName("head")[0].appendChild(i),function(){function t(){}function e(t){var e=t.length-1;return function(){var n=g.call(arguments,0,e),i=g.call(arguments,e);return t.apply(this,n.concat([i]))}}function n(t){return e((function(e,n){return"function"!=typeof e&&(e=b(e)),t.call(this,(function(t){return e.apply(t,[t].concat(n))}))}))}function i(t){var e=g.call(arguments,1);return function(){return t.apply(this,e)}}function r(t,e){if(!e)throw new Error("prayer failed: "+t)}function o(t){r("a direction was passed",t===y||t===w)}function s(t,e,n){r("a parent is always present",t),r("leftward is properly set up",e?e[w]===n&&e.parent===t:t.ends[y]===n),r("rightward is properly set up",n?n[y]===e&&n.parent===t:t.ends[w]===e)}function a(){window.console}function l(t){return a(),Pt(t)}function c(e){function n(t){var e,n;return t&&t.nodeType&&(n=(e=q(t).children(".mq-root-block").attr(Rt))&&_.byId[e].controller)?r[n.KIND_OF_MQ](n):null}function i(t,e){var n,i,o;for(n in e&&e.handlers&&(e.handlers={fns:e.handlers,APIClasses:r}),e)e.hasOwnProperty(n)&&(i=e[n],o=D[n],t[n]=o?o(i):i)}var r,o,s;if(!(M<=e&&e<=Q))throw"Only interface versions between "+M+" and "+Q+" supported. You specified: "+e;for(s in r={},n.L=y,n.R=w,n.saneKeyboardEvents=R,n.config=function(t){return i(A.p,t),this},n.registerEmbed=function(t,e){if(!/^[a-z][a-z0-9]*$/i.test(t))throw"Embed name must start with letter and be only letters and digits";P[t]=e},o=r.AbstractMathQuill=v(I,(function(t){t.init=function(t){this.__controller=t,this.__options=t.options,this.id=t.id,this.data=t.data},t.__mathquillify=function(t){var e,n=this.__controller,i=n.root,r=n.container;n.createTextarea(),e=r.addClass(t).contents().detach(),i.jQ=q('').attr(Rt,i.id).appendTo(r),this.latex(e.text()),this.revert=function(){return r.empty().unbind(".mathquill").removeClass("mq-editable-field mq-math-mode mq-text-mode").append(e)}},t.config=function(t){return i(this.__options,t),this},t.el=function(){return this.__controller.container[0]},t.text=function(){return this.__controller.exportText()},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexMath(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()},t.html=function(){return this.__controller.root.jQ.html().replace(/ mathquill-(?:command|block)-id="?\d+"?/g,"").replace(/.?<\/span>/i,"").replace(/ mq-hasCursor|mq-hasCursor ?/,"").replace(/ class=(""|(?= |>))/g,"")},t.reflow=function(){return this.__controller.root.postOrder("reflow"),this}})),n.prototype=o.prototype,r.EditableField=v(o,(function(e,n){e.__mathquillify=function(){return n.__mathquillify.apply(this,arguments),this.__controller.editable=!0,this.__controller.delegateMouseEvents(),this.__controller.editablesTextareaEvents(),this},e.focus=function(){return this.__controller.textarea.focus(),this},e.blur=function(){return this.__controller.textarea.blur(),this},e.write=function(t){return this.__controller.writeLatex(t),this.__controller.scrollHoriz(),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this},e.empty=function(){var t=this.__controller.root,e=this.__controller.cursor;return t.eachChild("postOrder","dispose"),t.ends[y]=t.ends[w]=0,t.jQ.empty(),delete e.selection,e.insAtRightEnd(t),this},e.cmd=function(t){var e,n=this.__controller.notify(),i=n.cursor;return/^\\[a-z]+$/i.test(t)?(t=t.slice(1),(e=O[t]||mt[t])&&(t=e(t),i.selection&&t.replaces(i.replaceSelection()),t.createLeftOf(i.show()),this.__controller.scrollHoriz())):i.parent.write(i,t),n.blurred&&i.hide().parent.blur(),this},e.select=function(){var t=this.__controller;for(t.notify("move").cursor.insAtRightEnd(t.root);t.cursor[y];)t.selectLeft();return this},e.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.moveToDirEnd=function(t){return this.__controller.notify("move").cursor.insAtDirEnd(t,this.__controller.root),this},e.moveToLeftEnd=function(){return this.moveToDirEnd(y)},e.moveToRightEnd=function(){return this.moveToDirEnd(w)},e.keystroke=function(e){var n;for(e=e.replace(/^\s+|\s+$/g,"").split(/\s+/),n=0;n&0"})}function f(t){var e=this.parent,n=t;do{if(n[w])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function d(t,e){t.jQadd=function(){e.jQadd.apply(this,arguments),this.delimjQs=this.jQ.children(":first").add(this.jQ.children(":last")),this.contentjQ=this.jQ.children(":eq(1)")},t.reflow=function(){var t=this.contentjQ.outerHeight()/parseFloat(this.contentjQ.css("fontSize"));K(this.delimjQs,zt(1+.2*(t-1),1.2),1.2*t)}}function h(t,e){e=e||t;var n=ft[t],r=ft[e];S[t]=i(pt,y,t,n,e,r),S[n]=i(pt,w,t,n,e,r)}var m,g,b,v,y,w,q,x,_,k,O,S,T,E,j,C,A,D,I,P,M,Q,L,R,z,F,B,$,N,U,G,H,W,V,X,Y,J,K,Z,tt,et,nt,it,rt,ot,st,at,lt,ct,ut,pt,ft,dt,ht,mt,gt,bt,vt,yt,wt,qt,xt,_t,kt,Ot,St,Tt,Et,jt,Ct,At,Dt,It,Pt,Mt,Qt=window.jQuery,Lt="mathquill-command-id",Rt="mathquill-block-id",zt=Math.min,Ft=Math.max;if(!Qt)throw"MathQuill requires jQuery 1.5.2+ to be loaded first";for(nt in g=[].slice,b=e((function(t,n){return e((function(e,i){if(t in e)return e[t].apply(e,n.concat(i))}))})),v=function(t,e,n){function i(t){return"object"==typeof t}function r(t){return"function"==typeof t}function o(){}return function t(n,s){function a(){var t=new l;return r(t.init)&&t.init.apply(t,arguments),t}function l(){}var c,u,p;return void 0===s&&(s=n,n=Object),a.Bare=l,c=o.prototype=n.prototype,(u=l.prototype=a.prototype=a.p=new o).constructor=a,a.extend=function(e){return t(a,e)},(a.open=function(t){if(p={},r(t)?p=t.call(a,u,c,a,n):i(t)&&(p=t),i(p))for(var o in p)e.call(p,o)&&(u[o]=p[o]);return r(u.init)||(u.init=n),a})(s)}}(0,{}.hasOwnProperty),y=-1,w=1,q=v(Qt,(function(t){t.insDirOf=function(t,e){return t===y?this.insertBefore(e.first()):this.insertAfter(e.last())},t.insAtDirEnd=function(t,e){return t===y?this.prependTo(e):this.appendTo(e)}})),x=v((function(t){t.parent=0,t[y]=0,t[w]=0,t.init=function(t,e,n){this.parent=t,this[y]=e,this[w]=n},this.copy=function(t){return x(t.parent,t[y],t[w])}})),_=v((function(t){t[y]=0,t[w]=0,t.parent=0;var e=0;this.byId={},t.init=function(){this.id=e+=1,_.byId[this.id]=this,this.ends={},this.ends[y]=0,this.ends[w]=0},t.dispose=function(){delete _.byId[this.id]},t.toString=function(){return"{{ MathQuill Node #"+this.id+" }}"},t.jQ=q(),t.jQadd=function(t){return this.jQ=this.jQ.add(t)},t.jQize=function(t){function e(t){var n,i;for(t.getAttribute&&(n=t.getAttribute("mathquill-command-id"),i=t.getAttribute("mathquill-block-id"),n&&_.byId[n].jQadd(t),i&&_.byId[i].jQadd(t)),t=t.firstChild;t;t=t.nextSibling)e(t)}var n;for(t=q(t||this.html()),n=0;n');this.blink=function(){n.toggleClass("mq-blink")},this.upDownCache={}},t.show=function(){return this.jQ=this._jQ.removeClass("mq-blink"),"intervalId"in this?clearInterval(this.intervalId):(this[w]?this.selection&&this.selection.ends[y][y]===this[y]?this.jQ.insertBefore(this.selection.jQ):this.jQ.insertBefore(this[w].jQ.first()):this.jQ.appendTo(this.parent.jQ),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},t.hide=function(){return"intervalId"in this&&clearInterval(this.intervalId),delete this.intervalId,this.jQ.detach(),this.jQ=q(),this},t.withDirInsertAt=function(t,e,n,i){var r=this.parent;this.parent=e,this[t]=n,this[-t]=i,r!==e&&r.blur&&r.blur(this)},t.insDirOf=function(t,e){return o(t),this.jQ.insDirOf(t,e.jQ),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.jQ.addClass("mq-hasCursor"),this},t.insLeftOf=function(t){return this.insDirOf(y,t)},t.insRightOf=function(t){return this.insDirOf(w,t)},t.insAtDirEnd=function(t,e){return o(t),this.jQ.insAtDirEnd(t,e.jQ),this.withDirInsertAt(t,e,0,e.ends[t]),e.focus(),this},t.insAtLeftEnd=function(t){return this.insAtDirEnd(y,t)},t.insAtRightEnd=function(t){return this.insAtDirEnd(w,t)},t.jumpUpDown=function(t,e){var n,i,r=this;r.upDownCache[t.id]=x.copy(r),(n=r.upDownCache[e.id])?n[w]?r.insLeftOf(n[w]):r.insAtRightEnd(n.parent):(i=r.offset().left,e.seek(i,r))},t.offset=function(){var t=this.jQ.removeClass("mq-cursor").offset();return this.jQ.addClass("mq-cursor"),t},t.unwrapGramp=function(){var t=this.parent.parent,e=t.parent,n=t[w],i=t[y];if(t.disown().eachChild((function(r){r.isEmpty()||(r.children().adopt(e,i,n).each((function(e){e.jQ.insertBefore(t.jQ.first())})),i=r.ends[w])})),!this[w])if(this[y])this[w]=this[y][w];else for(;!this[w];){if(this.parent=this.parent[w],!this.parent){this[w]=t[w],this.parent=e;break}this[w]=this.parent.ends[y]}this[w]?this.insLeftOf(this[w]):this.insAtRightEnd(e),t.jQ.remove(),t[y].siblingDeleted&&t[y].siblingDeleted(this.options,w),t[w].siblingDeleted&&t[w].siblingDeleted(this.options,y)},t.startSelection=function(){var t,e=this.anticursor=x.copy(this),n=e.ancestors={};for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},t.endSelection=function(){delete this.anticursor},t.select=function(){var t,e,n,i,o,s,a,l=this.anticursor;if(this[y]===l[y]&&this.parent===l.parent)return!1;for(t=this;t.parent;t=t.parent)if(t.parent.id in l.ancestors){e=t.parent;break}if(r("cursor and anticursor in the same tree",e),n=l.ancestors[e.id],s=w,t[y]!==n)for(a=t;a;a=a[w])if(a[w]===n[w]){s=y,i=t,o=n;break}return s===w&&(i=n,o=t),i instanceof x&&(i=i[w]),o instanceof x&&(o=o[y]),this.hide().selection=e.selectChildren(i,o),this.insDirOf(s,this.selection.ends[s]),this.selectionChanged(),!0},t.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},t.deleteSelection=function(){this.selection&&(this[y]=this.selection.ends[y][y],this[w]=this.selection.ends[w][w],this.selection.remove(),this.selectionChanged(),delete this.selection)},t.replaceSelection=function(){var t=this.selection;return t&&(this[y]=t.ends[y][y],this[w]=t.ends[w][w],delete this.selection),t}})),E=v(k,(function(t,e){t.init=function(){e.init.apply(this,arguments),this.jQ=this.jQ.wrapAll('').parent()},t.adopt=function(){return this.jQ.replaceWith(this.jQ=this.jQ.children()),e.adopt.apply(this,arguments)},t.clear=function(){return this.jQ.replaceWith(this.jQ[0].childNodes),this},t.join=function(t){return this.fold("",(function(e,n){return e+n[t]()}))}})),j=v((function(t){t.init=function(t,e,n){this.id=t.id,this.data={},this.root=t,this.container=e,this.options=n,t.controller=this,this.cursor=t.cursor=T(t,n)},t.handle=function(t,e){var n,i=this.options.handlers;i&&i.fns[t]&&(n=i.APIClasses[this.KIND_OF_MQ](this),e===y||e===w?i.fns[t](e,n):i.fns[t](n))};var e=[];this.onNotify=function(t){e.push(t)},t.notify=function(){for(var t=0;t")[0]},t.createTextarea=function(){var t,e=this.textareaSpan=q(''),n=this.options.substituteTextarea();if(!n.nodeType)throw"substituteTextarea() must return a DOM element, got "+n;n=this.textarea=q(n).appendTo(e),(t=this).cursor.selectionChanged=function(){t.selectionChanged()}},t.selectionChanged=function(){var t=this;Z(t.container[0]),t.textareaSelectionTimeout===m&&(t.textareaSelectionTimeout=setTimeout((function(){t.setTextareaSelection()})))},t.setTextareaSelection=function(){this.textareaSelectionTimeout=m;var t="";this.cursor.selection&&(t=this.cursor.selection.join("latex"),this.options.statelessClipboard&&(t="$"+t+"$")),this.selectFn(t)},t.staticMathTextareaEvents=function(){function t(){r.detach(),e.blurred=!0}var e=this,n=(e.root,e.cursor),i=e.textarea,r=e.textareaSpan;this.container.prepend(Qt('').text("$"+e.exportLatex()+"$")),e.blurred=!0,i.bind("cut paste",!1).bind("copy",(function(){e.setTextareaSelection()})).focus((function(){e.blurred=!1})).blur((function(){n.selection&&n.selection.clear(),setTimeout(t)})),e.selectFn=function(t){i.val(t),t&&i.select()}},A.p.substituteKeyboardEvents=R,t.editablesTextareaEvents=function(){var t=this.textarea,e=this.textareaSpan,n=this.options.substituteKeyboardEvents(t,this);this.selectFn=function(t){n.select(t)},this.container.prepend(e),this.focusBlurEvents()},t.typedText=function(t){if("\n"===t)return this.handle("enter");var e=this.notify().cursor;e.parent.write(e,t),this.scrollHoriz()},t.cut=function(){var t=this,e=t.cursor;e.selection&&setTimeout((function(){t.notify("edit"),e.parent.bubble("reflow")}))},t.copy=function(){this.setTextareaSelection()},t.paste=function(t){this.options.statelessClipboard&&(t="$"===t.slice(0,1)&&"$"===t.slice(-1)?t.slice(1,-1):"\\text{"+t+"}"),this.writeLatex(t).cursor.show()}})),j.open((function(e){A.p.ignoreNextMousedown=t,e.delegateMouseEvents=function(){var e=this.root.jQ;this.container.bind("mousedown.mathquill",(function(n){function i(t){o=q(t.target)}function r(t){l.anticursor||l.startSelection(),a.seek(o,t.pageX,t.pageY).cursor.select(),o=m}var o,s=q(n.target).closest(".mq-root-block"),a=_.byId[s.attr(Rt)||e.attr(Rt)].controller,l=a.cursor,c=l.blink,u=a.textareaSpan,p=a.textarea;n.preventDefault(),n.target.unselectable=!0,l.options.ignoreNextMousedown(n)||(l.options.ignoreNextMousedown=t,a.blurred&&(a.editable||s.prepend(u),p.focus()),l.blink=t,a.seek(q(n.target),n.pageX,n.pageY).cursor.startSelection(),s.mousemove(i),q(n.target.ownerDocument).mousemove(r).mouseup((function t(e){l.blink=c,l.selection||(a.editable?l.show():u.detach()),s.unbind("mousemove",i),q(e.target.ownerDocument).unbind("mousemove",r).unbind("mouseup",t)})))}))}})),j.open((function(t){t.seek=function(t,e,n){var i,o,s,a=this.notify("select").cursor;return t&&((i=t.attr(Rt)||t.attr(Lt))||(i=(o=t.parent()).attr(Rt)||o.attr(Lt))),r("nodeId is the id of some Node that exists",s=i?_.byId[i]:this.root),a.clearSelection().show(),s.seek(e,a),this.scrollHoriz(),this}})),j.open((function(t){t.scrollHoriz=function(){var t,e,n,i,r,o=this.cursor,s=o.selection,a=this.root.jQ[0].getBoundingClientRect();if(s)if(i=(n=s.jQ[0].getBoundingClientRect()).left-(a.left+20),r=n.right-(a.right-20),s.ends[y]===o[w])if(i<0)e=i;else{if(!(r>0))return;e=n.left-r0)e=r;else{if(!(i<0))return;e=n.right-i>a.right-20?r:i}else if((t=o.jQ[0].getBoundingClientRect().left)>a.right-20)e=t-(a.right-20);else{if(!(to[w]?e.insRightOf(r):(i=o[y],void r.eachChild((function(s){var a=n(s);return ta[w]?void(s[w]?i=a[w]:o[w]-t"===e.slice(-2))a[t]=e.slice(0,-2)+s+"/>";else if("<"===e.charAt(0)){r("not an unmatched top-level close tag","/"!==e.charAt(1)),a[t]=e.slice(0,-1)+s+">",n=1;do{r("no missing close tags",e=a[t+=1]),""!==e.slice(-2)&&(n+=1)}while(n>0)}return a.join("").replace(/>&(\d+)/g,(function(t,e){return" mathquill-block-id="+o[e].id+">"+o[e].join("html")}))},t.latex=function(){return this.foldChildren(this.ctrlSeq,(function(t,e){return t+"{"+(e.latex()||" ")+"}"}))},t.textTemplate=[""],t.text=function(){var t=this,e=0;return t.foldChildren(t.textTemplate[e],(function(n,i){e+=1;var r=i.text();return n&&"("===t.textTemplate[e]&&"("===r[0]&&")"===r.slice(-1)?n+r.slice(1,-1)+t.textTemplate[e]:n+i.text()+(t.textTemplate[e]||"")}))}})),N=v($,(function(e,n){e.init=function(t,e,i){i||(i=t&&t.length>1?t.slice(1):t),n.init.call(this,t,e,[i])},e.parser=function(){return z.succeed(this)},e.numBlocks=function(){return 0},e.replaces=function(t){t.remove()},e.createBlocks=t,e.moveTowards=function(t,e){e.jQ.insDirOf(t,this.jQ),e[-t]=this,e[t]=this[t]},e.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.seek=function(t,e){t-this.jQ.offset().left"+(n||t)+"")}})),G=v(N,(function(t,e){t.init=function(t,n,i){e.init.call(this,t,''+n+"",i)}})),H=v(B,(function(t,e){t.join=function(t){return this.foldChildren("",(function(e,n){return e+n[t]()}))},t.html=function(){return this.join("html")},t.latex=function(){return this.join("latex")},t.text=function(){return this.ends[y]===this.ends[w]&&0!==this.ends[y]?this.ends[y].text():this.join("text")},t.keystroke=function(t,n,i){return!i.options.spaceBehavesLikeTab||"Spacebar"!==t&&"Shift-Spacebar"!==t?e.keystroke.apply(this,arguments):(n.preventDefault(),void i.escapeDir("Shift-Spacebar"===t?y:w,t,n))},t.moveOutOf=function(t,e,n){n&&this.parent[n+"Into"]||!this[t]?e.insDirOf(t,this.parent):e.insAtDirEnd(-t,this[t])},t.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},t.deleteOutOf=function(t,e){e.unwrapGramp()},t.seek=function(t,e){var n=this.ends[w];if(!n||n.jQ.offset().left+n.jQ.outerWidth()0&&this.__controller.root.postOrder("registerInnerField",this.innerFields=[],t.MathField),e}}))},W=v(H,u),C.MathField=function(e){return v(e.EditableField,(function(e,n){this.RootBlock=W,e.__mathquillify=function(e,i){return this.config(e),i>1&&(this.__controller.root.reflow=t),n.__mathquillify.call(this,"mq-editable-field mq-math-mode"),delete this.__controller.root.reflow,this}}))},V=v(_,(function(t,e){function n(t){var e,n;if(t.jQ[0].normalize(),e=t.jQ[0].firstChild)return r("only node in TextBlock span is Text node",3===e.nodeType),(n=X(e.data)).jQadd(e),t.children().disown(),n.adopt(t,0,0)}t.ctrlSeq="\\text",t.replaces=function(t){t instanceof k?this.replacedText=t.remove().jQ.text():"string"==typeof t&&(this.replacedText=t)},t.jQadd=function(t){e.jQadd.call(this,t),this.ends[y]&&this.ends[y].jQadd(this.jQ[0].firstChild)},t.createLeftOf=function(t){var n,i=this;if(e.createLeftOf.call(this,t),i[w].siblingCreated&&i[w].siblingCreated(t.options,y),i[y].siblingCreated&&i[y].siblingCreated(t.options,w),i.bubble("reflow"),t.insAtRightEnd(i),i.replacedText)for(n=0;n&0',t.createBlocks=function(){e.createBlocks.call(this),this.ends[y].cursor=this.cursor,this.ends[y].write=function(t,e){"$"!==e?H.prototype.write.call(this,t,e):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(dir,t),U("\\$","$").createLeftOf(t.show())):t[w]?t[y]?H.prototype.write.call(this,t,e):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},t.latex=function(){return"$"+this.ends[y].latex()+"$"}})),J=v(W,(function(t,e){t.keystroke=function(t){if("Spacebar"!==t&&"Shift-Spacebar"!==t)return e.keystroke.apply(this,arguments)},t.write=function(t,e){var n;t.show().deleteSelection(),"$"===e?Y(t).createLeftOf(t):("<"===e?n="<":">"===e&&(n=">"),U(e,n).createLeftOf(t))}})),C.TextField=function(t){return v(t.EditableField,(function(t,e){this.RootBlock=J,t.__mathquillify=function(){return e.__mathquillify.call(this,"mq-editable-field mq-text-mode")},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()}}))},S["\\"]=v($,(function(t,e){t.ctrlSeq="\\",t.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},t.htmlTemplate='\\&0',t.textTemplate=["\\"],t.createBlocks=function(){e.createBlocks.call(this),this.ends[y].focus=function(){return this.parent.jQ.addClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.removeClass("mq-empty"),this},this.ends[y].blur=function(){return this.parent.jQ.removeClass("mq-hasCursor"),this.isEmpty()&&this.parent.jQ.addClass("mq-empty"),this},this.ends[y].write=function(t,e){t.show().deleteSelection(),e.match(/[a-z]/i)?U(e).createLeftOf(t):(this.parent.renderCommand(t),"\\"===e&&this.isEmpty()||t.parent.write(t,e))},this.ends[y].keystroke=function(t,n,i){return"Tab"===t||"Enter"===t||"Spacebar"===t?(this.parent.renderCommand(i.cursor),void n.preventDefault()):e.keystroke.apply(this,arguments)}},t.createLeftOf=function(t){if(e.createLeftOf.call(this,t),this._replacedFragment){var n=this.jQ[0];this.jQ=this._replacedFragment.jQ.addClass("mq-blur").bind("mousedown mousemove",(function(t){return q(t.target=n).trigger(t),!1})).insertBefore(this.jQ).add(this.jQ)}},t.latex=function(){return"\\"+this.ends[y].latex()+" "},t.renderCommand=function(t){var e,n;this.jQ=this.jQ.last(),this.remove(),this[w]?t.insLeftOf(this[w]):t.insAtRightEnd(this.parent),(e=this.ends[y].latex())||(e=" "),(n=O[e]||mt[e])?(n=n(e),this._replacedFragment&&n.replaces(this._replacedFragment),n.createLeftOf(t)):((n=V()).replaces(e),n.createLeftOf(t),t.insRightOf(n),this._replacedFragment&&this._replacedFragment.remove())}})),Z=t,tt=document.createElement("div").style,{transform:1,WebkitTransform:1,MozTransform:1,OTransform:1,msTransform:1})if(nt in tt){et=nt;break}for(St in et?K=function(t,e,n){t.css(et,"scale("+e+","+n+")")}:"filter"in tt?(Z=function(t){t.className=t.className},K=function(t,e,n){function i(){t.css("marginRight",(r.width()-1)*(e-1)/e+"px")}var r,o;e/=1+(n-1)/2,t.css("fontSize",n+"em"),t.hasClass("mq-matrixed-container")||t.addClass("mq-matrixed-container").wrapInner(''),r=t.children().css("filter","progid:DXImageTransform.Microsoft.Matrix(M11="+e+",SizingMethod='auto expand')"),i(),o=setInterval(i),q(window).load((function(){clearTimeout(o),i()}))}):K=function(t,e,n){t.css("fontSize",n+"em")},it=v($,(function(t,e){t.init=function(t,n,i){e.init.call(this,t,"<"+n+" "+i+">&0")}})),O.mathrm=i(it,"\\mathrm","span",'class="mq-roman mq-font"'),O.mathit=i(it,"\\mathit","i",'class="mq-font"'),O.mathbf=i(it,"\\mathbf","b",'class="mq-font"'),O.mathsf=i(it,"\\mathsf","span",'class="mq-sans-serif mq-font"'),O.mathtt=i(it,"\\mathtt","span",'class="mq-monospace mq-font"'),O.underline=i(it,"\\underline","span",'class="mq-non-leaf mq-underline"'),O.overline=O.bar=i(it,"\\overline","span",'class="mq-non-leaf mq-overline"'),O.overrightarrow=i(it,"\\overrightarrow","span",'class="mq-non-leaf mq-overarrow mq-arrow-right"'),O.overleftarrow=i(it,"\\overleftarrow","span",'class="mq-non-leaf mq-overarrow mq-arrow-left"'),O.overleftrightarrow=i(it,"\\overleftrightarrow","span",'class="mq-non-leaf mq-overarrow mq-arrow-both"'),O.overarc=i(it,"\\overarc","span",'class="mq-non-leaf mq-overarc"'),O.dot=v($,(function(t,e){t.init=function(){e.init.call(this,"\\dot",'˙&0')}})),O.textcolor=v($,(function(t,e){t.setColor=function(t){this.color=t,this.htmlTemplate='&0'},t.latex=function(){return"\\textcolor{"+this.color+"}{"+this.blocks[0].latex()+"}"},t.parser=function(){var t=this,n=z.optWhitespace,i=z.string,r=z.regex;return n.then(i("{")).then(r(/^[#\w\s.,()%-]*/)).skip(i("}")).then((function(n){return t.setColor(n),e.parser.call(t)}))},t.isStyleBlock=function(){return!0}})),O.class=v($,(function(t,e){t.parser=function(){var t=this,n=z.string,i=z.regex;return z.optWhitespace.then(n("{")).then(i(/^[-\w\s\\\xA0-\xFF]*/)).skip(n("}")).then((function(n){return t.cls=n||"",t.htmlTemplate='&0',e.parser.call(t)}))},t.latex=function(){return"\\class{"+this.cls+"}{"+this.blocks[0].latex()+"}"},t.isStyleBlock=function(){return!0}})),rt=v($,(function(t,e){t.ctrlSeq="_{...}^{...}",t.createLeftOf=function(t){if(this.replacedFragment||t[y]||!t.options.supSubsRequireOperand)return e.createLeftOf.apply(this,arguments)},t.contactWeld=function(t){var e,n,i,r,o,s;for(e=y;e;e=e===y&&w)if(this[e]instanceof rt){for(n="sub";n;n="sub"===n&&"sup")i=this[n],r=this[e][n],i&&(r?i.isEmpty()?s=x(r,0,r.ends[y]):(i.jQ.children().insAtDirEnd(-e,r.jQ),o=i.children().disown(),s=x(r,o.ends[w],r.ends[y]),e===y?o.adopt(r,r.ends[w],0):o.adopt(r,0,r.ends[y])):this[e].addBlock(i.disown()),this.placeCursor=function(t,n){return function(i){i.insAtDirEnd(-e,t||n)}}(r,i));this.remove(),t&&t[y]===this&&(e===w&&s?s[y]?t.insRightOf(s[y]):t.insAtLeftEnd(s.parent):t.insRightOf(this[e]));break}},A.p.charsThatBreakOutOfSupSub="",t.finalizeTree=function(){this.ends[y].write=function(t,e){if(t.options.autoSubscriptNumerals&&this===this.parent.sub){if("_"===e)return;var n=this.chToCmd(e,t.options);return n instanceof N?t.deleteSelection():t.clearSelection().insRightOf(this.parent),n.createLeftOf(t.show())}t[y]&&!t[w]&&!t.selection&&t.options.charsThatBreakOutOfSupSub.indexOf(e)>-1&&t.insRightOf(this.parent),H.p.write.apply(this,arguments)}},t.moveTowards=function(t,n,i){n.options.autoSubscriptNumerals&&!this.sup?n.insDirOf(t,this):e.moveTowards.apply(this,arguments)},t.deleteTowards=function(t,n){if(n.options.autoSubscriptNumerals&&this.sub){var i=this.sub.ends[-t];i instanceof N?i.remove():i&&i.deleteTowards(t,n.insAtDirEnd(-t,this.sub)),this.sub.isEmpty()&&(this.sub.deleteOutOf(y,n.insAtLeftEnd(this.sub)),this.sup&&n.insDirOf(-t,this))}else e.deleteTowards.apply(this,arguments)},t.latex=function(){function t(t,e){var n=e&&e.latex();return e?t+(1===n.length?n:"{"+(n||" ")+"}"):""}return t("_",this.sub)+t("^",this.sup)},t.addBlock=function(t){"sub"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.jQ=q('').append(t.jQ.children()).attr(Rt,t.id).prependTo(this.jQ)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,t.jQ=q('').append(t.jQ.children()).attr(Rt,t.id).appendTo(this.jQ.removeClass("mq-sup-only")),this.jQ.append(''));for(var e=0;e<2;e+=1)!function(t,e,n,i){t[e].deleteOutOf=function(r,o){if(o.insDirOf(this[r]?-r:r,this.parent),!this.isEmpty()){var s=this.ends[r];this.children().disown().withDirAdopt(r,o.parent,o[r],o[-r]).jQ.insDirOf(-r,o.jQ),o[-r]=s}t.supsub=n,delete t[e],delete t[i+"Into"],t[n][i+"OutOf"]=f,delete t[n].deleteOutOf,"sub"===e&&q(t.jQ.addClass("mq-sup-only")[0].lastChild).remove(),this.remove()}}(this,"sub sup".split(" ")[e],"sup sub".split(" ")[e],"down up".split(" ")[e])}})),O.subscript=O._=v(rt,(function(t,e){t.supsub="sub",t.htmlTemplate='&0',t.textTemplate=["_"],t.finalizeTree=function(){this.downInto=this.sub=this.ends[y],this.sub.upOutOf=f,e.finalizeTree.call(this)}})),O.superscript=O.supscript=O["^"]=v(rt,(function(t,e){t.supsub="sup",t.htmlTemplate='&0',t.textTemplate=["^"],t.finalizeTree=function(){this.upInto=this.sup=this.ends[w],this.sup.downOutOf=f,e.finalizeTree.call(this)},t.reflow=function(){var t=this.jQ,e=t.prev().innerHeight();e*=.6,t.css("vertical-align",e+"px")}})),ot=v($,(function(t,e){t.init=function(t,e){var n='&1'+e+'&0';N.prototype.init.call(this,t,n)},t.createLeftOf=function(t){e.createLeftOf.apply(this,arguments),t.options.sumStartsWithNEquals&&(qt("n").createLeftOf(t),It().createLeftOf(t))},t.latex=function(){function t(t){return 1===t.length?t:"{"+(t||" ")+"}"}return this.ctrlSeq+"_"+t(this.ends[y].latex())+"^"+t(this.ends[w].latex())},t.parser=function(){var t,e=z.string,n=z.optWhitespace,i=z.succeed,r=F.block,o=this,s=o.blocks=[H(),H()];for(t=0;t&1&0')},t.createLeftOf=$.p.createLeftOf})),st=O.frac=O.dfrac=O.cfrac=O.fraction=v($,(function(t,e){t.ctrlSeq="\\frac",t.htmlTemplate='&0&1',t.textTemplate=["(",")/(",")"],t.finalizeTree=function(){this.upInto=this.ends[w].upOutOf=this.ends[y],this.downInto=this.ends[y].downOutOf=this.ends[w]}})),at=O.over=S["/"]=v(st,(function(e,n){e.createLeftOf=function(e){if(!this.replacedFragment){for(var i=e[y];i&&!(i instanceof G||i instanceof(O.text||t)||i instanceof ot||"\\ "===i.ctrlSeq||/^[,;:]$/.test(i.ctrlSeq));)i=i[y];i instanceof ot&&i[w]instanceof rt&&(i=i[w])[w]instanceof rt&&i[w].ctrlSeq!=i.ctrlSeq&&(i=i[w]),i!==e[y]&&(this.replaces(k(i[w]||e.parent.ends[y],e[y])),e[y]=i)}n.createLeftOf.call(this,e)}})),lt=O.sqrt=O["√"]=v($,(function(t,e){t.ctrlSeq="\\sqrt",t.htmlTemplate='&0',t.textTemplate=["sqrt(",")"],t.parser=function(){return F.optBlock.then((function(t){return F.block.map((function(e){var n=ct();return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n}))})).or(e.parser.call(this))},t.reflow=function(){var t=this.ends[w].jQ;K(t.prev(),1,t.innerHeight()/+t.css("fontSize").slice(0,-2)-.1)}})),O.hat=v($,(function(t,e){t.ctrlSeq="\\hat",t.htmlTemplate='^&0',t.textTemplate=["hat(",")"]})),ct=O.nthroot=v(lt,(function(t,e){t.htmlTemplate='&0&1',t.textTemplate=["sqrt[","](",")"],t.latex=function(){return"\\sqrt["+this.ends[y].latex()+"]{"+this.ends[w].latex()+"}"}})),ut=v($,(function(t,e){t.init=function(t,n,i){var r=''+n+'&0';e.init.call(this,t,r,i)}})),O.vec=i(ut,"\\vec","→",["vec(",")"]),O.tilde=i(ut,"\\tilde","~",["tilde(",")"]),pt=v(v($,d),(function(e,n){e.init=function(t,e,i,r,o){n.init.call(this,"\\left"+r,m,[e,i]),this.side=t,this.sides={},this.sides[y]={ch:e,ctrlSeq:r},this.sides[w]={ch:i,ctrlSeq:o}},e.numBlocks=function(){return 1},e.html=function(){return this.htmlTemplate=''+this.sides[y].ch+'&0'+this.sides[w].ch+"",n.html.call(this)},e.latex=function(){return"\\left"+this.sides[y].ctrlSeq+this.ends[y].latex()+"\\right"+this.sides[w].ctrlSeq},e.matchBrack=function(t,e,n){return n instanceof pt&&n.side&&n.side!==-e&&(!t.restrictMismatchedBrackets||ft[this.sides[this.side].ch]===n.sides[n.side].ch||{"(":"]","[":")"}[this.sides[y].ch]===n.sides[w].ch)&&n},e.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side],t.delimjQs.eq(this.side===y?0:1).removeClass("mq-ghost").html(this.sides[this.side].ch)},e.createLeftOf=function(t){var e,i,r;this.replacedFragment||(e=t.options,i="|"===this.sides[y].ch?this.matchBrack(e,w,t[w])||this.matchBrack(e,y,t[y])||this.matchBrack(e,0,t.parent.parent):this.matchBrack(e,-this.side,t[-this.side])||this.matchBrack(e,-this.side,t.parent.parent)),i?(r=this.side=-i.side,this.closeOpposing(i),i===t.parent.parent&&t[r]&&k(t[r],t.parent.ends[r],-r).disown().withDirAdopt(-r,i.parent,i,i[r]).jQ.insDirOf(r,i.jQ),i.bubble("reflow")):(r=(i=this).side,i.replacedFragment?i.side=0:t[-r]&&(i.replaces(k(t[-r],t.parent.ends[-r],r)),t[-r]=0),n.createLeftOf.call(i,t)),r===y?t.insAtLeftEnd(i.ends[y]):t.insRightOf(i)},e.placeCursor=t,e.unwrap=function(){this.ends[y].children().disown().adopt(this.parent,this,this[w]).jQ.insertAfter(this.jQ),this.remove()},e.deleteSide=function(t,e,n){var i,r,o,s=this.parent,a=this[t],l=s.ends[t];if(t===this.side)return this.unwrap(),void(a?n.insDirOf(-t,a):n.insAtDirEnd(t,s));if(i=n.options,r=!this.side,this.side=-t,this.matchBrack(i,t,this.ends[y].ends[this.side]))this.closeOpposing(this.ends[y].ends[this.side]),o=this.ends[y].ends[t],this.unwrap(),o.siblingCreated&&o.siblingCreated(n.options,t),a?n.insDirOf(-t,a):n.insAtDirEnd(t,s);else{if(this.matchBrack(i,t,this.parent.parent))this.parent.parent.closeOpposing(this),this.parent.parent.unwrap();else{if(e&&r)return this.unwrap(),void(a?n.insDirOf(-t,a):n.insAtDirEnd(t,s));this.sides[t]={ch:ft[this.sides[this.side].ch],ctrlSeq:ft[this.sides[this.side].ctrlSeq]},this.delimjQs.removeClass("mq-ghost").eq(t===y?0:1).addClass("mq-ghost").html(this.sides[t].ch)}a?(o=this.ends[y].ends[t],k(a,l,-t).disown().withDirAdopt(-t,this.ends[y],o,0).jQ.insAtDirEnd(t,this.ends[y].jQ.removeClass("mq-empty")),o.siblingCreated&&o.siblingCreated(n.options,t),n.insDirOf(-t,a)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.ends[y])}},e.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.finalizeTree=function(){this.ends[y].deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},this.finalizeTree=this.intentionalBlur=function(){this.delimjQs.eq(this.side===y?1:0).removeClass("mq-ghost"),this.side=0}},e.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()}})),ft={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{","\\{":"\\}","\\}":"\\{","⟨":"⟩","⟩":"⟨","\\langle ":"\\rangle ","\\rangle ":"\\langle ","|":"|","\\lVert ":"\\rVert ","\\rVert ":"\\lVert "},h("("),h("["),h("{","\\{"),O.langle=i(pt,y,"⟨","⟩","\\langle ","\\rangle "),O.rangle=i(pt,w,"⟨","⟩","\\langle ","\\rangle "),S["|"]=i(pt,y,"|","|","|","|"),O.lVert=i(pt,y,"∥","∥","\\lVert ","\\rVert "),O.rVert=i(pt,w,"∥","∥","\\lVert ","\\rVert "),O.left=v($,(function(t){t.parser=function(){var t=z.regex,e=z.string,n=(z.succeed,z.optWhitespace);return n.then(t(/^(?:[([|]|\\\{|\\langle\b|\\lVert\b)/)).then((function(i){var r="\\"===i.charAt(0)?i.slice(1):i;return"\\langle"==i&&(r="⟨",i+=" "),"\\lVert"==i&&(r="∥",i+=" "),F.then((function(o){return e("\\right").skip(n).then(t(/^(?:[\])|]|\\\}|\\rangle\b|\\rVert\b)/)).map((function(t){var e,n="\\"===t.charAt(0)?t.slice(1):t;return"\\rangle"==t&&(n="⟩",t+=" "),"\\rVert"==t&&(n="∥",t+=" "),(e=pt(0,r,n,i,t)).blocks=[o],o.adopt(e,0,0),e}))}))}))}})),O.right=v($,(function(t){t.parser=function(){return z.fail("unmatched \\right")}})),dt=O.binom=O.binomial=v(v($,d),(function(t,e){t.ctrlSeq="\\binom",t.htmlTemplate='(&0&1)',t.textTemplate=["choose(",",",")"]})),O.choose=v(dt,(function(t){t.createLeftOf=at.prototype.createLeftOf})),O.editable=O.MathQuillMathField=v($,(function(t,e){t.ctrlSeq="\\MathQuillMathField",t.htmlTemplate='&0',t.parser=function(){var t=this,n=z.string,i=z.regex,r=z.succeed;return n("[").then(i(/^[a-z][a-z0-9]*/i)).skip(n("]")).map((function(e){t.name=e})).or(r()).then(e.parser.call(t))},t.finalizeTree=function(t){var e=j(this.ends[y],this.jQ,t);e.KIND_OF_MQ="MathField",e.editable=!0,e.createTextarea(),e.editablesTextareaEvents(),e.cursor.insAtRightEnd(e.root),u(e.root)},t.registerInnerField=function(t,e){t.push(t[this.name]=e(this.ends[y].controller))},t.latex=function(){return this.ends[y].latex()},t.text=function(){return this.ends[y].text()}})),ht=O.embed=v(N,(function(t,e){t.setOptions=function(t){function e(){return""}return this.text=t.text||e,this.htmlTemplate=t.htmlString||"",this.latex=t.latex||e,this},t.parser=function(){var t=this,e=z.string,n=z.regex,i=z.succeed;return e("{").then(n(/^[a-z][a-z0-9]*/i)).skip(e("}")).then((function(r){return e("[").then(n(/^[-\w\s]*/)).skip(e("]")).or(i()).map((function(e){return t.setOptions(P[r](e))}))}))}})),mt={},O.begin=v($,(function(t,e){t.parser=function(){var t=z.string,e=z.regex;return t("{").then(e(/^[a-z]+/i)).skip(t("}")).then((function(e){return(mt[e]?mt[e]().parser():z.fail("unknown environment type: "+e)).skip(t("\\end{"+e+"}"))}))}})),gt=v($,(function(t,e){t.template=[["\\begin{","}"],["\\end{","}"]],t.wrappers=function(){return[t.template[0].join(this.environment),t.template[1].join(this.environment)]}})),bt=mt.matrix=v(gt,(function(t,e){var n="&",i="\\\\";t.parentheses={left:null,right:null},t.environment="matrix",t.reflow=function(){var t=this.jQ.children("table"),e=t.outerHeight()/+t.css("fontSize").slice(0,-2),n=this.jQ.children(".mq-paren");n.length&&K(n,zt(1+.2*(e-1),1.2),1.05*e)},t.latex=function(){var t,e="";return this.eachChild((function(r){void 0!==t&&(e+=t!==r.row?i:n),t=r.row,e+=r.latex()})),this.wrappers().join(e)},t.html=function(){function t(t){return t?''+t+"":""}var n,i=[],r="",o=0;return this.eachChild((function(t){n!==t.row&&(n=t.row,r+="$tds",i[n]=[]),i[n].push("&"+o+++"")})),this.htmlTemplate=''+t(this.parentheses.left)+''+r.replace(/\$tds/g,(function(){return i.shift().join("")}))+"
"+t(this.parentheses.right)+"
",e.html.call(this)},t.createBlocks=function(){this.blocks=[vt(0,this),vt(0,this),vt(1,this),vt(1,this)]},t.parser=function(){var t=this,e=z.optWhitespace,r=z.string;return e.then(r(n).or(r(i)).or(F.block)).many().skip(e).then((function(e){function n(){t.blocks.push(vt(s,t,o)),o=[]}var r,o=[],s=0;for(t.blocks=[],r=0;r-1&&(t[e].remove(),c.splice(c.indexOf(t[e]),1))}var i,r,o=[],s=[],a=[],l=[],c=this.blocks;this.eachChild((function(e){i!==e.row&&(i=e.row,o[i]=[],r=0),s[r]=s[r]||[],s[r].push(e),o[i].push(e),e===t&&(a=o[i],l=s[r]),r+=1})),e(a)&&l.length>1&&(i=o.indexOf(a),this.eachChild((function(t){t.row>i&&(t.row-=1)})),n(a),this.jQ.find("tr").eq(i).remove()),e(l)&&a.length>1&&n(l),this.finalizeTree()},t.addRow=function(t){var e,n,i,r=[],o=[],s=[],a=q(""),l=t.row,c=0;for(this.eachChild((function(e){e.row<=l&&r.push(e),e.row===l&&(e===t&&(n=c),c+=1),e.row>l&&(e.row+=1,s.push(e))})),i=0;i').attr(Rt,e.id).appendTo(a);return this.jQ.find("tr").eq(l).after(a),this.blocks=r.concat(o,s),o[n]},t.addColumn=function(t){var e,n,i,r=[],o=[];for(this.eachChild((function(n){r[n.row]=r[n.row]||[],r[n.row].push(n),n===t&&(e=r[n.row].length)})),i=0;i').attr(Rt,n.id);return this.jQ.find("tr").each((function(t){q(this).find("td").eq(e-1).after(r[t][e].jQ)})),this.blocks=[].concat.apply([],r),o[t.row]},t.insert=function(t,e){var n=this[t](e);this.cursor=this.cursor||this.parent.cursor,this.finalizeTree(),this.bubble("reflow").cursor.insAtRightEnd(n)},t.backspace=function(t,e,n,i){var r=t[e];if(t.isEmpty()){for(this.deleteCell(t);r&&r[e]&&-1===this.blocks.indexOf(r);)r=r[e];r&&n.insAtDirEnd(-e,r),1===this.blocks.length&&this.blocks[0].isEmpty()&&(i(),this.finalizeTree()),this.bubble("edited")}}})),mt.pmatrix=v(bt,(function(t,e){t.environment="pmatrix",t.parentheses={left:"(",right:")"}})),mt.bmatrix=v(bt,(function(t,e){t.environment="bmatrix",t.parentheses={left:"[",right:"]"}})),mt.Bmatrix=v(bt,(function(t,e){t.environment="Bmatrix",t.parentheses={left:"{",right:"}"}})),mt.vmatrix=v(bt,(function(t,e){t.environment="vmatrix",t.parentheses={left:"|",right:"|"}})),mt.Vmatrix=v(bt,(function(t,e){t.environment="Vmatrix",t.parentheses={left:"‖",right:"‖"}})),vt=v(H,(function(t,e){t.init=function(t,n,i){if(e.init.call(this),this.row=t,n&&this.adopt(n,n.ends[w],0),i)for(var r=0;r"+(n||t)+"")},t.text=function(){var t=this.ctrlSeq;return this.isPartOfOperator?"\\"==t[0]?t=t.slice(1,t.length):" "==t[t.length-1]&&(t=t.slice(0,-1)):(!this[y]||this[y]instanceof wt||this[y]instanceof G||"\\ "===this[y].ctrlSeq||(t="*"+t),!this[w]||this[w]instanceof G||this[w]instanceof rt||(t+="*")),t}})),A.p.autoCommands={_maxLength:0},D.autoCommands=function(t){var e,n,i,r,o;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'"'+t+'" not a space-delimited list of only letters';for(e=t.split(" "),n={},i=0,r=0;r0){for(r="",o=this,s=0;o instanceof qt&&o.ctrlSeq===o.letter&&s0;a-=1)if(l=e.slice(o,o+a),h.hasOwnProperty(l)){for(c=0,u=s;cf')},t.italicize=function(t){return this.jQ.html("f").toggleClass("mq-f",t),e.italicize.apply(this,arguments)}})),O[" "]=O.space=i(U,"\\ "," "),O["'"]=O.prime=i(U,"'","′"),O["″"]=O.dprime=i(U,"″","″"),O.backslash=i(U,"\\backslash ","\\"),S["\\"]||(S["\\"]=O.backslash),O.$=i(U,"\\$","$"),Tt=v(N,(function(t,e){t.init=function(t,n){e.init.call(this,t,''+(n||t)+"")}})),O["@"]=Tt,O["&"]=i(Tt,"\\&","&"),O["%"]=i(Tt,"\\%","%"),O.alpha=O.beta=O.gamma=O.delta=O.zeta=O.eta=O.theta=O.iota=O.kappa=O.mu=O.nu=O.xi=O.rho=O.sigma=O.tau=O.chi=O.psi=O.omega=v(wt,(function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}})),O.phi=i(wt,"\\phi ","ϕ"),O.phiv=O.varphi=i(wt,"\\varphi ","φ"),O.epsilon=i(wt,"\\epsilon ","ϵ"),O.epsiv=O.varepsilon=i(wt,"\\varepsilon ","ε"),O.piv=O.varpi=i(wt,"\\varpi ","ϖ"),O.sigmaf=O.sigmav=O.varsigma=i(wt,"\\varsigma ","ς"),O.thetav=O.vartheta=O.thetasym=i(wt,"\\vartheta ","ϑ"),O.upsilon=O.upsi=i(wt,"\\upsilon ","υ"),O.gammad=O.Gammad=O.digamma=i(wt,"\\digamma ","ϝ"),O.kappav=O.varkappa=i(wt,"\\varkappa ","ϰ"),O.rhov=O.varrho=i(wt,"\\varrho ","ϱ"),O.pi=O["π"]=i(Tt,"\\pi ","π"),O.lambda=i(Tt,"\\lambda ","λ"),O.Upsilon=O.Upsi=O.upsih=O.Upsih=i(N,"\\Upsilon ",'ϒ'),O.Gamma=O.Delta=O.Theta=O.Lambda=O.Xi=O.Pi=O.Sigma=O.Phi=O.Psi=O.Omega=O.forall=v(U,(function(t,e){t.init=function(t){e.init.call(this,"\\"+t+" ","&"+t+";")}})),Et=v($,(function(t){t.init=function(t){this.latex=t},t.createLeftOf=function(t){var e=F.parse(this.latex);e.children().adopt(t.parent,t[y],t[w]),t[y]=e.ends[w],e.jQize().insertBefore(t.jQ),e.finalizeInsert(t.options,t),e.ends[w][w].siblingCreated&&e.ends[w][w].siblingCreated(t.options,y),e.ends[y][y].siblingCreated&&e.ends[y][y].siblingCreated(t.options,w),t.parent.bubble("reflow")},t.parser=function(){var t=F.parse(this.latex).children();return z.succeed(t)}})),O["¹"]=i(Et,"^1"),O["²"]=i(Et,"^2"),O["³"]=i(Et,"^3"),O["¼"]=i(Et,"\\frac14"),O["½"]=i(Et,"\\frac12"),O["¾"]=i(Et,"\\frac34"),jt=v(G,(function(t){t.init=U.prototype.init,t.contactWeld=t.siblingCreated=t.siblingDeleted=function(t,e){if(e!==w)return this.jQ[0].className=function t(e){return e[y]?e[y]instanceof G||/^[,;:\(\[]$/.test(e[y].ctrlSeq)?"":"mq-binary-operator":e.parent&&e.parent.parent&&e.parent.parent.isStyleBlock()?t(e.parent.parent):""}(this),this}})),O["+"]=i(jt,"+","+"),O["–"]=O["-"]=i(jt,"-","−"),O["±"]=O.pm=O.plusmn=O.plusminus=i(jt,"\\pm ","±"),O.mp=O.mnplus=O.minusplus=i(jt,"\\mp ","∓"),S["*"]=O.sdot=O.cdot=i(G,"\\cdot ","·","*"),Ct=v(G,(function(t,e){t.init=function(t,n){this.data=t,this.strict=n;var i=n?"Strict":"";e.init.call(this,t["ctrlSeq"+i],t["html"+i],t["text"+i])},t.swap=function(t){this.strict=t;var e=t?"Strict":"";this.ctrlSeq=this.data["ctrlSeq"+e],this.jQ.html(this.data["html"+e]),this.textTemplate=[this.data["text"+e]]},t.deleteTowards=function(t,n){if(t===y&&!this.strict)return this.swap(!0),void this.bubble("reflow");e.deleteTowards.apply(this,arguments)}})),At={ctrlSeq:"\\le ",html:"≤",text:"≤",ctrlSeqStrict:"<",htmlStrict:"<",textStrict:"<"},Dt={ctrlSeq:"\\ge ",html:"≥",text:"≥",ctrlSeqStrict:">",htmlStrict:">",textStrict:">"},O["<"]=O.lt=i(Ct,At,!0),O[">"]=O.gt=i(Ct,Dt,!0),O["≤"]=O.le=O.leq=i(Ct,At,!1),O["≥"]=O.ge=O.geq=i(Ct,Dt,!1),It=v(G,(function(t,e){t.init=function(){e.init.call(this,"=","=")},t.createLeftOf=function(t){if(t[y]instanceof Ct&&t[y].strict)return t[y].swap(!1),void t[y].bubble("reflow");e.createLeftOf.apply(this,arguments)}})),O["="]=It,O["×"]=O.times=i(G,"\\times ","×","[x]"),O["÷"]=O.div=O.divide=O.divides=i(G,"\\div ","÷","[/]"),S["~"]=O.sim=i(G,"\\sim ","~","~"),Pt=c(1))!function(t,e){"function"==typeof e?(l[t]=function(){return a(),e.apply(this,arguments)},l[t].prototype=e.prototype):l[t]=e}(Mt,Pt[Mt])}(),function(){"use strict";var t=r;Object.defineProperty(t,"__esModule",{value:!0}),t.reflow=t.init=void 0;var e=n(452),i=n(66),o=n(830),s=n(216),a=n(657);function l(t){(0,s.findQuillGroups)(t),(0,a.findPyGenerators)()}(0,e.applyPolyfills)(),t.reflow=l;var c=!1;t.init=function(t){if(c)l(t.widgets);else if(t.engine&&!t.engines&&(t.engines=[t.engine||""]),t.engines){Array.isArray(t.engines)||(t.engines=[t.engines]),i.cfg.setUserConfig(t);var e=[];t.engines.indexOf("nerdamer")>=0&&e.push((0,o.insertScript)(i.cfg.NERDAMER_URL)),e.length?Promise.all(e).then((function(){l(null==t?void 0:t.widgets),c=!0}),(function(){console.error("Unable to load the required dependencies")})):(l(null==t?void 0:t.widgets),c=!0)}else console.error("The engines option in the init method is required.")}}(),self.MQWidgets=r}(); //# sourceMappingURL=mqwidgets2.js.map \ No newline at end of file diff --git a/dist/mqwidgets2.js.map b/dist/mqwidgets2.js.map index 880c78c..d0415ca 100644 --- a/dist/mqwidgets2.js.map +++ b/dist/mqwidgets2.js.map @@ -1 +1 @@ -{"version":3,"file":"mqwidgets2.js","mappings":"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","sources":["webpack://MQWidgets/./src/I18n.ts","webpack://MQWidgets/./src/actions.ts","webpack://MQWidgets/./src/checking.ts","webpack://MQWidgets/./src/components/LevelIndicator.ts","webpack://MQWidgets/./src/components/dialogs/dialog.ts","webpack://MQWidgets/./src/components/dialogs/editorDialog.ts","webpack://MQWidgets/./src/components/editorBase.ts","webpack://MQWidgets/./src/components/editorCloze.ts","webpack://MQWidgets/./src/components/editorInput.ts","webpack://MQWidgets/./src/components/editorMChoice.ts","webpack://MQWidgets/./src/components/editorMChoiceCheckbox.ts","webpack://MQWidgets/./src/components/editorPanel.ts","webpack://MQWidgets/./src/components/toolbar/createToolbarButton.ts","webpack://MQWidgets/./src/components/toolbar/pwTabMenu.ts","webpack://MQWidgets/./src/components/toolbar/toolbar-config.ts","webpack://MQWidgets/./src/createQuill.ts","webpack://MQWidgets/./src/engines/engineCAS.ts","webpack://MQWidgets/./src/engines/nerdamerCAS.ts","webpack://MQWidgets/./src/engines/parseLatex.ts","webpack://MQWidgets/./src/engines/sympyCAS.ts","webpack://MQWidgets/./src/findPyGenerators.ts","webpack://MQWidgets/./src/globals.ts","webpack://MQWidgets/./src/goalChecker.ts","webpack://MQWidgets/./src/mq-parsing.ts","webpack://MQWidgets/./src/mqfy.ts","webpack://MQWidgets/./src/polyfills.ts","webpack://MQWidgets/./src/sequences/seqBasic.ts","webpack://MQWidgets/./src/sequences/seqRandomWeighted.ts","webpack://MQWidgets/./src/sequences/seqSequence.ts","webpack://MQWidgets/./src/utils.ts","webpack://MQWidgets/webpack/bootstrap","webpack://MQWidgets/","webpack://MQWidgets/./src/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.I18n = void 0;\nconst globals_1 = require(\"./globals\");\nconst TRANSLATIONS = {\n ca: {\n 'check': 'Comprova',\n \"General\": 'General',\n \"Símbols\": \"Símbols\",\n \"Geometria\": \"Geometria\",\n \"Intervals\": \"Intervals\",\n \"Funcions\": \"Funcions\",\n \"right_answer\": \"Resposta correcta\",\n \"close\": \"Tancar\",\n \"open_editor\": \"Obrir l'editor\",\n \"show_answer\": \"Mostra la solució\",\n \"choose_option\": \"Tria una opció\",\n \"next\": \"Següent\",\n \"goal_reached\": \"Repte aconseguit!\",\n \"wildcard\": \"Comodí\",\n \"answer\": \"Solució\",\n \"matheditor\": \"Editor matemàtic\",\n \"accept\": \"Acceptar\",\n \"cancel\": \"Cancel·lar\",\n \"expected_ans\": \"S'esperava la resposta\",\n \"error_verifying\": \"Ho sentim però hi ha hagut un problema a l'hora de verificar la resposta.\",\n \"wrong_answer\": \"Resposta incorrecta. Intentau de nou.\",\n \"sym_notallowed\": \"No es permet el símbol ${1} en la resposta.\",\n \"sym_once\": \"El símbol ${1} només es pot emprar com a màxim una vegada en la resposta.\",\n \"error_cantprocess\": \"Error: Hi ha respostes donades que no es poden processar. Provau d'eliminar els espais en blanc.\",\n \"ans_missing\": \"Falten respostes\"\n },\n es: {\n 'check': 'Comprueba',\n \"General\": 'General',\n \"Símbols\": \"Símbolos\",\n \"Geometria\": \"Geometria\",\n \"Intervals\": \"Intervalos\",\n \"Funcions\": \"Funciones\",\n \"right_answer\": \"Respuesta correcta\",\n \"close\": \"Cerrar\",\n \"open_editor\": \"Abrir el editor\",\n \"show_answer\": \"Muestra la solución\",\n \"choose_option\": \"Elige una opción\",\n \"next\": \"Siguiente\",\n \"goal_reached\": \"¡Reto conseguido!\",\n \"wildcard\": \"Comodín\",\n \"answer\": \"Solución\",\n \"matheditor\": \"Editor matemático\",\n \"accept\": \"Aceptar\",\n \"cancel\": \"Cancelar\",\n \"expected_ans\": \"Se esperaba la respuesta\",\n \"error_verifying\": \"Lo sentimos, ha habido un problema cuando se verificaba la respuesta.\",\n \"wrong_answer\": \"Respuesta incorrecta. Inténtalo de nuevo.\",\n \"sym_notallowed\": \"No se permite el símbolo ${1} en la respuesta.\",\n \"sym_once\": \"El símbolo ${1} solo es puede emplear una vez como máximo en la respuesta.\",\n \"error_cantprocess\": \"Error: Hay respuestas que no se pueden procesar. Intente eliminar los espacios en blanco.\",\n \"ans_missing\": \"Faltan respuestas\"\n },\n en: {\n 'check': 'Check',\n \"General\": 'General',\n \"Símbols\": \"Symbols\",\n \"Geometria\": \"Geometry\",\n \"Intervals\": \"Intervals\",\n \"Funcions\": \"Functions\",\n \"right_answer\": \"Right answer\",\n \"close\": \"Close\",\n \"open_editor\": \"Open the editor\",\n \"show_answer\": \"Show the answer\",\n \"choose_option\": \"Choose an option\",\n \"next\": \"Next\",\n \"goal_reached\": \"Goal acomplished!\",\n \"wildcard\": \"Wildcard\",\n \"answer\": \"Answer\",\n \"matheditor\": \"Math editor\",\n \"accept\": \"Accept\",\n \"cancel\": \"Cancel\",\n \"expected_ans\": \"The expected answer is\",\n \"error_verifying\": \"We are sorry. There has been a problem while verifying the answer.\",\n \"wrong_answer\": \"Wrong answer. Try it again.\",\n \"sym_notallowed\": \"The symbol ${1} is not allowed in the answer.\",\n \"sym_once\": \"The symbol ${1} can only be used once in the answer.\",\n \"error_cantprocess\": \"Error: There are some answers that can't be processed. Try removing white spaces.\",\n \"ans_missing\": \"There are some blank answers\"\n }\n};\n// https://raw.githubusercontent.com/wiziple/browser-lang/master/src/index.js\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return 'en';\n }\n const navigator = window.navigator;\n let lang = (navigator.languages && navigator.languages[0]) ||\n navigator.language ||\n navigator.browserLanguage ||\n navigator.userLanguage ||\n navigator.systemLanguage ||\n 'en_US';\n lang = lang.toLowerCase().replace(/-/, \"_\");\n return lang.toLowerCase().split(\"_\")[0];\n}\nconst BROWSER_LANG = getBrowserLang();\nfunction I18n(key, ...args) {\n const lang = globals_1.cfg.LANG || BROWSER_LANG;\n let langPack = TRANSLATIONS[lang];\n if (!langPack) {\n //Unknown language - use fallback english\n console.error(\"Cannot find translations in \", lang, \". Using fallback [en]\");\n langPack = TRANSLATIONS['en'];\n }\n // check if it must interpolate some var\n let out = langPack[key] || key || '';\n for (let i = 0; i < args.length; i++) {\n out = out.replace('${' + (i + 1) + '}', args[i]);\n }\n return out;\n}\nexports.I18n = I18n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createSubmitButtonForGroup = exports.bindSubmitActionButton = void 0;\nconst checking_1 = require(\"./checking\");\nconst globals_1 = require(\"./globals\");\nconst I18n_1 = require(\"./I18n\");\nconst engineCAS_1 = require(\"./engines/engineCAS\");\nconst utils_1 = require(\"./utils\");\nlet LAST_AJAX = new Date().getTime();\n/**\n * Binds the submit button for all the editors within a group\n * @param gid\n * @param check_btn\n * @param extraActions\n */\nfunction bindSubmitActionButton(gid, check_btn, extraActions) {\n var groupContainer = globals_1.shared[gid];\n var qids = Object.keys(groupContainer).map((e) => parseInt(e));\n check_btn.off();\n check_btn.on('click', function (ev) {\n ev.preventDefault();\n var now = (new Date()).getTime();\n if (LAST_AJAX && (now - LAST_AJAX) < 1000) {\n console.error(\"Too frequently checks are blocked!\");\n return;\n }\n console.log(\"gid\", gid, \"qids\", qids);\n for (var k = 0, len = qids.length; k < len; k++) {\n var qid = qids[k];\n var editor = groupContainer[qid];\n if (editor.getStatus() != globals_1.cfg.STATUS.MODIFIED) {\n // no changes to check\n console.log('Unmodified, nothing to check');\n continue;\n }\n var ual = editor.latex() || [];\n if (ual.length === 0 || (0, checking_1.has_empty_answers)(ual)) {\n // contains empty answers\n editor.checkMsg(-1, (0, I18n_1.I18n)('ans_missing'));\n console.error('Editor contains empty answers');\n continue;\n }\n if (editor.getStatus() != 1 && ual.length) {\n console.log(editor);\n if (editor.getDefinition().right_answer && editor.getWrong_attemps() > globals_1.cfg.MAX_ATTEMPTS) {\n console.log(\"TODO:: Must show right answer and disable quill\");\n if (!editor.isPigen()) {\n // showAnswer must disable quill on its editor\n // Disable on panel which is not standalone\n editor.showAnswer();\n continue;\n }\n }\n // If the widget is a multiplechoice combo\n // TODO: support multiple answers, ans is an array and ual too!\n if (editor.getQType() == globals_1.cfg.QTYPES.M || editor.getQType() == globals_1.cfg.QTYPES.Ms) {\n var score10 = editor.isComodiUsed() ? 5 : 10;\n if (editor.getDefinition().ans == ual[0]) {\n editor.checkMsg(1, 'Molt bé!');\n }\n else {\n score10 = 0;\n editor.increment_wrong();\n editor.checkMsg(0, 'Incorrecte');\n }\n extraActions && extraActions(score10);\n continue;\n }\n LAST_AJAX = now;\n const postObj = { latex: ual, qid: qid };\n // Optimitzation (numeric answers can be checked locally)\n // console.log(\"Locally? \", editor.getDefinition(), ual);\n let ans = '';\n if (editor.getDefinition().anse != null) {\n ans = atob(editor.getDefinition().anse || \"\");\n }\n else {\n ans = editor.getDefinition().ans || '';\n }\n if (ans && ual.length == 1) {\n //User answer list of one item\n if ((0, utils_1.isNumeric)(ual[0]) && (0, utils_1.isNumeric)(ans)) {\n const pfual = parseFloat(ual[0]);\n const pans = parseFloat(ans);\n console.log(\"Numeric answer can be checked locally\");\n var score10 = editor.isComodiUsed() ? 5 : 10;\n var difference = parseFloat(ans) - pfual;\n //TODO:: Check for precisions\n var maxError = 0.0;\n if (editor.getDefinition().rules && editor.getDefinition().rules.precision) {\n maxError = editor.getDefinition().rules.precision;\n }\n if (Math.abs(difference) <= maxError) {\n editor.checkMsg(1, 'Molt bé!');\n }\n else {\n score10 = 0;\n editor.increment_wrong();\n editor.checkMsg(0, 'Incorrecte');\n }\n extraActions && extraActions(score10);\n continue;\n }\n }\n //copy properties from object definition\n (0, utils_1.copyPropsFromTo)(editor.getDefinition(), postObj);\n if (globals_1.cfg.pageInfo) {\n postObj.pageInfo = globals_1.cfg.pageInfo;\n if (!editor.getHash()) {\n editor.setHash((0, utils_1.MD5)(postObj.formulation + '_' + (postObj.pageInfo.bookId || 0) + '_' + (postObj.pageInfo.chapterId || 0)));\n }\n postObj.hash = editor.getHash();\n }\n //Decide which engine to use based on the payload\n engineCAS_1.engineCAS.compare(postObj).then((datos) => {\n console.log(\"success\", datos);\n var editor = groupContainer[datos.qid];\n if (datos.correct == 0) {\n editor.increment_wrong();\n }\n editor.checkMsg(datos.correct, datos.msg);\n var score10 = datos.correct ? (editor.isComodiUsed() ? 5 : 10) : 0;\n extraActions && extraActions(score10);\n }, (errors) => {\n console.error(\"Error\", errors);\n });\n }\n } // end loop\n });\n}\nexports.bindSubmitActionButton = bindSubmitActionButton;\n;\nfunction createSubmitButtonForGroup(gid) {\n var check_btn = $(``);\n bindSubmitActionButton(gid, check_btn);\n return check_btn;\n}\nexports.createSubmitButtonForGroup = createSubmitButtonForGroup;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.has_empty_answers = exports.extractMatrices = void 0;\nconst regexMatrices = /\\\\begin{pmatrix}(.*?)\\\\end{pmatrix}/g;\nfunction extractMatrices(tex) {\n const matrices = [];\n let m = null;\n while ((m = regexMatrices.exec(tex)) !== null) {\n const mat = [];\n const linies = m[1].split('\\\\\\\\');\n linies.forEach(function (alinia) {\n const linia = alinia.split('&');\n mat.push(linia);\n });\n matrices.push(mat);\n }\n return matrices;\n}\nexports.extractMatrices = extractMatrices;\n;\nconst has_empty_elements = function (matrix) {\n const rows = matrix.length;\n for (let i = 0; i < rows; i++) {\n const arow = matrix[i];\n const cols = arow.length;\n for (let j = 0; j < cols; j++) {\n if (!arow[j]) {\n return true;\n }\n }\n }\n return false;\n};\nfunction has_empty_answers(v) {\n for (let i = 0, len = v.length; i < len; i++) {\n const tex = v[i];\n if (tex == '' || (tex && !tex.trim())) {\n return true;\n }\n // a matrix with empty answers\n const matrices = extractMatrices(tex);\n for (let j = 0, lenmat = matrices.length; j < lenmat; j++) {\n if (has_empty_elements(matrices[j])) {\n return true;\n }\n }\n }\n return false;\n}\nexports.has_empty_answers = has_empty_answers;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LevelIndicator = void 0;\nclass LevelIndicator {\n constructor(numLevels) {\n this.numLevels = numLevels;\n this.container = $('
');\n this.levelIcons = [];\n for (let i = 0; i < numLevels; i++) {\n const elem = $('');\n this.container.append(elem);\n this.levelIcons.push(elem);\n }\n }\n get $div() {\n return this.container;\n }\n setLevel(n) {\n if (n < 0) {\n n = 0;\n }\n else if (n > this.numLevels) {\n n = this.numLevels;\n }\n for (let i = 0; i < this.numLevels; i++) {\n if (i < n) {\n this.levelIcons[i].css(\"color\", \"darkred\");\n }\n else {\n this.levelIcons[i].css(\"color\", \"lightgray\");\n }\n }\n this.container.attr(\"data-original-title\", \"Nivell \" + n);\n this.container.removeAttr(\"title\");\n }\n setVisible(visible) {\n this.container.css(\"display\", visible ? \"\" : \"none\");\n }\n}\nexports.LevelIndicator = LevelIndicator;\n","\"use strict\";\n/**\n * Creates a basic dialog which can be extended for further functionality\n * @param {*} title\n * @param {*} width\n * @param {*} height\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PwDialog = void 0;\nclass PwDialog {\n constructor(title, width, height) {\n this.id = \"pwdlg_\" + Math.random().toString(32).substring(2);\n this.window = $('
');\n const topBar = $('
');\n this.topBar = topBar;\n const headerTitle = $('' + title + '');\n this.closeBtn = $('');\n const self = this;\n this.closeBtn.on(\"click\", function (ev) {\n ev.preventDefault();\n self.window.css(\"display\", \"none\");\n });\n topBar.append(headerTitle);\n topBar.append(this.closeBtn);\n this.window.append(topBar);\n //Add dialog to body\n $('body').append(this.window);\n // Make this dialog draggable\n let active = false;\n let currentX;\n let currentY;\n let initialX;\n let initialY;\n let xOffset = 0;\n let yOffset = 0;\n this.dragStart = function (e) {\n if (e.type === \"touchstart\") {\n initialX = e.touches[0].clientX - xOffset;\n initialY = e.touches[0].clientY - yOffset;\n }\n else {\n initialX = e.clientX - xOffset;\n initialY = e.clientY - yOffset;\n }\n if (e.target === topBar[0]) {\n active = true;\n }\n };\n this.dragEnd = function (e) {\n initialX = currentX;\n initialY = currentY;\n active = false;\n };\n this.setTranslate = function (xPos, yPos, el) {\n el.style.transform = \"translate3d(\" + xPos + \"px, \" + yPos + \"px, 0)\";\n };\n this.drag = function (e) {\n if (active) {\n e.preventDefault();\n if (e.type === \"touchmove\") {\n currentX = e.touches[0].clientX - initialX;\n currentY = e.touches[0].clientY - initialY;\n }\n else {\n currentX = e.clientX - initialX;\n currentY = e.clientY - initialY;\n }\n xOffset = currentX;\n yOffset = currentY;\n self.setTranslate(currentX, currentY, self.window[0]);\n }\n };\n topBar[0].addEventListener(\"touchstart\", this.dragStart, false);\n topBar[0].addEventListener(\"touchend\", this.dragEnd, false);\n topBar[0].addEventListener(\"touchmove\", this.drag, false);\n topBar[0].addEventListener(\"mousedown\", this.dragStart, false);\n topBar[0].addEventListener(\"mouseup\", this.dragEnd, false);\n topBar[0].addEventListener(\"mousemove\", this.drag, false);\n }\n append(element) {\n this.window.append(element);\n }\n show() {\n this.window.css(\"display\", \"initial\");\n }\n close() {\n this.window.css(\"display\", \"none\");\n }\n remove() {\n this.closeBtn.off();\n this.window.remove();\n this.topBar[0].removeEventListener(\"touchstart\", this.dragStart);\n this.topBar[0].removeEventListener(\"touchend\", this.dragEnd);\n this.topBar[0].removeEventListener(\"touchmove\", this.drag);\n this.topBar[0].removeEventListener(\"mousedown\", this.dragStart);\n this.topBar[0].removeEventListener(\"mouseup\", this.dragEnd);\n this.topBar[0].removeEventListener(\"mousemove\", this.drag);\n }\n dispose() {\n this.remove();\n }\n}\nexports.PwDialog = PwDialog;\n;\n","\"use strict\";\n// Editor panel (embeded in dialog)\n// Extends Dialog\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorDialog = void 0;\nconst globals_1 = require(\"../../globals\");\nconst I18n_1 = require(\"../../I18n\");\nconst utils_1 = require(\"../../utils\");\nconst editorPanel_1 = require(\"../editorPanel\");\nconst dialog_1 = require(\"./dialog\");\n// Composes EditorPanel\nclass EditorDialog extends dialog_1.PwDialog {\n constructor() {\n super(' ' + (0, I18n_1.I18n)('matheditor'), 500, 320);\n const self = this;\n const gid = 'gid_' + Math.random().toString(32).substring(2);\n const qtype = globals_1.cfg.QTYPES.P;\n const def = {};\n this.editorPanel = new editorPanel_1.EditorPanel(this.window, gid, def, qtype, false);\n var controlButtons = $('
');\n var acceptBtn = $('');\n var cancelBtn = $('');\n controlButtons.append(acceptBtn);\n controlButtons.append(cancelBtn);\n this.append(controlButtons);\n acceptBtn.on('click', function (ev) {\n ev.preventDefault();\n if (self.acceptFn) {\n self.acceptFn(self);\n }\n self.close();\n });\n cancelBtn.on('click', function (ev) {\n ev.preventDefault();\n if (self.cancelFn) {\n self.cancelFn(self);\n }\n self.close();\n });\n }\n latex(tex) {\n if (tex != null) {\n this.editorPanel.latex(tex);\n return [''];\n }\n else {\n return this.editorPanel.latex().map((e) => (0, utils_1.sanitizeLaTeX)(e));\n }\n }\n //@override\n show() {\n this.window.css(\"display\", \"\");\n this.editorPanel.focus();\n }\n //@override\n dispose() {\n this.editorPanel.dispose();\n this.window.find('button').off();\n this.dispose();\n }\n reflow() {\n this.editorPanel.reflow();\n }\n setDefinition(def) {\n this.editorPanel.setDefinition(def);\n }\n}\nexports.EditorDialog = EditorDialog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorBase = void 0;\nconst globals_1 = require(\"../globals\");\nclass EditorBase {\n constructor(parent, gid, def, qtype) {\n this.parent = parent;\n this.gid = gid;\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.wrong_attemps = 0;\n this.isAnswerShown = false;\n this.def = def;\n this.qtype = qtype;\n this.pigen = false;\n this.comodi = false;\n this.hash = '';\n }\n get_gid() {\n return this.gid;\n }\n setDefinition(def) {\n this.def = def;\n this.ansType = def.ansType;\n }\n getDefinition() {\n return this.def;\n }\n increment_wrong() {\n this.wrong_attemps += 1;\n }\n getWrong_attemps() {\n return this.wrong_attemps;\n }\n getStatus() {\n return this.status;\n }\n setStatus(status) {\n this.status = status;\n }\n getQType() {\n return this.qtype;\n }\n setQType(qtype) {\n this.qtype = qtype;\n }\n isPigen() {\n return this.pigen;\n }\n setPigen(pigen) {\n this.pigen = pigen;\n }\n isComodiUsed() {\n return this.comodi;\n }\n setComodiUsed(comodi) {\n this.comodi = comodi;\n }\n getHash() {\n return this.hash;\n }\n setHash(hash) {\n this.hash = hash;\n }\n}\nexports.EditorBase = EditorBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorCloze = void 0;\nconst globals_1 = require(\"../globals\");\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst dialog_1 = require(\"./dialogs/dialog\");\nconst editorBase_1 = require(\"./editorBase\");\nclass EditorCloze extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, ini) {\n super(parent, gid, def, qtype);\n const self = this;\n this.dlg_btn_el = null;\n this.quill_el_container = $('
');\n const quill_el = $('' + ini + '');\n this.check_el = $('
');\n this.parent.append(this.quill_el_container);\n this.quill_el_container.append(quill_el);\n this.mathInput = (0, globals_1.StaticMath)(quill_el[0]);\n // TODO: listen to changes to set status to unmodified\n this.mathInput.innerFields.forEach(function (e) {\n e.__controller.textarea.on('keyup', function (ev) {\n ev.preventDefault();\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n });\n });\n this.quill_el_container.append(this.check_el);\n }\n clear() {\n this.mathInput.innerFields.forEach((v) => v.latex(''));\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n this.mathInput.focus();\n }\n latex(tex) {\n if (tex != null) {\n this.mathInput.latex(tex);\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n else {\n const parts = [];\n console.log(this.mathInput.innerFields);\n const v = this.mathInput.innerFields;\n for (let i = 0, lenv = v.length; i < lenv; i++) {\n parts.push(v[i].latex());\n }\n return parts;\n }\n return [];\n }\n checkMsg(status, msg) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n get_qid() {\n return this.mathInput.id;\n }\n dispose() {\n this.mathInput.revert();\n this.quill_el_container.find(\"button\").off();\n }\n reflow() {\n this.mathInput.reflow();\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n showAnswer() {\n if (!this.def) {\n console.error(\"Cannot show answer because, def is null\");\n return;\n }\n if (!this.def.right_answer) {\n console.error(\"Cannot show answer because, \", this.def.right_answer);\n return;\n }\n const self = this;\n //this.showAnswerBtn = $('');\n //this.quill_el_container.append(this.showAnswerBtn);\n // Must create a global dialog\n if (!globals_1.sharedDlg[\"showAnswerDlg\"]) {\n const dlg = new dialog_1.PwDialog((0, I18n_1.I18n)('right_answer'), 400, 250);\n globals_1.sharedDlg[\"showAnswerDlg\"] = dlg;\n const answerHolder = $('
');\n dlg.append(answerHolder);\n const closeBtn = $('');\n dlg.append(closeBtn);\n closeBtn.on('click', function (ev) {\n ev.preventDefault();\n dlg.close();\n });\n }\n // this.showAnswerBtn.on('click', function(ev){\n // ev.preventDefault();\n if (!self.isAnswerShown) {\n self.isAnswerShown = true;\n self.status = globals_1.cfg.STATUS.UNMODIFIED;\n //Disable mathquill\n //self.quill_blocker.addClass('pw-me-blocker');\n //Disable edit buttton\n if (self.dlg_btn_el) {\n self.dlg_btn_el.prop(\"disabled\", true);\n }\n }\n const dlg = globals_1.sharedDlg[\"showAnswerDlg\"];\n const answerHolder = dlg.window.find(\".pw-answer-holder\");\n if (self.def) {\n answerHolder.html(atob(self.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n dlg.show();\n }\n }\n}\nexports.EditorCloze = EditorCloze;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorInput = void 0;\nconst engineCAS_1 = require(\"../engines/engineCAS\");\nconst globals_1 = require(\"../globals\");\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst dialog_1 = require(\"./dialogs/dialog\");\nconst editorDialog_1 = require(\"./dialogs/editorDialog\");\nconst editorBase_1 = require(\"./editorBase\");\nclass EditorInput extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype) {\n super(parent, gid, def, qtype);\n var self = this;\n this.quill_el_container = $('
');\n this.quill_blocker = $('
');\n var quill_el = $('');\n this.quill_blocker.append(quill_el);\n this.check_el = $('
');\n this.quill_el_container.append(this.quill_blocker);\n var isBtn = (qtype === globals_1.cfg.QTYPES.S);\n this.parent.append(this.quill_el_container);\n this.mathInput = (0, globals_1.MathField)(quill_el[0], {\n handlers: {\n edit: function () {\n console.log(\"Edit ev on mathquill \", self.mathInput.latex());\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n }\n }\n });\n if (isBtn) {\n this.dlg_btn_el = $('');\n this.quill_el_container.append(this.dlg_btn_el);\n this.dlg_btn_el.on(\"click\", function (ev) {\n ev.preventDefault();\n // open a editordlg\n // must do the binding when closing\n var dlg = globals_1.sharedDlg['editordlg'];\n if (!dlg) {\n dlg = new editorDialog_1.EditorDialog();\n globals_1.sharedDlg['editordlg'] = dlg;\n }\n dlg.acceptFn = function (self2) {\n self.mathInput.latex(self2.latex());\n };\n dlg.setDefinition(self.def);\n dlg.show();\n dlg.latex(self.mathInput.latex());\n });\n }\n this.quill_el_container.append(this.check_el);\n }\n get_qid() {\n return this.mathInput.id;\n }\n clear() {\n this.mathInput.latex('');\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n this.mathInput.focus();\n }\n latex(tex) {\n if (tex != null) {\n console.log(\"Setting latex \", tex);\n this.mathInput.latex(tex);\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n else {\n return [(0, utils_1.sanitizeLaTeX)(this.mathInput.latex())];\n }\n return [];\n }\n checkMsg(status, msg) {\n this.status = status;\n var msg2 = null;\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n dispose() {\n this.mathInput.revert();\n this.quill_el_container.find(\"button\").off();\n }\n showAnswer() {\n if (!this.def.right_answer) {\n console.error(\"Cannot show answer because, \", this.def.right_answer);\n return;\n }\n var self = this;\n //const showAnswerBtn = $('') as JQuery;\n //this.quill_el_container.append(showAnswerBtn);\n // Must create a global dialog\n if (!globals_1.sharedDlg[\"showAnswerDlg\"]) {\n var dlg = new dialog_1.PwDialog((0, I18n_1.I18n)('right_answer'), 400, 250);\n globals_1.sharedDlg[\"showAnswerDlg\"] = dlg;\n var answerHolder = $('
');\n dlg.append(answerHolder);\n var closeBtn = $('');\n dlg.append(closeBtn);\n closeBtn.on('click', function (ev) {\n ev.preventDefault();\n dlg.close();\n });\n }\n // showAnswerBtn.on('click', function(ev){\n // ev.preventDefault();\n if (!self.isAnswerShown) {\n self.isAnswerShown = true;\n self.status = globals_1.cfg.STATUS.UNMODIFIED;\n // Disable mathquill\n self.quill_blocker.addClass('pw-me-blocker');\n // Disable edit buttton\n if (self.dlg_btn_el) {\n self.dlg_btn_el.prop(\"disabled\", true);\n }\n }\n var dlg = globals_1.sharedDlg[\"showAnswerDlg\"];\n var answerHolder = dlg.window.find(\".pw-answer-holder\");\n if (self.def) {\n answerHolder.html(atob(self.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n dlg.show();\n }\n // });\n }\n increment_wrong() {\n console.log(\"increment wrong\", this.wrong_attemps == globals_1.cfg.MAX_ATTEMPTS + 1, !this.pigen);\n this.wrong_attemps += 1;\n if (this.wrong_attemps == globals_1.cfg.MAX_ATTEMPTS + 1 && !this.pigen) {\n console.log(\"creating a rescue\", this.def);\n // create a button to display answer\n var rescueBtn = $('');\n var self = this;\n rescueBtn.on(\"click\", function (evt) {\n self.showAnswer();\n });\n if (!this.def.right_answer) {\n // Must ask the server to generate a right_answer for us by sending the def object\n engineCAS_1.engineCAS.getAnswer(this.def).then((datos) => {\n if (datos.right_answer && self.def) {\n self.def.right_answer = datos.right_answer;\n self.quill_el_container.append(rescueBtn);\n }\n else if (datos.msg) {\n console.error(datos.msg);\n }\n }, (errors) => {\n console.error(errors);\n });\n }\n else {\n this.quill_el_container.append(rescueBtn);\n }\n }\n }\n reflow() {\n this.mathInput.reflow();\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n}\nexports.EditorInput = EditorInput;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorMChoice = void 0;\nconst globals_1 = require(\"../globals\");\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst editorBase_1 = require(\"./editorBase\");\nclass EditorMChoice extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, options) {\n super(parent, gid, def, qtype);\n if (typeof (options) == 'string') {\n options = options.split(\";\");\n }\n const self = this;\n this.selectedIndex = '';\n this.gid = gid;\n this.qid = Math.floor(Math.random() * 10000) + 10000;\n this.options = options || [];\n // status = 0 incorrecte, status = 1 correcte, status < 0 errors \n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.parent = parent;\n this.wrong_attemps = 0;\n this.quill_el_container = $('
');\n this.check_el = $('
');\n const btn_group = $('
');\n this.btn_action = $('');\n const dropdown_menu = $('
');\n btn_group.append(this.btn_action);\n options.forEach((opt, i) => {\n const dropdown_item = $('' + opt + '');\n dropdown_item.on('click', function (evt) {\n evt.preventDefault();\n self.selectedIndex = i + '';\n self.btn_action.html(dropdown_item.html());\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n });\n dropdown_menu.append(dropdown_item);\n });\n btn_group.append(dropdown_menu);\n this.quill_el_container.append(btn_group);\n this.quill_el_container.append(this.check_el);\n this.parent.append(this.quill_el_container);\n (0, utils_1.reflowLatex)();\n }\n showAnswer() {\n }\n clear() {\n this.selectedIndex = '';\n this.btn_action.html('');\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n this.btn_action.focus();\n }\n latex(tex) {\n return [this.selectedIndex];\n }\n checkMsg(status, msg) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n dispose() {\n this.quill_el_container.off();\n }\n get_qid() {\n return this.qid;\n }\n reflow() {\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n}\nexports.EditorMChoice = EditorMChoice;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorMChoiceCheckbox = void 0;\nconst globals_1 = require(\"../globals\");\nconst utils_1 = require(\"../utils\");\nconst editorBase_1 = require(\"./editorBase\");\n/**\n * Multiple options with checkboxes\n * @param {*} parent\n * @param {*} gid\n * @param {*} options\n * @param {*} multipleAnswers\n*/\nclass EditorMChoiceCheckbox extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, multipleAnswers) {\n super(parent, gid, def, qtype);\n this.multipleAnswers = multipleAnswers || false;\n let options = def.symbols;\n const self = this;\n this.selectedIndex = '';\n this.gid = gid;\n this.qid = Math.floor(Math.random() * 10000) + 10000;\n this.options = options || [];\n // cfg.STATUS = 0 incorrecte, cfg.STATUS = 1 correcte, cfg.STATUS < 0 errors \n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.parent = parent;\n this.wrong_attemps = 0;\n this.quill_el_container = $('
');\n this.check_el = $('
');\n const radios_group = $('
');\n const radiosGroupId = \"rgid_\" + Math.random().toString(32).substring(2);\n const allRadios = [];\n options.forEach(function (opt, i) {\n const radioId = \"raid_\" + Math.random().toString(32).substring(2);\n const radio_wrapper = $('
');\n let radio_item = null;\n if (self.multipleAnswers) {\n radio_item = $('');\n }\n else {\n radio_item = $('');\n }\n allRadios.push(radio_item);\n const radio_label = $('');\n radio_item.on('change', function (evt) {\n evt.preventDefault();\n //Determine which are selected\n const wsel = [];\n for (let k = 0; k < allRadios.length; k++) {\n if (allRadios[k].prop('checked')) {\n wsel.push(allRadios[k].prop('value') + '');\n }\n }\n self.selectedIndex = wsel.join(',');\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n });\n radio_wrapper.append(radio_item);\n radio_wrapper.append(radio_label);\n radios_group.append(radio_wrapper);\n });\n this.quill_el_container.append(radios_group);\n this.quill_el_container.append(this.check_el);\n this.parent.append(this.quill_el_container);\n (0, utils_1.reflowLatex)();\n }\n showAnswer() {\n }\n clear() {\n this.selectedIndex = '';\n this.btn_action.html('');\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n }\n latex(tex) {\n return [this.selectedIndex];\n }\n get_qid() {\n return this.qid;\n }\n checkMsg(status, msg) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n dispose() {\n this.quill_el_container.off();\n }\n reflow() {\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n}\nexports.EditorMChoiceCheckbox = EditorMChoiceCheckbox;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorPanel = void 0;\nconst globals_1 = require(\"../globals\");\nconst utils_1 = require(\"../utils\");\nconst pwTabMenu_1 = require(\"./toolbar/pwTabMenu\");\nconst createToolbarButton_1 = require(\"./toolbar/createToolbarButton\");\nconst toolbar_config_1 = __importDefault(require(\"./toolbar/toolbar-config\"));\nconst editorBase_1 = require(\"./editorBase\");\nconst engineCAS_1 = require(\"../engines/engineCAS\");\n// Editor panel\nclass EditorPanel extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, standalone) {\n super(parent, gid, def, qtype);\n const self = this;\n this.parent = parent;\n this.gid = gid;\n this.wrong_attemps = 0;\n this.standalone = standalone || false;\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.panel = $('
');\n this.parent.append(this.panel);\n this.palettes = new pwTabMenu_1.PwTabMenu(this.panel, this.gid);\n this.spanMathInput = $('');\n this.spanMathInput.on(\"click\", function (ev) {\n ev.preventDefault();\n $('.pw-me-btn-dropdownmenu').css(\"display\", \"none\");\n });\n this.panel.append(this.spanMathInput);\n this.mathInput = (0, globals_1.MathField)(this.spanMathInput[0], {\n handlers: {\n edit() {\n if (standalone && self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el && self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n }\n }\n }\n });\n if (this.standalone) {\n this.check_el = $('
');\n this.panel.append(this.check_el);\n }\n this.feedback_el = $('
');\n this.panel.append(this.feedback_el);\n //Add button to palettes\n (0, utils_1.items)(toolbar_config_1.default.button_meta, function (name, btnInfo) {\n const tabName = toolbar_config_1.default.default_toolbar_tabs[btnInfo.tab - 1];\n self.palettes.addTab(tabName);\n // create and add button to palette \n const aButton = (0, createToolbarButton_1.createToolbarButton)(self.panel, btnInfo, name, self.mathInput);\n self.palettes.addContentsToTab(tabName, aButton);\n });\n this.setDefinition(def);\n }\n get $div() {\n return this.panel;\n }\n clear() {\n this.mathInput.latex('');\n this.check_el && this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n focus() {\n this.mathInput.focus();\n }\n latex(tex) {\n if (tex != null) {\n this.mathInput.latex(tex);\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n else {\n return [(0, utils_1.sanitizeLaTeX)(this.mathInput.latex())];\n }\n return [''];\n }\n checkMsg(status, msg) {\n if (this.standalone) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = ' ' + msg + '';\n }\n else if (status == 0) {\n msg2 = ' ' + msg + '';\n }\n else {\n msg2 = ' ' + msg + '';\n }\n this.check_el && this.check_el.html(msg2);\n }\n }\n get_qid() {\n return this.mathInput.id;\n }\n showPalette(name, visible) {\n this.palettes.setVisible(name, visible);\n }\n dispose() {\n this.mathInput.revert();\n this.panel.find(\"button\").off();\n this.palettes.dispose();\n }\n reflow() {\n this.mathInput.reflow();\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n setDefinition(def) {\n this.def = def;\n const self = this;\n if (def.palettes && def.palettes.indexOf('all') >= 0) {\n // Show all palettes\n // enable general palette\n toolbar_config_1.default.default_toolbar_tabs.forEach(function (name) {\n self.palettes.setVisible(name, true);\n });\n this.palettes.setTab('General');\n }\n // According to definition.palettes prepare the correct palettes\n else if (def.palettes && def.palettes.length) {\n // show this palettes\n // set to first palette\n let firstSelected = null;\n let num_visible = 0;\n toolbar_config_1.default.default_toolbar_tabs.forEach(function (name) {\n let found = false;\n let j = 0;\n while (!found && j < def.palettes.length) {\n found = def.palettes[j].toLowerCase().trim() == name.toLowerCase().trim();\n if (found && j == 0) {\n firstSelected = name;\n }\n if (found) {\n num_visible += 1;\n }\n j += 1;\n }\n self.palettes.setVisible(name, found);\n });\n if (num_visible == 0 || !firstSelected) {\n this.palettes.setVisible('General', true);\n }\n this.palettes.setTab(firstSelected || 'General');\n }\n else {\n // Only show the general palette\n // enable general palette\n toolbar_config_1.default.default_toolbar_tabs.forEach(function (name) {\n self.palettes.setVisible(name, name == 'General');\n });\n this.palettes.setTab('General');\n }\n }\n increment_wrong() {\n this.wrong_attemps += 1;\n if (this.wrong_attemps > globals_1.cfg.MAX_ATTEMPTS) {\n this.showAnswer();\n }\n }\n showAnswer() {\n var _a;\n var self = this;\n if (!this.def) {\n console.error(\"Cannot show answer because def is null\");\n return;\n }\n if (!this.def.right_answer) {\n // Try to ask the server to generate the answer\n engineCAS_1.engineCAS.getAnswer(this.def).then((datos) => {\n var _a;\n if (datos.right_answer) {\n (_a = self.check_el) === null || _a === void 0 ? void 0 : _a.css(\"display\", \"none\");\n self.def.right_answer = datos.right_answer;\n self.feedback_el.css(\"display\", \"\");\n self.feedback_el.html(atob(self.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n self.isAnswerShown = true;\n self.palettes.setEnabled(false);\n self.spanMathInput.css(\"pointer-events\", \"none\");\n self.panel.css(\"cursor\", \"not-allowed\");\n }\n else if (datos.msg) {\n console.error(datos.msg);\n }\n }, (errors) => {\n console.error(errors);\n });\n }\n else {\n (_a = self.check_el) === null || _a === void 0 ? void 0 : _a.css(\"display\", \"none\");\n this.feedback_el.css(\"display\", \"\");\n this.feedback_el.html(atob(this.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n this.isAnswerShown = true;\n this.palettes.setEnabled(false);\n this.spanMathInput.css(\"pointer-events\", \"none\");\n this.panel.css(\"cursor\", \"not-allowed\");\n }\n }\n}\nexports.EditorPanel = EditorPanel;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createToolbarButton = void 0;\nconst globals_1 = require(\"../../globals\");\n// Create a button for toolbar tab\nfunction createToolbarButton(parent, btn_meta, key, mathInput) {\n if (typeof (btn_meta.latex) === \"function\") {\n var btn = $('
');\n var icon = $('' + btn_meta.icon + '');\n (0, globals_1.StaticMath)(icon[0]);\n btn.append(icon);\n var panell = $('
');\n parent.append(panell);\n var controls = [];\n for (var k = 0, lenk = btn_meta.vars.length; k < lenk; k++) {\n var varObj = btn_meta.vars[k];\n var name = varObj.name;\n //TODO check number or text values\n var minmax = \"\";\n if (varObj.min != null) {\n minmax = ' min=\"' + varObj.min + '\" ';\n }\n if (varObj.max != null) {\n minmax += ' max=\"' + varObj.max + '\" ';\n }\n var control = $('');\n controls.push(control);\n var alab = $('' + name + '');\n panell.append(alab);\n panell.append(control);\n }\n var okButtton = $('');\n panell.append(okButtton);\n okButtton.on(\"click\", function (evt) {\n evt.preventDefault();\n //recupera mapa de valors\n var varsmap = {};\n for (var k = 0, lenk = controls.length; k < lenk; k++) {\n var $c = controls[k];\n var varObj = btn_meta.vars[k];\n var name = varObj.name;\n var value = $c.val();\n if (varObj.type === 'number') {\n value = parseInt(value);\n }\n varsmap[name] = value;\n }\n var real_latex = btn_meta.latex(varsmap);\n mathInput.write(real_latex);\n if (btn_meta.moveto) {\n mathInput.keystroke(btn_meta.moveto);\n }\n panell.css(\"display\", \"none\");\n mathInput.focus();\n });\n // requires a dialog to ask for parameters in btn_meta.vars array\n btn.on('click', function (ev) {\n ev.preventDefault();\n // open a dialog with inputs\n var panell_shown = panell.css(\"display\");\n panell.css(\"display\", panell_shown === 'none' ? \"grid\" : \"none\");\n });\n }\n else {\n btn = $('');\n var icon = $('' + btn_meta.icon + '');\n (0, globals_1.StaticMath)(icon[0]);\n btn.append(icon);\n // simple button\n btn.on('click', function (ev) {\n ev.preventDefault();\n mathInput.write(btn_meta.latex);\n mathInput.focus();\n if (btn_meta.moveto) {\n mathInput.keystroke(btn_meta.moveto);\n }\n $('.pw-me-btn-dropdownmenu').css(\"display\", \"none\");\n });\n }\n return btn;\n}\nexports.createToolbarButton = createToolbarButton;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PwTabMenu = void 0;\nconst I18n_1 = require(\"../../I18n\");\nconst utils_1 = require(\"../../utils\");\n// TabMenu\nclass PwTabMenu {\n constructor(parent, gid) {\n this.$panel = $('
');\n this.parent = parent;\n this.tabs = {};\n this.currentTab = null;\n this.tabsPanel = $('
');\n this.contentsPanel = $('
');\n this.$panel.append(this.tabsPanel);\n this.$panel.append(this.contentsPanel);\n if (this.parent) {\n this.parent.append(this.$panel);\n }\n this.gid = gid;\n }\n get $div() {\n return this.$panel;\n }\n addTab(name) {\n if (this.tabs[name]) {\n //already exists\n return;\n }\n var self = this;\n var tab = $('');\n var container = $('
');\n tab.on('click', function (ev) {\n ev.preventDefault();\n self.setTab(name);\n });\n this.tabsPanel.append(tab);\n this.contentsPanel.append(container);\n this.tabs[name] = {\n tab: tab,\n container: container\n };\n if (Object.keys(this.tabs).length === 1) {\n this.setTab(name);\n }\n }\n addContentsToTab(name, contents) {\n if (this.tabs[name]) {\n this.tabs[name].container.append(contents);\n }\n }\n setVisible(name, visibility) {\n console.log(name, this.tabs);\n if (this.tabs[name]) {\n this.tabs[name].tab.css('display', visibility ? '' : 'none');\n this.tabs[name].container.css('display', visibility ? 'flex' : 'none');\n }\n }\n setEnabled(enabled) {\n if (enabled) {\n this.contentsPanel.css(\"pointer-events\", \"initial\");\n this.$panel.css(\"cursor\", \"initial\");\n }\n else {\n this.contentsPanel.css(\"pointer-events\", \"none\");\n this.$panel.css(\"cursor\", \"not-allowed\");\n }\n }\n setTab(name) {\n (0, utils_1.items)(this.tabs, function (key, value) {\n if (key == name) {\n value.tab.addClass('pw-me-btn-active');\n value.tab.css('display', '');\n }\n else {\n value.tab.removeClass('pw-me-btn-active');\n }\n value.container.css('display', key == name ? 'flex' : 'none');\n });\n }\n dispose() {\n this.tabsPanel.children().off();\n this.tabsPanel.html('');\n this.contentsPanel.html('');\n this.tabs = {};\n }\n}\nexports.PwTabMenu = PwTabMenu;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst default_toolbar_buttons = ['fraction', 'square_root', 'cube_root', 'root', 'superscript', 'subscript', 'multiplication', 'division', 'plus_minus', 'pi', 'degree', 'not_equal', 'greater_equal', 'less_equal', 'greater_than', 'less_than', 'angle', 'parallel_to', 'perpendicular', 'triangle', 'parallelogram', 'round_brackets', 'matrix2', 'matrix3'];\nconst default_toolbar_tabs = [\"General\", \"Símbols\", \"Geometria\", \"Intervals\", \"Funcions\"];\nconst button_meta = {\n //TAB1\n \"Multiplicació\": { latex: \"\\\\times\", tab: 1, icon: '\\\\times' },\n \"Fracció\": { latex: \"\\\\frac{}{}\", moveto: \"Up\", movefor: 1, tab: 1, icon: '\\\\frac{\\\\square}{\\\\square}' },\n \"Exponent\": { latex: \"\\\\^{}\", moveto: \"Up\", movefor: 1, tab: 1, icon: '\\\\square^2' },\n \"Parèntesis\": { latex: \"\\\\left(\\\\right)\", moveto: \"Left\", movefor: 1, tab: 1, icon: '\\\\left(\\\\square\\\\right)' },\n \"Arrel quadrada\": { latex: \"\\\\sqrt{}\", moveto: \"Left\", movefor: 1, tab: 1, icon: '\\\\sqrt{\\\\square}' },\n \"Arrel cúbica\": { latex: \"\\\\sqrt[3]{}\", moveto: \"Left\", movefor: 1, tab: 1, icon: '\\\\sqrt[3]{\\\\square}' },\n \"Radical\": { latex: \"\\\\sqrt[{}]{}\", moveto: \"Left\", movefor: 2, tab: 1, icon: '\\\\sqrt[\\\\square]{\\\\square}' },\n \"Matriu 2x2\": { latex: \"\\\\begin{pmatrix} & \\\\\\\\ & \\\\end{pmatrix}\", tab: 1, icon: 'M_{2\\\\times 2}' },\n \"Matriu 3x3\": { latex: \"\\\\begin{pmatrix} & & \\\\\\\\ & & \\\\\\\\ & & \\\\end{pmatrix}\", tab: 1, icon: 'M_{3\\\\times 3}' },\n \"Matriu mxn\": {\n latex: function (vars) {\n const lat = [];\n for (let i = 0; i < vars.n; i++) {\n const latrow = [];\n for (let j = 0; j < vars.m; j++) {\n latrow.push(\" \");\n }\n lat.push(latrow.join(\"&\"));\n }\n return \"\\\\begin{pmatrix} \" + lat.join(\"\\\\\\\\\") + \" \\\\end{pmatrix}\";\n }, tab: 1, icon: 'M_{n\\\\times m}', vars: [{ name: 'n', type: 'number', min: 1, val: 2 }, { name: 'm', type: 'number', min: 1, val: 2 }]\n },\n \"Subíndex\": { latex: \"\\\\_{}\", moveto: \"Down\", movefor: 1, tab: 1, icon: '\\\\square_{2}' },\n //TAB2 - símbols i constants\n \"pi\": { latex: \"\\\\pi\", tab: 2, icon: '\\\\pi' },\n \"e\": { latex: \"\\\\e\", tab: 2, icon: 'e' },\n \"infinit\": { latex: \"\\\\infty\", tab: 2, icon: '\\\\infty' },\n \"Més menys\": { latex: \"\\\\pm\", tab: 2, icon: '\\\\pm' },\n \"Diferent\": { latex: \"\\\\neq\", tab: 2, icon: '\\\\neq' },\n \"Major o igual\": { latex: \"\\\\geq\", tab: 2, icon: '\\\\geq' },\n \"Menor o igual\": { latex: \"\\\\leq\", tab: 2, icon: '\\\\leq' },\n \"Major que\": { latex: \"\\\\gt\", tab: 2, icon: '\\\\gt' },\n \"Menor que\": { latex: \"\\\\lt\", tab: 2, icon: '\\\\lt' },\n //TAB3 - geometria\n \"Graus\": { latex: \"\\\\degree\", tab: 3, icon: '\\\\degree' },\n \"Angle\": { latex: \"\\\\angle\", tab: 3, icon: '\\\\angle' },\n \"Paral·lel a\": { latex: \"\\\\parallel\", tab: 3, icon: '\\\\parallel' },\n \"Perpendicular a\": { latex: \"\\\\perpendicular\", tab: 3, icon: '\\\\perpendicular' },\n \"Triangle\": { latex: \"\\\\triangle\", tab: 3, icon: '\\\\triangle' },\n \"Paral·lelogram\": { latex: \"\\\\parallelogram\", tab: 3, icon: '\\\\parallelogram' },\n //TAB4 - intervals\n \"Interval obert\": { latex: \"\\\\left( , \\\\right)\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left(\\\\square, \\\\square\\\\right)' },\n \"Interval tancat\": { latex: \"\\\\left[ , \\\\right]\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left[\\\\square, \\\\square\\\\right]' },\n \"Interval semi1\": { latex: \"\\\\left[ , \\\\right)\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left[\\\\square, \\\\square\\\\right)' },\n \"Interval semi2\": { latex: \"\\\\left( , \\\\right]\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left(\\\\square, \\\\square\\\\right]' },\n \"Infinit\": { latex: \"\\\\infty\", tab: 4, icon: '\\\\infty' },\n \"Conjunt dels reals\": { latex: \"\\\\mathbb{R}\", tab: 4, icon: '\\\\mathbb{R}' },\n //TAB5- Funcions\n \"Sinus\": { latex: \"\\\\sin()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\sin{\\\\square}' },\n \"Cosinus\": { latex: \"\\\\cos()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\cos{\\\\square}' },\n \"Tangent\": { latex: \"\\\\tan()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\tan{\\\\square}' },\n \"Arcsinus\": { latex: \"\\\\arcsin()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\arcsin{\\\\square}' },\n \"Arccosinus\": { latex: \"\\\\arccos()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\arccos{\\\\square}' },\n \"Arctangent\": { latex: \"\\\\arctan()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\arctan{\\\\square}' },\n \"Logaritme Neperià\": { latex: \"\\\\ln()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\ln{\\\\square}' },\n \"Logaritme en base b\": { latex: \"\\\\frac{\\\\log()}{\\\\log{b}}\", moveto: \"Left\", movefor: 4, tab: 5, icon: '\\\\log_b{\\\\square}' },\n};\nconst keyboard_keys = {\n 'letters': [{ 'value': 'q', 'type': 'write', 'class': 'ks', 'display': 'q', 'new_line': false }, { 'value': 'w', 'type': 'write', 'class': 'ks', 'display': 'w', 'new_line': false }, { 'value': 'e', 'type': 'write', 'class': 'ks', 'display': 'e', 'new_line': false }, { 'value': 'r', 'type': 'write', 'class': 'ks', 'display': 'r', 'new_line': false }, { 'value': 't', 'type': 'write', 'class': 'ks', 'display': 't', 'new_line': false }, { 'value': 'y', 'type': 'write', 'class': 'ks', 'display': 'y', 'new_line': false }, { 'value': 'u', 'type': 'write', 'class': 'ks', 'display': 'u', 'new_line': false }, { 'value': 'i', 'type': 'write', 'class': 'ks', 'display': 'i', 'new_line': false }, { 'value': 'o', 'type': 'write', 'class': 'ks', 'display': 'o', 'new_line': false }, { 'value': 'p', 'type': 'write', 'class': 'ks', 'display': 'p', 'new_line': true }, { 'value': 'a', 'type': 'write', 'class': 'ks', 'display': 'a', 'new_line': false }, { 'value': 's', 'type': 'write', 'class': 'ks', 'display': 's', 'new_line': false }, { 'value': 'd', 'type': 'write', 'class': 'ks', 'display': 'd', 'new_line': false }, { 'value': 'f', 'type': 'write', 'class': 'ks', 'display': 'f', 'new_line': false }, { 'value': 'g', 'type': 'write', 'class': 'ks', 'display': 'g', 'new_line': false }, { 'value': 'h', 'type': 'write', 'class': 'ks', 'display': 'h', 'new_line': false }, { 'value': 'j', 'type': 'write', 'class': 'ks', 'display': 'j', 'new_line': false }, {\n 'value': 'k', 'type': 'write', 'class': 'ks', 'display': 'k', 'new_line': false\n }, { 'value': 'l', 'type': 'write', 'class': 'ks', 'display': 'l', 'new_line': true }, { 'value': 'CapsLock', 'type': 'custom', 'class': 'ks long icon', 'display': '⇡', 'new_line': false }, { 'value': 'z', 'type': 'write', 'class': 'ks', 'display': 'z', 'new_line': false }, { 'value': 'x', 'type': 'write', 'class': 'ks', 'display': 'x', 'new_line': false }, { 'value': 'c', 'type': 'write', 'class': 'ks', 'display': 'c', 'new_line': false }, { 'value': 'v', 'type': 'write', 'class': 'ks', 'display': 'v', 'new_line': false }, { 'value': 'b', 'type': 'write', 'class': 'ks', 'display': 'b', 'new_line': false }, { 'value': 'n', 'type': 'write', 'class': 'ks', 'display': 'n', 'new_line': false }, { 'value': 'm', 'type': 'write', 'class': 'ks', 'display': 'm', 'new_line': false }, { 'value': 'Backspace', 'type': 'keystroke', 'class': 'ks long icon', 'display': '⇦', 'new_line': true }, { 'value': 'numpad', 'type': 'custom', 'class': 'ks long', 'display': '123', 'new_line': false }, { 'value': ',', 'type': 'write', 'class': 'ks', 'display': ',', 'new_line': false }, { 'value': '\\\\ ', 'type': 'write', 'class': 'ks too_long', 'display': 'Space', 'new_line': false }, { 'value': '.', 'type': 'write', 'class': 'ks', 'display': '.', 'new_line': false }, { 'value': 'close', 'type': 'custom', 'class': 'ks long takeup', 'display': 'X', 'new_line': false }], 'numbers': [{ 'value': '1', 'type': 'write', 'class': 'ks', 'display': '1', 'new_line': false }, { 'value': '2', 'type': 'write', 'class': 'ks', 'display': '2', 'new_line': false }, { 'value': '3', 'type': 'write', 'class': 'ks', 'display': '3', 'new_line': false }, { 'value': '+', 'type': 'write', 'class': 'ks', 'display': '+', 'new_line': false }, { 'value': '-', 'type': 'write', 'class': 'ks', 'display': '⁻', 'new_line': true }, { 'value': '4', 'type': 'write', 'class': 'ks', 'display': '4', 'new_line': false }, { 'value': '5', 'type': 'write', 'class': 'ks', 'display': '5', 'new_line': false }, {\n 'value': '6', 'type': 'write',\n 'class': 'ks', 'display': '6', 'new_line': false\n }, { 'value': '\\\\times', 'type': 'write', 'class': 'ks', 'display': '×', 'new_line': false }, { 'value': '/', 'type': 'write', 'class': 'ks', 'display': '÷', 'new_line': true }, { 'value': '7', 'type': 'write', 'class': 'ks', 'display': '7', 'new_line': false }, { 'value': '8', 'type': 'write', 'class': 'ks', 'display': '8', 'new_line': false }, { 'value': '9', 'type': 'write', 'class': 'ks', 'display': '9', 'new_line': false }, { 'value': '=', 'type': 'write', 'class': 'ks', 'display': '=', 'new_line': false }, { 'value': 'Backspace', 'type': 'keystroke', 'class': 'ks long icon', 'display': '⇦', 'new_line': true }, { 'value': 'letters', 'type': 'custom', 'class': 'ks long', 'display': 'ABC', 'new_line': false }, { 'value': '0', 'type': 'write', 'class': 'ks', 'display': '0', 'new_line': false }, { 'value': '?', 'type': 'write', 'class': 'ks', 'display': '?', 'new_line': false }, {\n 'value': '%', 'type': 'write', 'class': 'ks', 'display': '%',\n 'new_line': false\n }, { 'value': 'close', 'type': 'custom', 'class': 'ks long takeup', 'display': 'X', 'new_line': false }]\n};\nexports.default = {\n default_toolbar_buttons,\n default_toolbar_tabs,\n button_meta,\n keyboard_keys\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createQuillFromObject = void 0;\nconst editorCloze_1 = require(\"./components/editorCloze\");\nconst editorInput_1 = require(\"./components/editorInput\");\nconst editorPanel_1 = require(\"./components/editorPanel\");\nconst editorMChoice_1 = require(\"./components/editorMChoice\");\nconst globals_1 = require(\"./globals\");\nconst editorMChoiceCheckbox_1 = require(\"./components/editorMChoiceCheckbox\");\nconst utils_1 = require(\"./utils\");\nfunction createQuillFromObject($el, gid, obj) {\n let created = null;\n const qtype = obj.editor;\n if (obj.formulation) {\n const spanEl = \"\" + obj.formulation + \"\";\n $el.append(spanEl);\n // Probably will have to process mathjax\n (0, utils_1.reflowLatex)();\n }\n $el.removeClass(\"pygen-cloze\");\n if (qtype == globals_1.cfg.QTYPES.C) {\n // clozed input (replace ini with boxes) \n created = new editorCloze_1.EditorCloze($el, gid, obj, globals_1.cfg.QTYPES.C, obj.initial_latex);\n $el.addClass(\"pygen-cloze\");\n }\n else if (qtype == globals_1.cfg.QTYPES.P) {\n // Full panel\n created = new editorPanel_1.EditorPanel($el, gid, obj, globals_1.cfg.QTYPES.P, true);\n }\n else if (qtype == globals_1.cfg.QTYPES.M) {\n obj.symbols = obj.symbols || [];\n // Multiple choice combo \n created = new editorMChoice_1.EditorMChoice($el, gid, obj, globals_1.cfg.QTYPES.M, obj.symbols);\n }\n else if (qtype == globals_1.cfg.QTYPES.Ms) {\n obj.symbols = obj.symbols || [];\n // Multiple choice radio and checkbox\n // TODO support multiple answers\n const multipleAnswers = Array.isArray(obj.ans);\n //created = new MultipleChoiceCombo($el, gid, obj.symbols);\n created = new editorMChoiceCheckbox_1.EditorMChoiceCheckbox($el, gid, obj, globals_1.cfg.QTYPES.Ms, multipleAnswers);\n }\n else if (qtype == globals_1.cfg.QTYPES.B) {\n // basic quill\n created = new editorInput_1.EditorInput($el, gid, obj, globals_1.cfg.QTYPES.B);\n }\n else {\n // Simple quill input\n created = new editorInput_1.EditorInput($el, gid, obj, globals_1.cfg.QTYPES.S);\n }\n const qid = created.get_qid();\n const groupContainer = globals_1.shared[gid] || {};\n groupContainer[qid] = created;\n created.setStatus(globals_1.cfg.STATUS.UNMODIFIED);\n if (obj.initial_latex && qtype != globals_1.cfg.QTYPES.C) {\n //console.log(\"Setting initial_latex\", obj.initial_latex);\n created.latex(obj.initial_latex);\n created.setStatus(globals_1.cfg.STATUS.MODIFIED);\n }\n return qid;\n}\nexports.createQuillFromObject = createQuillFromObject;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.engineCAS = void 0;\nconst globals_1 = require(\"../globals\");\nconst nerdamerCAS_1 = require(\"./nerdamerCAS\");\nconst sympyCAS_1 = require(\"./sympyCAS\");\n// Decide which engine to use based on global cfg and the current payload\nexports.engineCAS = {\n compare(payload) {\n const engine = payload.engine || globals_1.cfg.DEFAULT_ENGINE;\n if (engine === 'sympy') {\n return sympyCAS_1.sympyCAS.compare(payload);\n }\n return nerdamerCAS_1.nerdamerCAS.compare(payload);\n },\n getAnswer(payload) {\n const engine = payload.engine || globals_1.cfg.DEFAULT_ENGINE;\n if (engine === 'sympy') {\n return sympyCAS_1.sympyCAS.getAnswer(payload);\n }\n return nerdamerCAS_1.nerdamerCAS.getAnswer(payload);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.nerdamerCAS = void 0;\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst parseLatex_1 = require(\"./parseLatex\");\nfunction is_set(expr) {\n var _a;\n if (Array.isArray((_a = expr === null || expr === void 0 ? void 0 : expr.symbols) === null || _a === void 0 ? void 0 : _a.elements)) {\n const mat = expr.symbols.elements;\n const firstElem = mat[0];\n if (!Array.isArray(firstElem)) {\n return true;\n }\n }\n return false;\n}\nfunction is_interval(expr) {\n // Intervals not implemented in Nerdamer\n return false;\n}\nfunction is_matrix(expr) {\n const txt = expr.text();\n if (txt.startsWith('matrix')) {\n return window.nerdamer('size(' + txt + ')');\n }\n return null;\n}\nfunction is_zero_matrix(expr) {\n let isZero = true;\n expr.each((e) => { isZero = isZero && (e.text() == '0'); });\n return isZero;\n}\nclass NerdamerCAS {\n static clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n }\n static decrypt(str) {\n return atob(str);\n }\n static checkRules(p) {\n //Before parsing and evaluation, do checks directly based on latex answers\n const rules_checks = [];\n let rules = p.rules || {};\n if (typeof rules === 'string') {\n console.log(\"Converting rules to json\");\n rules = JSON.parse(rules);\n }\n const latex_code = p.latex.join(' ');\n // comma as tuple\n if (rules['comma_as_decimal']) {\n console.log('Consider comma as decimal');\n // by default, consider comma as decimal separator\n p['latex'] = p['latex'].map((e) => e.replace(',', '.'));\n }\n // do not allow sympy keywords in latex code\n // TODO\n if (rules['forbidden']) {\n // symbols or expressions that are forbidden\n rules[\"forbidden\"].forEach((fo_symb) => {\n if (latex_code[fo_symb]) {\n rules_checks.push((0, I18n_1.I18n)('sym_notallowed', fo_symb));\n }\n });\n }\n if (rules[\"unique\"]) {\n // Symbols that can only appear once\n rules[\"unique\"].forEach((un_sym) => {\n if ((latex_code.match(new RegExp(un_sym, 'g')) || []).length > 1) {\n rules_checks.push((0, I18n_1.I18n)('sym_once', un_sym));\n }\n });\n }\n return rules_checks;\n }\n compare(p) {\n const cas = window.nerdamer;\n console.log(\"The payload: \", p);\n p = NerdamerCAS.clone(p);\n if (typeof (p['latex']) === 'string') {\n p['latex'] = [p['latex']];\n }\n return new Promise((resolve, reject) => {\n //Remove all stores expressions\n cas.flush();\n cas.clearVars();\n const core = window.nerdamer.getCore();\n const Symbol = core.Symbol;\n const scope = { 'x': cas('x'), 'y': cas('y'), 'z': cas('z'), 't': cas('t'), 'e': cas('exp(1)') };\n const rules_checks = NerdamerCAS.checkRules(p);\n if (rules_checks.length) {\n resolve({ \"qid\": p.qid, \"msg\": rules_checks.join(' '), \"correct\": 0 });\n return;\n }\n // Parses user input latex --> nerdamer\n let user_sympy = [];\n try {\n user_sympy = p['latex'].map((e) => (0, parseLatex_1.parseLatex)(e));\n if (user_sympy.filter((x) => x == null).length > 0) {\n return resolve({ \"qid\": p['qid'], \"correct\": -4, \"msg\": (0, I18n_1.I18n)('error_cantprocess') });\n }\n }\n catch (ex) {\n console.error(ex);\n return resolve({ \"qid\": p['qid'], \"correct\": -4, \"msg\": \"Error: No es poden processar les respostes donades: \" + ex });\n }\n // Adds user answer to scope for checking evaluation and user defined symbols\n user_sympy.forEach((v, i) => {\n cas.setVar('ua_' + i, v);\n });\n //Prepares local scope for evaluation\n try {\n (p['symbols'] || []).forEach((symb) => {\n if (symb.indexOf(':=') > 0) {\n const pos = symb.indexOf(\":=\");\n const symb_name = symb.substring(0, pos);\n const symb_raw = symb.substring(pos + 2);\n cas.setVar(symb_name, symb_raw);\n }\n else {\n cas.setVar(symb, symb);\n }\n });\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"qid\": p[\"qid\"], \"correct\": -2, \"msg\": \"Error: no es poden processar els símbols: \" + ex });\n return;\n }\n console.log(\"The scope:: \");\n (0, utils_1.items)(scope, function (k, v) {\n console.log(k + \": \", v.text());\n });\n let ans_sympy = [];\n try {\n //print('decrypting.....')\n if (p['anse']) {\n p['ans'] = NerdamerCAS.decrypt(p['anse']);\n }\n console.log('ans decrypted ', p['anse'], p['ans']);\n if (typeof p['ans'] === 'string') {\n p['ans'] = [p['ans']];\n }\n ans_sympy = p['ans'].map((e) => cas(e, scope));\n if (ans_sympy.filter((e) => e == null).length > 0) {\n resolve({ \"qid\": p['qid'], \"correct\": -3, \"msg\": \"Error: Hi ha respostes 'ans' que no es poden processar\" });\n return;\n }\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"qid\": p['qid'], \"correct\": -3, \"msg\": \"Error: No es poden processar les respostes 'ans': \" + ex });\n return;\n }\n //TODO case of logical check condition as answer\n // Before performing math difference to check equality, check types\n try {\n const msgs = [];\n (0, utils_1.zip)(ans_sympy, user_sympy).forEach((pair) => {\n const [ans_obj, parsed_input] = pair;\n if (is_set(ans_obj) && !is_set(parsed_input)) {\n msgs.push(\"S'espera un conjunt per resposta. Per exemple \\\\(\\\\{\\\\sqrt{2},\\\\, \\\\pi\\\\}\\\\)\");\n }\n else if (is_matrix(ans_obj) && !is_matrix(parsed_input)) {\n msgs.push(\"S'espera una matriu per resposta.\");\n }\n else if (is_interval(ans_obj) && !is_interval(parsed_input)) {\n msgs.push(\"S'espera un interval per resposta.\");\n }\n else if (!is_matrix(ans_obj) && is_matrix(parsed_input)) {\n msgs.push(\"S'espera una expressió per resposta.\");\n }\n const dims1 = is_matrix(ans_obj);\n const dims2 = is_matrix(parsed_input);\n if (dims1 && dims2) {\n // check if both have the same dimensions\n if ((dims1[0] != dims2[0]) || (dims1[1] != dims2[1])) {\n msgs.push(\"La matriu resposta no té la dimensió correcta.\");\n }\n }\n });\n if (msgs.length > 0) {\n resolve({ \"qid\": p['qid'], \"correct\": 0, \"msg\": msgs.join(' ') });\n return;\n }\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"qid\": p['qid'], \"correct\": -4, \"msg\": \"Error: S'ha produït un error comprovant els tipus \" + ex });\n return;\n }\n // Check for mathematical equivalence\n // This produces an errorr because rules passes as a list not a dict!!!!\n //check_method = rules.get(\"method\", \"meqv\") #support other methods numeric[0.01]\n // TODO as_vector is not supported here\n // Treat every element in array of answers indepently \n let correct = 0;\n let msg = '';\n try {\n (0, utils_1.zip)(ans_sympy, user_sympy).forEach((pair) => {\n const [ans_obj, parsed_input] = pair;\n console.log('Compare:: ', ans_obj.text(), parsed_input.text());\n // Cannot compare list and FineSet so, convert list to FiniteSet\n // console.log(ans_obj, parsed_input, type(ans_obj), type(parsed_input))\n //print('starting to compare', ans_obj, parsed_input)\n let expr = null;\n const rules = p[\"rules\"] || {};\n // decide if precision is set\n if (rules['precision']) {\n // Numerical equivalence within precision\n expr = Math.abs(ans_obj.toDecimal() - parsed_input.toDecimal()) < rules['precision'];\n console.log('epsilon', expr);\n }\n else {\n if (is_matrix(ans_obj)) {\n const delta = ans_obj.subtract(parsed_input);\n console.log('debug ', ans_obj.text(), parsed_input.text(), delta.text());\n expr = is_zero_matrix(delta);\n }\n else if (rules['factor'] || rules['expand']) {\n //This condition takes into account if expanded or not\n expr = ans_obj.eq(parsed_input);\n }\n else {\n //expr = ans_obj.eq(parsed_input) \n //Check for subtraction eq 0?\n expr = ans_obj.subtract(parsed_input).simplify();\n expr = expr.text() == '0';\n }\n console.log('remainder', expr);\n }\n if (typeof expr === 'boolean' && expr === true) {\n // Sabem que és matemàticament equivalent\n correct = 1;\n msg = (0, I18n_1.I18n)('right_answer');\n /*\n if ('factor' in rules) and (rules['factor']==True) and (not (isinstance(parsed_input, Mul) or isinstance(parsed_input, Pow)) ):\n correct = 0\n msg = \"La resposta ha estar factoritzada.\"\n elif ('factor' in rules) and (rules['factor']==False) and (not isinstance(parsed_input, Add)):\n correct = 0\n msg = \"La resposta ha d'estar desenvolupada.\"\n */\n }\n else {\n msg = (0, I18n_1.I18n)('wrong_answer');\n correct = 0;\n /*\n if is_matrix(expr):\n msg = find_not_zero_element(expr)\n */\n }\n if (correct == 0) {\n return true;\n }\n // Once equality is checked, then treat the number of terms and factors as second check\n // Apply only for expressions of polynomial type\n if (rules[\"num_terms\"] && parsed_input.isPolynomial()) {\n const unt = parsed_input.symbols.coeffs().length;\n const nexpect = ans_obj.symbols.expand().coeffs().length;\n const nterms_diff = nexpect - unt;\n if (rules[\"num_terms\"] == \"equal\" && nterms_diff != 0) {\n msg = \"La resposta hauria de tenir \" + nexpect + \" termes sumats o restats.\";\n correct = 0;\n }\n }\n /*\n elif type(ans_obj) == Mul or type(ans_obj) == Pow:\n #Si només té un terme, comprova si està ben factoritzat\n # TODO: Allow arbitrary number of numeric factors. Filter only those with symbols\n tmp1 = list(filter(lambda e: is_symbolic(e), ans_obj.as_ordered_factors()))\n tmp2 = list(filter(lambda e: is_symbolic(e), parsed_input.as_ordered_factors()))\n nexpect = len(tmp1)\n nterms_diff = nexpect - len(tmp2)\n if nterms_diff != 0:\n print(str(tmp1), str([type(e) for e in tmp1]))\n print(str(tmp2), str([type(e) for e in tmp2]))\n msg = \"La resposta hauria de contenir \"+str(nexpect)+\" factors simbòlics.\"\n correct = 0\n \n if correct == 0:\n break\n */\n }); //end zip foreach\n }\n catch (err) {\n console.error(\"Exception comparing \", err);\n msg = (0, I18n_1.I18n)('error_verifying');\n correct = -1;\n }\n console.log(\"Response:: \", correct, msg);\n resolve({ \"qid\": p['qid'], \"correct\": correct, \"msg\": msg });\n });\n }\n getAnswer(p) {\n const cas = window.nerdamer;\n p = NerdamerCAS.clone(p);\n return new Promise((resolve, reject) => {\n // Prepares local scope for evaluation\n const scope = { 'x': cas('x'), 'y': cas('y'), 'z': cas('z'), 't': cas('t'), 'e': cas('exp(1)') };\n //Prepares local scope for evaluation\n try {\n (p['symbols'] || []).forEach((symb) => {\n if (symb.indexOf(':=') > 0) {\n const pos = symb.indexOf(\":=\");\n const symb_name = symb.substring(0, pos);\n const symb_raw = symb.substring(pos + 2);\n cas.setVar(symb_name, symb_raw);\n }\n else {\n cas.setVar(symb, symb);\n }\n });\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"msg\": \"Error: no es poden processar els símbols: \" + ex });\n return;\n }\n //TODO assume ans is str\n if (typeof p['ans'] === 'string') {\n const ans_sympy = cas(p['ans'], scope);\n const ra = `${(0, I18n_1.I18n)('expected_ans')}
\\\\(${ans_sympy.latex()}\\\\)`;\n resolve({ \"right_answer\": btoa(ra) });\n return;\n }\n resolve({ \"msg\": \"Vector ans is not supported yet!\" });\n });\n }\n}\nexports.nerdamerCAS = new NerdamerCAS();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseLatex = void 0;\nconst pmatrix_re = /\\\\begin\\{pmatrix\\}(.*?)\\\\end\\{pmatrix\\}/gm;\nlet mcount = 0;\n// Convert a \\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix} in to nermader matrix([a,b],[c,d]) \nfunction parse_pmatrix(latex) {\n latex = latex.replace(\"\\\\begin{pmatrix}\", \"\").replace(\"\\\\end{pmatrix}\", \"\");\n const rows = latex.split(\"\\\\\\\\\").map((row) => {\n const cols = row.split(\"&\").map((col) => col.trim());\n return '[' + cols.join(',') + ']';\n });\n const out = 'matrix(' + rows.join(',') + ')';\n const varName = 'M_' + mcount;\n window.nerdamer.setVar(varName, out);\n mcount++;\n return varName;\n}\nfunction parseLatex(tex) {\n // Treat matrices\n tex = tex.replace(pmatrix_re, function ($0, $1) {\n return parse_pmatrix($0);\n });\n return window.nerdamer.convertFromLaTeX(tex);\n}\nexports.parseLatex = parseLatex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sympyCAS = void 0;\nconst globals_1 = require(\"../globals\");\nclass SympyCAS {\n compare(payload) {\n return new Promise((resolve, reject) => {\n $.ajax({\n type: \"POST\",\n url: globals_1.cfg.CAS_URL,\n data: JSON.stringify(payload),\n dataType: 'json',\n success: function (datos) {\n resolve(datos);\n },\n error: function (datos) {\n reject(datos);\n }\n });\n });\n }\n getAnswer(payload) {\n return new Promise((resolve, reject) => {\n $.ajax({\n type: \"POST\",\n url: globals_1.cfg.GETANSWER_URL,\n data: JSON.stringify(payload),\n dataType: 'json',\n success: function (datos) {\n resolve(datos);\n },\n error: function (datos) {\n reject(datos);\n }\n });\n });\n }\n}\nexports.sympyCAS = new SympyCAS();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findPyGenerators = void 0;\nconst actions_1 = require(\"./actions\");\nconst LevelIndicator_1 = require(\"./components/LevelIndicator\");\nconst createQuill_1 = require(\"./createQuill\");\nconst globals_1 = require(\"./globals\");\nconst goalChecker_1 = require(\"./goalChecker\");\nconst I18n_1 = require(\"./I18n\");\nconst mq_parsing_1 = require(\"./mq-parsing\");\nconst seqBasic_1 = require(\"./sequences/seqBasic\");\nconst seqRandomWeighted_1 = require(\"./sequences/seqRandomWeighted\");\nconst seqSequence_1 = require(\"./sequences/seqSequence\");\nconst utils_1 = require(\"./utils\");\nfunction findPyGenerators() {\n const IB = window['IB'] || {};\n $(\"div[data-pygen]\").each(function (j, eg) {\n const $eg = $(eg);\n $eg.css({\n \"position\": \"relative\",\n \"min-height\": \"300px\",\n \"background-color\": \"#ffffff\",\n \"background-image\": 'url(\"https://piworld.es/iedib/matheditor/backgrounds/triangles.svg\")',\n \"background-position\": \"center\",\n \"background-size\": \"cover\"\n });\n $eg.html(''); //clear the container \n let gid = $eg.attr(\"id\") || '';\n if (!gid) {\n gid = 'pyg_' + Math.random().toString(32).substring(2);\n $eg.attr(\"id\", gid);\n }\n globals_1.shared[gid] = {}; //This container will contain the instance of the qid in every screen\n // Create the layout of this container\n // Shoud have a top banner for level and message\n // central panel for qüestion and displaying the mathinput\n // bottom panel for control buttons\n const topPanel = $('
');\n const centralPanel = $(\"
\");\n const bottomPanel = $('
');\n const copyrightPanel = $('
');\n const levelIndicator = new LevelIndicator_1.LevelIndicator(4);\n const category = $eg.attr(\"data-pygen-category\") || \"general\"; //category to check the level of the student\n //Only show the indicator if data-category is set\n levelIndicator.setVisible(globals_1.cfg.HAS_IAPACE && $eg.attr(\"data-pygen-category\") != null);\n topPanel.append(levelIndicator.container);\n //try to find the category in iapace (only if available)\n let currentLevel = 1;\n if (globals_1.cfg.HAS_IAPACE) {\n currentLevel = IB.iapace.inference(category);\n }\n levelIndicator.setLevel(currentLevel);\n //Goal checker\n let goalChecker = null;\n if (globals_1.cfg.HAS_IAPACE && $eg.attr(\"data-pygen-goal\") != null) {\n const goalRulesRaw = ($eg.attr(\"data-pygen-goal\") || '').split(\";\");\n const goalRules = goalRulesRaw.map(function (e) { return e.split(\",\"); });\n goalChecker = new goalChecker_1.GoalChecker(category, goalRules);\n if (goalChecker.accomplished()) {\n //Indicator that the goal is already reached\n topPanel.append($('' + (0, I18n_1.I18n)('goal_reached') + ' '));\n }\n }\n // Format \"name.of.generador.function1;name.of.generator.function2[param1=a, param2='b', param3='c'];···\"\n const rawDataPygens = ($eg.attr('data-pygen') || '').split(';');\n const dataPygen = [];\n for (let z = 0, lenz = rawDataPygens.length; z < lenz; z++) {\n const genpart = rawDataPygens[z];\n let genname = null;\n const genparams = {};\n if (genpart.indexOf('[') > 0) {\n genname = genpart.split('[')[0].trim();\n const paramspart = genpart.split('[')[1].replace(']', '').split(',');\n for (let t = 0, lent = paramspart.length; t < lent; t++) {\n const aparm = paramspart[t];\n if (aparm.indexOf(\"=\") > 0) {\n const param_parts = aparm.split(\"=\");\n const key = param_parts[0];\n let value = param_parts[1];\n if (value.indexOf(\"'\") >= 0) {\n // As string\n value = value.replace(/'/g, '');\n }\n else {\n // As float\n value = parseFloat(value);\n }\n genparams[key] = value;\n }\n }\n }\n else {\n genname = genpart.trim();\n }\n if (Object.keys(genparams).length) {\n dataPygen.push([genname, genparams]);\n }\n else {\n dataPygen.push([genname]);\n }\n }\n // Decide if to use a sequenciador?\n let sequenciador = new seqBasic_1.SeqBasic(dataPygen);\n if (dataPygen.length > 1) {\n // Yes\n const order = ($eg.attr(\"data-pygen-order\") || \"random\").trim().toLowerCase();\n if (order.startsWith(\"random\") || order.startsWith(\"weighted\")) {\n sequenciador = new seqRandomWeighted_1.SeqRandomWeighted(dataPygen, order);\n }\n else if (order.startsWith(\"sequence\")) {\n sequenciador = new seqSequence_1.SeqSequence(dataPygen, order);\n }\n }\n // Check this question\n const checkBtn = $('');\n const comodiBtn = $('');\n let currentDatos = null;\n let currentEditor = null;\n const createDynamicMathquill = function () {\n checkBtn.prop(\"disabled\", true);\n nextButton.prop(\"disabled\", true);\n showmeBtn.prop(\"disabled\", true);\n comodiBtn.css(\"display\", \"none\");\n // Dynamically generate the level here!\n if (globals_1.cfg.HAS_IAPACE) {\n currentLevel = IB.iapace.inference(category);\n }\n else {\n //TODO\n }\n console.log(\"xivat\", category, currentLevel);\n levelIndicator.setLevel(currentLevel);\n const nextGenerator = sequenciador.next();\n $.ajax({\n type: \"POST\",\n url: globals_1.cfg.PYGEN_URL,\n data: JSON.stringify({ \"activities\": [nextGenerator], \"level\": currentLevel }),\n dataType: 'json',\n success: function (datos) {\n console.log(\"xivato\", datos);\n if (datos.msg) {\n currentDatos = null;\n //Show error message\n centralPanel.html('

ERROR
' + JSON.stringify(datos.msg) + '

');\n console.error(\"ERROR: \", datos);\n nextButton.prop(\"disabled\", false);\n return;\n }\n //remove contents central panel\n centralPanel.html('');\n // TODO: create the dynamic element\n const pregunta = $('

' + ($eg.attr('data-pygen-formulation') || '') + ' ' + datos.formulation + '

');\n centralPanel.append(pregunta);\n //TODO: How to create the input widget eficienty \n //const dynEl = $('');\n //$eg.append(dynEl);\n const json_raw = atob(datos.mq64);\n const json_obj = JSON.parse(json_raw);\n //check if contains a comodi \n //TODO: decide if can use the comodi based on performance\n if (globals_1.cfg.HAS_IAPACE) {\n const frame = IB.iapace.findCreate(category);\n if (frame) {\n if ((0, utils_1.sum)(frame.h) >= 30) {\n console.log(\"Super! Has conseguit un comodí\");\n comodiBtn.css(\"display\", json_obj.comodi == null ? \"none\" : \"\");\n }\n }\n }\n json_obj.category = category;\n if (!json_obj.palettes) {\n //use all palettes if not defined\n json_obj.palettes = 'all';\n }\n // convert qtype.M (combo) to qtype.Ms (radios)\n if (json_obj.editor == globals_1.cfg.QTYPES.M) {\n json_obj.editor = globals_1.cfg.QTYPES.Ms;\n }\n currentDatos = json_obj;\n if (json_obj.initial_latex) {\n json_obj.initial_latex = (0, mq_parsing_1.processMqIni)(json_obj.initial_latex);\n }\n const symbols = [];\n if (json_obj.symbols) {\n const parts = json_obj.symbols.split(\";\");\n for (let r = 0, lenr = parts.length; r < lenr; r++) {\n const epart = parts[r];\n if (epart.trim()) {\n symbols.push(epart.trim());\n }\n }\n }\n json_obj.symbols = symbols;\n let rules = [];\n if (json_obj.rules) {\n rules = JSON.parse(json_obj.rules);\n }\n json_obj.rules = rules;\n // It should obtain category from here?\n console.log(json_obj);\n const qid = (0, createQuill_1.createQuillFromObject)(centralPanel, gid, json_obj);\n currentEditor = globals_1.shared[gid][qid];\n currentEditor.isPigen = true; //Marker that is dynamically generated for pigen\n //TODO can support many quills\n checkBtn.off();\n const extraActions = function (score10) {\n nextButton.prop(\"disabled\", false);\n showmeBtn.prop(\"disabled\", false);\n if (globals_1.cfg.HAS_IAPACE) {\n IB.iapace.addScore(category, score10);\n IB.iapace.save(); //Persistent storage\n }\n //TODO lunch confetti if succeded\n if (goalChecker && goalChecker.reached()) {\n if (topPanel.find(\".pw-goal-reached\").length == 0) {\n topPanel.append($('' + (0, I18n_1.I18n)('goal_reached') + ' '));\n }\n //celebration?\n if ($eg.attr(\"data-pygen-celebration\") == 'confetti' && window.Confetti) {\n const c = new window.Confetti($eg[0]);\n c.play();\n }\n }\n };\n (0, actions_1.bindSubmitActionButton)(gid, checkBtn, extraActions);\n console.log(globals_1.shared[gid]);\n (0, utils_1.reflowLatex)();\n checkBtn.prop(\"disabled\", false);\n // Create the same element as a group\n //$eg.addClass(\"pw-mq-group\");\n //findQuillGroups($eg.parent());\n },\n error: function (datos) {\n currentDatos = null;\n currentEditor = null;\n console.log(\"error\", datos);\n centralPanel.html('

ERROR
' + JSON.stringify(datos) + '

');\n nextButton.prop(\"disabled\", false);\n }\n });\n };\n // Reveal answer to this question\n const showmeBtn = $('');\n showmeBtn.on('click', function (ev) {\n ev.preventDefault();\n if (!currentEditor) {\n console.error(\"Missing currentEditor here :-(\");\n return;\n }\n if (currentEditor.status != globals_1.cfg.STATUS.CORRECT && currentEditor.wrong_attemps < 1) {\n console.log(\"can't show answer yet\", currentEditor);\n return;\n }\n checkBtn.prop(\"disabled\", true);\n showmeBtn.prop(\"disabled\", true);\n console.log(currentEditor);\n currentEditor.showAnswer && currentEditor.showAnswer();\n });\n // Skip this question\n const nextButton = $('');\n nextButton.on('click', function (ev) {\n ev.preventDefault();\n // Remove existing widgets from this gid\n const keys = Object.keys(globals_1.shared[gid] || {});\n for (let i = 0, lin = keys.length; i < lin; i++) {\n const qid = parseInt(keys[i]);\n globals_1.shared[gid][qid].dispose();\n delete globals_1.shared[gid][qid];\n }\n createDynamicMathquill();\n });\n comodiBtn.on('click', function (ev) {\n ev.preventDefault();\n if (!currentEditor || !currentDatos || !currentDatos.comodi) {\n return;\n }\n currentEditor.comodiUsed = true;\n comodiBtn.css(\"display\", \"none\");\n currentEditor.latex(currentDatos.comodi);\n // Mark editor as changed to enable evaluation\n currentEditor.status = globals_1.cfg.STATUS.MODIFIED;\n });\n bottomPanel.append(checkBtn);\n bottomPanel.append(nextButton);\n bottomPanel.append(showmeBtn);\n bottomPanel.append(comodiBtn);\n $eg.append(topPanel);\n $eg.append(centralPanel);\n $eg.append(bottomPanel);\n if ($eg.attr(\"data-copyright\") != \"none\") {\n // Mostra la barra de copyright\n const ccSpan = $('pyQuizz by Josep Mulet (c) 2021-22');\n copyrightPanel.append(ccSpan);\n $eg.append(copyrightPanel);\n }\n createDynamicMathquill();\n });\n}\nexports.findPyGenerators = findPyGenerators;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sharedContext = exports.sharedDlg = exports.shared = exports.MathField = exports.StaticMath = exports.cfg = void 0;\nconst utils_1 = require(\"./utils\");\n/**\n * Extracts useful information from the current Moodle page\n * @returns\n */\nconst parseUrlParams = function (url) {\n const params = {};\n const parts = url.substring(1).split('&');\n for (let i = 0; i < parts.length; i++) {\n const nv = parts[i].trim().split('=');\n if (!nv[0])\n continue;\n if (nv.length == 1) {\n params[nv[0]] = '1';\n }\n else {\n params[nv[0]] = nv[1];\n }\n }\n return params;\n};\n// Change june2020: Allow guest user detection\n// Change july2020: isTeacher, chapterid --> boost detection\nconst loadPageInfo = function () {\n var _a, _b;\n if (!document.querySelector) {\n return {};\n }\n // Get current user information\n let userId = -1;\n let userFullname = \"Usuari convidat\";\n const dataUserId = document.querySelector('[data-userid]');\n if (dataUserId) {\n userId = parseInt(dataUserId.getAttribute('data-userid') || '-1');\n }\n const userText = document.querySelector(\".usertext\");\n if (userText) {\n userFullname = userText.innerText;\n }\n // Get information about book id and chapter id (from the current url)\n let params = {};\n if (location.search) {\n params = parseUrlParams(location.search);\n }\n let chapterId = params[\"chapterid\"];\n if (!chapterId) {\n // On first page, chapterid might not appear\n // Case on boost\n const ele = document.querySelector('input[name=\"chapterid\"]');\n if (ele) {\n chapterId = ele.value;\n }\n }\n let bookId = params.id;\n if (!bookId) {\n const ele = document.querySelector('div.singlebutton > form > input[name=\"id\"]');\n if (ele) {\n bookId = ele.value;\n }\n }\n // Get cookie for MoodleSession\n //const moodleSession = (document.cookie || \"\").split(\"MoodleSession=\")[1];\n //moodleSession = moodleSession.split(\";\")[0];\n let cookie = (document.cookie || \"\");\n let eq_cookie_pos = cookie.indexOf(\"=\");\n let moodleSession = \"\";\n if (eq_cookie_pos > 0) {\n moodleSession = cookie.substr(eq_cookie_pos + 1);\n }\n if (moodleSession && moodleSession.indexOf(\";\") > 0) {\n moodleSession = moodleSession.split(\";\")[0];\n }\n // Get information about the course\n let courseId = \"-1\";\n let courseName;\n const footer = document.querySelector(\".homelink > a\");\n if (footer) {\n courseName = footer.innerText;\n const hrefVal = \"?\" + (footer.href.split(\"?\")[1] || \"\");\n courseId = parseUrlParams(hrefVal).id;\n }\n const isTeacher = document.querySelector('.teacherdash.nav-item.nav-link') != null ? 1 : 0;\n const site = (location.href.split(\"?\")[0] || \"\").replace(\"/mod/book/view.php\", \"\");\n return {\n userId: userId,\n userFullname: userFullname,\n bookId: bookId,\n chapterId: chapterId,\n assignNum: ((_a = window.iedibAPI) === null || _a === void 0 ? void 0 : _a.lliurament.id) || 0,\n assignName: ((_b = window.iedibAPI) === null || _b === void 0 ? void 0 : _b.lliurament.title) || \"\",\n courseName: courseName,\n courseId: courseId,\n isTeacher: isTeacher,\n site: site,\n moodleSession: moodleSession\n };\n};\n// Decide from where to load resources\nwindow.MQWidgets = window.MQWidgets || {};\n// Default values if not specified at initialization\n// https://piworld.es/mqwdemo/api/\nclass Cfg {\n constructor() {\n this.DEFAULT_ENGINE = \"sympy\";\n this.NERDAMER_URL = \"https://cdn.jsdelivr.net/npm/nerdamer@1.1.13/all.min.js\";\n this.BACKEND_BASEURL = \"\";\n this.MQWIDGETS_BASEURL = \"https://iedib.github.io/mqwidgets2/dist/\";\n this.pageInfo = loadPageInfo();\n this.STATUS = {\n UNMODIFIED: 100,\n MODIFIED: 200,\n CORRECT: 1,\n WRONG: 0\n };\n this.QTYPES = {\n S: 'simple',\n B: 'basic',\n C: 'cloze',\n P: 'panel',\n M: 'mchoice',\n Ms: 'mchoice*' // multiple choice radio, checkbox\n };\n this.HAS_IAPACE = window[\"IB\"] != null && (window[\"IB\"].iapace != null);\n this.LANG = '';\n this.RIGHT_ICON = 'fa fas fa-check'; //'far fa-smile'; // \n this.WRONG_ICON = 'fa fas fa-times'; //'far fa-dizzy'; //\n this.MAX_ATTEMPTS = 2; // Maximum number of wrong attempts before showing right answer\n }\n get CAS_URL() {\n return (0, utils_1.urlJoin)(this.BACKEND_BASEURL, \"compare\");\n }\n get PYGEN_URL() {\n return (0, utils_1.urlJoin)(this.BACKEND_BASEURL, \"generate\");\n }\n get GETANSWER_URL() {\n return (0, utils_1.urlJoin)(this.BACKEND_BASEURL, \"getanswer\");\n }\n get MATHQUILL_URL() {\n return (0, utils_1.urlJoin)(this.MQWIDGETS_BASEURL, \"/lib/mathquill.matrix.min.js\");\n }\n setUserConfig(uc) {\n if (uc.engines[0] == 'nerdamer') {\n this.DEFAULT_ENGINE = 'nerdamer';\n }\n const remotes = uc.engines.filter((e) => e.trim().startsWith(\"http\"));\n if (remotes.length) {\n this.BACKEND_BASEURL = remotes[0];\n }\n if (uc.lang) {\n this.LANG = uc.lang;\n }\n if (uc.mqwBaseurl) {\n this.MQWIDGETS_BASEURL = uc.mqwBaseurl;\n }\n }\n isNerdamer() {\n return window.nerdamer != null;\n }\n}\nexports.cfg = new Cfg();\n// Lazy load (it might no be loaded yet)\nlet MQI = {};\nfunction StaticMath(div) {\n if (!MQI.StaticMath) {\n MQI = window.MathQuill.getInterface(2);\n }\n return MQI.StaticMath(div);\n}\nexports.StaticMath = StaticMath;\nfunction MathField(div, config) {\n if (!MQI.MathField) {\n MQI = window.MathQuill.getInterface(2);\n }\n return MQI.MathField(div, config);\n}\nexports.MathField = MathField;\nexports.shared = {};\nexports.sharedDlg = {};\nexports.sharedContext = {};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GoalChecker = void 0;\nconst globals_1 = require(\"./globals\");\nclass GoalChecker {\n constructor(category, rules) {\n this.category = category;\n this.rules = rules;\n }\n accomplished(value) {\n const IB = window[\"IB\"] || {};\n if (!globals_1.cfg.HAS_IAPACE) {\n return false;\n }\n //getter\n if (!value) {\n const frame = IB.iapace.find(this.category);\n if (frame == null) {\n return false;\n }\n return frame.d; //done flag in tree\n }\n //setter\n const frame = IB.iapace.findCreate(this.category);\n frame.d = value;\n IB.iapace.save();\n return value;\n }\n reached() {\n const IB = window[\"IB\"] || {};\n if (!globals_1.cfg.HAS_IAPACE) {\n return false;\n }\n if (this.accomplished()) {\n return false;\n }\n const frame = IB.iapace.findCreate(this.category);\n let reach = false;\n const nrules = this.rules.length;\n let i = 0;\n while (!reach && i < nrules) {\n let partial = true;\n const crule = this.rules[i];\n let undecided = 0;\n if (isNaN(crule[0])) {\n undecided += 1;\n }\n else {\n //Num. questions done on category\n partial = partial && (frame.n >= parseInt(crule[0]));\n }\n if (isNaN(crule[1])) {\n undecided += 1;\n }\n else {\n //Average grade\n let grade = 0.0;\n if (frame.n > 0) {\n grade = frame.s / (1.0 * frame.n);\n }\n partial = partial && (grade >= parseFloat(crule[1]));\n }\n if (isNaN(crule[2])) {\n undecided += 1;\n }\n else {\n //current level\n partial = partial && (IB.iapace.inference(this.category) >= parseInt(crule[2]));\n }\n if (undecided < 3) {\n reach = partial;\n }\n i += 1;\n }\n if (reach) {\n this.accomplished(true);\n }\n return reach;\n }\n}\nexports.GoalChecker = GoalChecker;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createQuillFromDataAttr = exports.processMqIni = void 0;\nconst createQuill_1 = require(\"./createQuill\");\nconst globals_1 = require(\"./globals\");\nfunction processMqIni(ini) {\n ini = ini || '';\n ini = ini.replace(/\\?\\d*?/g, '\\\\MathQuillMathField{}');\n ini = ini.replace(/M\\[(\\d+)x(\\d+)\\]/g, function ($0, $1, $2) {\n const nrows = parseInt($1);\n const ncols = parseInt($2);\n const mtex = [];\n const aRow = new Array(ncols);\n for (let i = 0; i < nrows; i++) {\n mtex.push(aRow.join(' & '));\n }\n return '\\\\begin{pmatrix} ' + mtex.join(' \\\\\\\\ ') + ' \\\\end{pmatrix}';\n });\n return ini;\n}\nexports.processMqIni = processMqIni;\nfunction createQuillFromDataAttr($el, gid) {\n const qtype = $el.attr(\"data-mq\") || 'simple';\n const engine = $el.attr(\"data-mq-engine\");\n let ans = $el.attr(\"data-mq-ans\");\n // If not ans then it cannot be checked, so.\n let ansType = 'ans';\n if (!ans) {\n ans = $el.attr(\"data-mq-anse\");\n ansType = 'anse';\n if (!ans) {\n console.error(\"> MQ has no data-mq-ans/e!\");\n return;\n }\n }\n // Support arrays in answers (always as str)\n ans = ans.trim();\n if (ans.startsWith('[') && ans.endsWith(']')) {\n ans = JSON.parse(ans);\n for (let kk = 0, lenkk = ans.length; kk < lenkk; kk++) {\n ans[kk] = '' + ans[kk];\n }\n }\n const ini = processMqIni($el.attr(\"data-mq-ini\"));\n const symbolsRaw = $el.attr(\"data-mq-symbols\"); // a := valor; b := valor; c := valor; \n if (qtype === globals_1.cfg.QTYPES.C && !ini) {\n console.error(\"> MQ \", $el, \" is of type cloze but it has no data-mq-ini!\");\n return;\n }\n let ra = '';\n if ($el.attr(\"data-mq-ra\")) {\n // Base64 conversion\n ra = atob($el.attr(\"data-mq-ra\") || '');\n }\n const symbols = [];\n if (symbolsRaw) {\n const parts = symbolsRaw.split(\";\");\n for (let r = 0, lenr = parts.length; r < lenr; r++) {\n const epart = parts[r];\n if (epart.trim()) {\n symbols.push(epart.trim());\n }\n }\n }\n const rulesRaw = $el.attr(\"data-mq-rules\");\n let rules = [];\n if (rulesRaw) {\n rules = JSON.parse(rulesRaw);\n }\n let palettes = [];\n const palettesRaw = $el.attr(\"data-mq-palettes\");\n if (palettesRaw) {\n const parts = palettesRaw.split(\",\");\n parts.forEach(function (e) {\n palettes.push(e.trim());\n });\n }\n const obj = {\n engine: engine,\n editor: qtype,\n symbols: symbols,\n right_answer: ra,\n initial_latex: ini,\n rules: rules,\n palettes: palettes,\n ans: ans,\n ansType: ansType\n };\n if ($el.attr(\"data-mq-formulation\")) {\n obj.formulation = $el.attr(\"data-mq-formulation\");\n }\n (0, createQuill_1.createQuillFromObject)($el, gid, obj);\n}\nexports.createQuillFromDataAttr = createQuillFromDataAttr;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findQuillGroups = void 0;\nconst actions_1 = require(\"./actions\");\nconst createQuill_1 = require(\"./createQuill\");\nconst globals_1 = require(\"./globals\");\nconst mq_parsing_1 = require(\"./mq-parsing\");\nconst utils_1 = require(\"./utils\");\nconst keysDef = [\"editor\",\n \"engine\",\n \"formulation\",\n \"initial_latex\",\n \"ansType\",\n \"ans\",\n \"anse\",\n \"right_answer\",\n \"symbols\",\n \"rules\",\n \"palettes\"];\nconst findQuills = function ($eg, gid, widgets) {\n // Precedence of the widgets defined throught the init method\n if (widgets) {\n (0, utils_1.items)(widgets, function (id, b64) {\n //check if 'id' is found\n const $el = $('#' + id);\n if ($el.length) {\n // ignore the mq attribute that might include in sucsessive parsing\n $el.removeAttr(\"data-mq\");\n try {\n const json_raw = atob(b64);\n const json_obj = JSON.parse(json_raw);\n //Make sure to process initial_latex attribute\n json_obj.initial_latex = (0, mq_parsing_1.processMqIni)(json_obj.initial_latex || '');\n (0, createQuill_1.createQuillFromObject)($el, gid, json_obj);\n }\n catch (ex) {\n console.error(\"Invalid or corrupted MQ definition:: \", b64);\n console.error(ex);\n }\n }\n else {\n console.error(\"The element with id=\" + id + \" does not exist.\");\n }\n });\n }\n $eg.find(\"[data-mq]\").each(function (i, el) {\n const $el = $(el);\n const qtype = $(el).attr(\"data-mq\") || 'simple'; //s=simple, b=basic, p=panel, c=cloze (requires data-mq-ini)\n if ((0, utils_1.hasValue)(globals_1.cfg.QTYPES, qtype)) {\n //create from data-attributes\n console.error(\"Definition via data-attributes in deprecated since version 2.0. \"\n + \"Please encode the definition in a single data-mq field.\");\n (0, mq_parsing_1.createQuillFromDataAttr)($el, gid);\n }\n else {\n // Assume that everything is encoded in data-mq atribute\n // Use the MQ-editor online\n try {\n const json_raw = atob(qtype);\n let json_obj = {};\n const parsedDef = JSON.parse(json_raw);\n // if json_obj is an array, then we should parse it to an object\n if (Array.isArray(parsedDef)) {\n if (parsedDef.length < keysDef.length) {\n console.error(\"The definition does not contain all the fields. Is it corrupted?\");\n }\n (0, utils_1.zip)(keysDef, parsedDef).forEach((pair) => {\n const [key, value] = pair;\n json_obj[key] = value;\n });\n }\n else {\n json_obj = parsedDef;\n }\n //Make sure to process initial_latex attribute\n json_obj.initial_latex = (0, mq_parsing_1.processMqIni)(json_obj.initial_latex || '');\n (0, createQuill_1.createQuillFromObject)($el, gid, json_obj);\n }\n catch (ex) {\n console.error(\"Invalid or corrupted MQ definition:: \", qtype);\n console.error(ex);\n }\n }\n });\n};\nfunction parseContext($eg, gid) {\n const ctx = {}; // Hold the context of this group\n //TODO with other properties of a group\n globals_1.sharedContext[gid] = ctx;\n}\nfunction findQuillGroups(widgets, parent) {\n parent = parent || $('body');\n parent.find(\".pw-mq-group\").each(function (j, eg) {\n const $eg = $(eg);\n if ($eg.hasClass(\"pw-mq-done\")) {\n return;\n }\n //Prevent reprocessing\n $eg.addClass(\"pw-mq-done\");\n let gid = $eg.attr(\"id\");\n if (!gid) {\n gid = 'g_' + Math.random().toString(32).substring(2);\n $eg.attr(\"id\", gid);\n }\n globals_1.shared[gid] = {}; //Hold all the editors\n parseContext($eg, gid);\n findQuills($eg, gid, widgets);\n const check_btn = (0, actions_1.createSubmitButtonForGroup)(gid);\n $eg.append(check_btn);\n // solve problem of display by redrawing\n if (parent == null) {\n window.setTimeout(function () {\n (0, utils_1.items)(globals_1.shared, function (gid, groupContainer) {\n (0, utils_1.items)(groupContainer, function (qid, editor) {\n editor.reflow && editor.reflow();\n });\n });\n }, 800);\n }\n });\n}\nexports.findQuillGroups = findQuillGroups;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.applyPolyfills = void 0;\nfunction applyPolyfills() {\n if (!Array.prototype.forEach) {\n Array.prototype.forEach = function forEach(callback, thisArg) {\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n var array = this;\n thisArg = thisArg || this;\n for (var i = 0, l = array.length; i !== l; ++i) {\n callback.call(thisArg, array[i], i, array);\n }\n };\n }\n if (!Array.prototype.map) {\n Array.prototype.map = function (callback) {\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n var arr = [];\n for (var i = 0; i < this.length; i++) {\n arr.push(callback(this[i], i, this));\n }\n return arr;\n };\n }\n if (!Array.prototype.filter) {\n Array.prototype.filter = function (callback) {\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n var arr = [];\n for (var i = 0; i < this.length; i++) {\n if (callback.call(this, this[i], i, this)) {\n arr.push(this[i]);\n }\n }\n return arr;\n };\n }\n if (!Array.isArray) {\n Array.isArray = function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n };\n }\n !(typeof Number.isNaN == 'function') ||\n (Number.isNaN = function (value) {\n return value !== null // Number(null) => 0\n && (value != value // NaN != NaN\n || +value != value // Number(falsy) => 0 && falsy == 0...\n );\n });\n}\nexports.applyPolyfills = applyPolyfills;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeqBasic = void 0;\nclass SeqBasic {\n constructor(lpygens) {\n this.lpygens = lpygens;\n }\n next() {\n return this.lpygens[0];\n }\n}\nexports.SeqBasic = SeqBasic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeqRandomWeighted = void 0;\nconst utils_1 = require(\"../utils\");\nconst seqBasic_1 = require(\"./seqBasic\");\nclass SeqRandomWeighted extends seqBasic_1.SeqBasic {\n constructor(lpygens, definition) {\n super(lpygens);\n definition = (definition || \"random\").trim().toLowerCase();\n this.definition = definition;\n let weights = [];\n if (definition.startsWith(\"weighted:\")) {\n definition = definition.replace(\"weighted:\", \"\");\n const parts = definition.split(\",\");\n weights = parts.map(function (e) { return parseFloat(e); });\n }\n else {\n //Assume equally distributed\n const vran = 1.0 / lpygens.length;\n for (let i = 0, len = lpygens.length; i < len; i++) {\n weights.push(vran);\n }\n }\n this.lpygens = lpygens;\n //fix the problem of wrong length\n if (this.lpygens.length > weights.length) {\n console.log(\"SeqRandomWeighted:: lpygens and weights have different length\");\n while (this.lpygens != weights.length) {\n weights.push(1.0);\n }\n }\n while (weights.length > lpygens.length) {\n weights.pop();\n }\n //Normalize and aggregate weigths\n const total = (0, utils_1.sum)(weights);\n let old = 0.0;\n weights.forEach(function (w, i) {\n w = w / total;\n old = w + old;\n weights[i] = old;\n });\n this.weights = weights;\n }\n ;\n next() {\n //Optimization\n if (this.definition == 'random') {\n const pos = Math.floor(Math.random() * this.lpygens.length);\n return this.lpygens[pos];\n }\n const rnd = Math.random();\n let pos = 0;\n let val = this.weights[pos];\n while (val < rnd) {\n pos += 1;\n val = this.weights[pos];\n }\n return this.lpygens[pos];\n }\n}\nexports.SeqRandomWeighted = SeqRandomWeighted;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeqSequence = void 0;\nconst utils_1 = require(\"../utils\");\nconst seqBasic_1 = require(\"./seqBasic\");\nconst seqRandomWeighted_1 = require(\"./seqRandomWeighted\");\nclass SeqSequence extends seqBasic_1.SeqBasic {\n constructor(lpygens, definition) {\n super(lpygens);\n this.lpygens = lpygens;\n definition = definition.replace(\"sequence:\", \"\").trim().toLowerCase();\n this.positions = [];\n this.terminalGen = undefined;\n const placeholders = definition.split(\",\");\n const self = this;\n placeholders.forEach(function (p, i) {\n if ((0, utils_1.isNumeric)(p) && self.terminalGen == null) {\n const e = parseInt(p);\n for (let k = 0; k < e; k++) {\n self.positions.push(i);\n }\n }\n else if (p.startsWith('*') && self.terminalGen == null) {\n //all the remaining lpygens are *\n //Apply weights!!!!\n const remainingLpygens = lpygens.slice(i);\n const def2 = [];\n let isWeighted = false;\n for (let k = i; k < placeholders.length; k++) {\n let e2 = placeholders[k];\n if (e2.indexOf(\"*\") >= 0 && e2.indexOf(\"(\") > 0) {\n e2 = e2.replace(\"*\", \"\").replace(\"(\", \"\").replace(\")\", \"\");\n def2.push(parseFloat(e2));\n isWeighted = true;\n }\n else {\n def2.push(1);\n }\n }\n let typeRan = \"random\";\n if (isWeighted) {\n typeRan = \"weighted: \" + def2.join(\",\");\n }\n self.terminalGen = new seqRandomWeighted_1.SeqRandomWeighted(remainingLpygens, typeRan);\n }\n });\n this.pointer = 0;\n }\n ;\n next() {\n if (this.pointer >= this.positions.length && this.terminalGen) {\n return this.terminalGen.next();\n }\n this.pointer = this.pointer % this.positions.length;\n const indx = this.positions[this.pointer];\n this.pointer += 1;\n return this.lpygens[indx];\n }\n}\nexports.SeqSequence = SeqSequence;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.urlJoin = exports.isNumeric = exports.createLinkSheet = exports.createStyleSheet = exports.insertScript = exports.MD5 = exports.copyPropsFromTo = exports.hasValue = exports.zip = exports.items = exports.sum = exports.sanitizeLaTeX = exports.reflowLatex = void 0;\nfunction reflowLatex() {\n if (window.MathJax) {\n window.MathJax.typesetPromise && window.MathJax.typesetPromise();\n window.MathJax.Hub && window.MathJax.Hub.Queue && window.MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n }\n}\nexports.reflowLatex = reflowLatex;\nfunction sanitizeLaTeX(tex) {\n return tex.replace(/·/g, '*');\n}\nexports.sanitizeLaTeX = sanitizeLaTeX;\nfunction sum(iter) {\n let total = 0;\n for (let i = 0, len = iter.length; i < len; i++) {\n total += iter[i];\n }\n return total;\n}\nexports.sum = sum;\n;\nfunction items(obj, cb) {\n if (Array.isArray(obj)) {\n for (var i = 0, len = obj.length; i < len; i++) {\n cb(i, obj[i]);\n }\n }\n else {\n var keys = Object.keys(obj);\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n cb(key, obj[key]);\n }\n }\n}\nexports.items = items;\nfunction zip(l1, l2) {\n const n = Math.min(l1.length, l2.length);\n const l = [];\n for (let i = 0; i < n; i++) {\n l.push([l1[i], l2[i]]);\n }\n return l;\n}\nexports.zip = zip;\nfunction hasValue(dict, target) {\n let found = false;\n const keys = Object.keys(dict);\n let i = 0;\n while (!found && i < keys.length) {\n const k = keys[i];\n found = (dict[k] == target);\n i++;\n }\n return found;\n}\nexports.hasValue = hasValue;\nfunction copyPropsFromTo(source, target) {\n var props = Object.keys(source);\n for (var i = 0, len = props.length; i < len; i++) {\n var prop = props[i];\n target[prop] = source[prop];\n }\n}\nexports.copyPropsFromTo = copyPropsFromTo;\nfunction MD5(d) { var r = M(V(Y(X(d), 8 * d.length))); return r.toLowerCase(); }\nexports.MD5 = MD5;\n;\nfunction M(d) { for (var _, m = \"0123456789ABCDEF\", f = \"\", r = 0; r < d.length; r++)\n _ = d.charCodeAt(r), f += m.charAt(_ >>> 4 & 15) + m.charAt(15 & _); return f; }\nfunction X(d) { for (var _ = Array(d.length >> 2), m = 0; m < _.length; m++)\n _[m] = 0; for (m = 0; m < 8 * d.length; m += 8)\n _[m >> 5] |= (255 & d.charCodeAt(m / 8)) << m % 32; return _; }\nfunction V(d) { for (var _ = \"\", m = 0; m < 32 * d.length; m += 8)\n _ += String.fromCharCode(d[m >> 5] >>> m % 32 & 255); return _; }\nfunction Y(d, _) { d[_ >> 5] |= 128 << _ % 32, d[14 + (_ + 64 >>> 9 << 4)] = _; for (var m = 1732584193, f = -271733879, r = -1732584194, i = 271733878, n = 0; n < d.length; n += 16) {\n var h = m, t = f, g = r, e = i;\n f = md5_ii(f = md5_ii(f = md5_ii(f = md5_ii(f = md5_hh(f = md5_hh(f = md5_hh(f = md5_hh(f = md5_gg(f = md5_gg(f = md5_gg(f = md5_gg(f = md5_ff(f = md5_ff(f = md5_ff(f = md5_ff(f, r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 0], 7, -680876936), f, r, d[n + 1], 12, -389564586), m, f, d[n + 2], 17, 606105819), i, m, d[n + 3], 22, -1044525330), r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 4], 7, -176418897), f, r, d[n + 5], 12, 1200080426), m, f, d[n + 6], 17, -1473231341), i, m, d[n + 7], 22, -45705983), r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 8], 7, 1770035416), f, r, d[n + 9], 12, -1958414417), m, f, d[n + 10], 17, -42063), i, m, d[n + 11], 22, -1990404162), r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 12], 7, 1804603682), f, r, d[n + 13], 12, -40341101), m, f, d[n + 14], 17, -1502002290), i, m, d[n + 15], 22, 1236535329), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 1], 5, -165796510), f, r, d[n + 6], 9, -1069501632), m, f, d[n + 11], 14, 643717713), i, m, d[n + 0], 20, -373897302), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 5], 5, -701558691), f, r, d[n + 10], 9, 38016083), m, f, d[n + 15], 14, -660478335), i, m, d[n + 4], 20, -405537848), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 9], 5, 568446438), f, r, d[n + 14], 9, -1019803690), m, f, d[n + 3], 14, -187363961), i, m, d[n + 8], 20, 1163531501), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 13], 5, -1444681467), f, r, d[n + 2], 9, -51403784), m, f, d[n + 7], 14, 1735328473), i, m, d[n + 12], 20, -1926607734), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 5], 4, -378558), f, r, d[n + 8], 11, -2022574463), m, f, d[n + 11], 16, 1839030562), i, m, d[n + 14], 23, -35309556), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 1], 4, -1530992060), f, r, d[n + 4], 11, 1272893353), m, f, d[n + 7], 16, -155497632), i, m, d[n + 10], 23, -1094730640), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 13], 4, 681279174), f, r, d[n + 0], 11, -358537222), m, f, d[n + 3], 16, -722521979), i, m, d[n + 6], 23, 76029189), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 9], 4, -640364487), f, r, d[n + 12], 11, -421815835), m, f, d[n + 15], 16, 530742520), i, m, d[n + 2], 23, -995338651), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 0], 6, -198630844), f, r, d[n + 7], 10, 1126891415), m, f, d[n + 14], 15, -1416354905), i, m, d[n + 5], 21, -57434055), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 12], 6, 1700485571), f, r, d[n + 3], 10, -1894986606), m, f, d[n + 10], 15, -1051523), i, m, d[n + 1], 21, -2054922799), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 8], 6, 1873313359), f, r, d[n + 15], 10, -30611744), m, f, d[n + 6], 15, -1560198380), i, m, d[n + 13], 21, 1309151649), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 4], 6, -145523070), f, r, d[n + 11], 10, -1120210379), m, f, d[n + 2], 15, 718787259), i, m, d[n + 9], 21, -343485551), m = safe_add(m, h), f = safe_add(f, t), r = safe_add(r, g), i = safe_add(i, e);\n} return Array(m, f, r, i); }\nfunction md5_cmn(d, _, m, f, r, i) { return safe_add(bit_rol(safe_add(safe_add(_, d), safe_add(f, i)), r), m); }\nfunction md5_ff(d, _, m, f, r, i, n) { return md5_cmn(_ & m | ~_ & f, d, _, r, i, n); }\nfunction md5_gg(d, _, m, f, r, i, n) { return md5_cmn(_ & f | m & ~f, d, _, r, i, n); }\nfunction md5_hh(d, _, m, f, r, i, n) { return md5_cmn(_ ^ m ^ f, d, _, r, i, n); }\nfunction md5_ii(d, _, m, f, r, i, n) { return md5_cmn(m ^ (_ | ~f), d, _, r, i, n); }\nfunction safe_add(d, _) { var m = (65535 & d) + (65535 & _); return (d >> 16) + (_ >> 16) + (m >> 16) << 16 | 65535 & m; }\nfunction bit_rol(d, _) { return d << _ | d >>> 32 - _; }\nfunction insertScript(url) {\n var tag = document.createElement('script');\n tag.src = url;\n tag.type = \"text/javascript\";\n tag.async = true;\n const p = new Promise((resolve, reject) => {\n tag.onload = function () {\n resolve();\n };\n tag.onerror = function () {\n reject();\n };\n tag.onabort = function () {\n reject();\n };\n });\n document.head.appendChild(tag);\n return p;\n}\nexports.insertScript = insertScript;\nfunction createStyleSheet(src, id) {\n if (id && document.getElementById(id)) {\n return;\n }\n var style = document.createElement('style');\n style.innerHTML = src;\n if (id) {\n style.id = id;\n }\n document.getElementsByTagName('head')[0].appendChild(style);\n}\nexports.createStyleSheet = createStyleSheet;\nfunction createLinkSheet(href, id) {\n var link = document.createElement('link');\n link.rel = 'stylesheet';\n link.type = 'text/css';\n link.href = href;\n document.getElementsByTagName('head')[0].appendChild(link);\n}\nexports.createLinkSheet = createLinkSheet;\nfunction isNumeric(str) {\n return (str || '').replace(/\\s+/g, '').match(/^[+\\-]?[0-9]+\\.?[0-9]*$/) != null;\n}\nexports.isNumeric = isNumeric;\nfunction urlJoin(url1, url2) {\n url1 = url1.trim();\n url2 = url2.trim();\n if (!url1.endsWith('/')) {\n url1 += '/';\n }\n if (url2.startsWith('/')) {\n url2 = url2.substring(1);\n }\n return url1 + url2;\n}\nexports.urlJoin = urlJoin;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var style = document.createElement('style'); \nstyle.innerHTML = 'div[data-pygen]{min-height:100px;margin:10px;padding:10px;background:#f8f8ff;box-shadow:3px 3px gray}.pw-mq-feedback{margin:10px;padding:10px;background-color:#cbe9f4;color:#121228}@keyframes blinker{50%{color:#e4cfe4}}.pw-goal-reached{font-weight:bold;margin:0 15px;padding:3px;border-radius:3px;font-size:90%;color:#3b1d3b;animation:blinker .5s linear 4}.pw-me-blocker{background:gray;opacity:.5;pointer-events:none}.pw-refresh{cursor:pointer;float:left;margin-right:15px}.pw-refresh>i{color:#1e90ff}.pw-mq-group{margin-bottom:60px;border-left:1px solid #1e90ff;padding-left:20px}.pw-me-dlg{display:flex;flex-direction:column;position:fixed;margin:auto;top:0;right:0;bottom:0;left:0;border:2px solid #d3d3d3;z-index:100;background:#fff;box-shadow:4px 4px 4px #888;border-radius:5px}.pw-me-dlg-header{background:#f5f5f5;width:100%;height:23px;border-bottom:2px solid #d3d3d3}.pw-me-dlg-headertitle{color:#000;margin-left:8px}.pw-me-dlg-controls{background:#fff;display:flex;flex-direction:row;justify-content:space-between;margin:5px}.pw-me-btn-openeditor{background:#f5f5f5;vertical-align:top}.pw-me-btn-openeditor:hover{background:#fff}.pw-me-btn-openeditor>i.fas{color:darkred}.pw-me-tabmenu{width:100%}.pw-me-tabspanel{width:100%;height:25px;background:#d3d3d3}.pw-me-tabcontents{width:100%;background:#e3e3e3}.pw-me-btn-tab{background:#d3d3d3;padding:0 5px}.pw-me-btn-active{background:#fff}.pw-me-tabcontainer{width:100%;display:none;flex-direction:row;flex-wrap:wrap}.pw-me-submitgroup{margin:auto}.pw-me-btn-dlgclose{color:gray;width:23px;height:23px;float:right;padding:0}.pw-me-editorpanel{display:flex;flex-direction:column;background:#fff;flex-grow:1;border:1px solid #d3d3d3}.pw-me-editorpanel-mathinput{width:97%;margin:5px auto;padding:15px;background:#fff;flex-grow:1}.pw-me-btn-toolbar{height:35px;overflow:hidden;font-weight:bold}.pw-me-btn-toolbar>span{cursor:pointer;font-size:90%}.pw-me-btn-toolbar:hover{background:#fff}.pw-me-editorinput{display:inline-flex;margin:4px;padding:4px;background:#d5edff;border-radius:5px}.pw-me-editorinput>div>span{background:#fff;min-width:100px}.pw-quill-group{margin:5px 5px 80px 5px;border-left:1px solid gray;padding-left:10px}.pw-me-check{align-self:center}.pw-me-editorinput.pw-me-wrong,.pw-me-mchoice.pw-me-wrong{background:#fddcdc}.pw-me-editorinput.pw-me-wrong>.pw-me-check>span,.pw-me-mchoice.pw-me-wrong>.pw-me-check>span{color:#fff;margin:5px;background:darkred;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px 6px}.pw-me-editorinput.pw-me-right,.pw-me-mchoice.pw-me-right{background:#f0fddc}.pw-me-editorinput.pw-me-right>.pw-me-check>span,.pw-me-mchoice.pw-me-right>.pw-me-check>span{color:#fff;margin:5px;background:#358a24;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-editorinput.pw-me-alert,.pw-me-mchoice.pw-me-alert{background:#f2dcfd}.pw-me-editorinput.pw-me-alert>.pw-me-check>span,.pw-me-mchoice.pw-me-alert>.pw-me-check>span{color:#fff;margin:5px;background:#681733;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-btn-showanswer>i{color:darkred}.pw-answer-holder{margin:15px;overflow:auto;height:150px}.mq-editable-field{background:#fff}.pw-me-btn-dropdownmenu{display:none;position:absolute;top:65px;left:140px;padding:5px;border:1px solid gray;z-index:1000;background:#fff}.pw-me-mchoice{display:inline-flex;vertical-align:middle}.pw-square-root{background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;background-image:url(\"https://piworld.es/iedib/mqwidgets2/pw-square-root.png\");display:inline-block;width:16px;height:16px}@font-face{font-family:Symbola;src:url(fonts/Symbola.eot);src:local(\"Symbola Regular\"),local(\"Symbola\"),url(fonts/Symbola.woff2) format(\"woff2\"),url(fonts/Symbola.woff) format(\"woff\"),url(fonts/Symbola.ttf) format(\"truetype\"),url(fonts/Symbola.svg#Symbola) format(\"svg\")}.mq-editable-field{display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor{border-left:1px solid #000;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor.mq-blink{visibility:hidden}.mq-editable-field,.mq-math-mode .mq-editable-field{border:1px solid gray}.mq-editable-field.mq-focused,.mq-math-mode .mq-editable-field.mq-focused{box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;border-color:#709ac0;border-radius:1px}.mq-math-mode .mq-editable-field{margin:1px}.mq-editable-field .mq-latex-command-input{color:inherit;font-family:\"Courier New\",monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.mq-editable-field .mq-latex-command-input.mq-empty{background:rgba(0,0,0,0)}.mq-editable-field .mq-latex-command-input.mq-hasCursor{border-color:ActiveBorder}.mq-editable-field.mq-empty:after,.mq-editable-field.mq-text-mode:after,.mq-math-mode .mq-empty:after{visibility:hidden;content:\"c\"}.mq-editable-field .mq-cursor:only-child:after,.mq-editable-field .mq-textarea+.mq-cursor:last-child:after{visibility:hidden;content:\"c\"}.mq-editable-field .mq-text-mode .mq-cursor:only-child:after{content:\"\"}.mq-editable-field.mq-text-mode{overflow-x:auto;overflow-y:hidden}.mq-root-block,.mq-math-mode .mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.mq-math-mode{font-variant:normal;font-weight:normal;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-non-leaf,.mq-math-mode .mq-scaled{display:-moz-inline-box;display:inline-block}.mq-math-mode var,.mq-math-mode .mq-text-mode,.mq-math-mode .mq-nonSymbola{font-family:\"Times New Roman\",Symbola,serif;line-height:.9}.mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.mq-math-mode .mq-empty{background:#ccc}.mq-math-mode .mq-empty.mq-root-block{background:rgba(0,0,0,0)}.mq-math-mode.mq-empty{background:rgba(0,0,0,0)}.mq-math-mode .mq-text-mode{display:inline-block;white-space:pre}.mq-math-mode .mq-text-mode.mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -0.1em;min-width:1ex}.mq-math-mode .mq-font{font:1em \"Times New Roman\",Symbola,serif}.mq-math-mode .mq-font *{font-family:inherit;font-style:inherit}.mq-math-mode b,.mq-math-mode b.mq-font{font-weight:bolder}.mq-math-mode var,.mq-math-mode i,.mq-math-mode i.mq-font{font-style:italic}.mq-math-mode var.mq-f{margin-right:.2em;margin-left:.1em}.mq-math-mode .mq-roman var.mq-f{margin:0}.mq-math-mode big{font-size:200%}.mq-math-mode .mq-int>big{display:inline-block;transform:scaleX(0.7);vertical-align:-0.16em}.mq-math-mode .mq-int>.mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.mq-math-mode .mq-int>.mq-supsub>.mq-sup>.mq-sup-inner{vertical-align:1.3em}.mq-math-mode .mq-int>.mq-supsub>.mq-sub{margin-left:-0.35em}.mq-math-mode .mq-roman{font-style:normal}.mq-math-mode .mq-sans-serif{font-family:sans-serif,Symbola,serif}.mq-math-mode .mq-monospace{font-family:monospace,Symbola,serif}.mq-math-mode .mq-overline{border-top:1px solid #000;margin-top:1px}.mq-math-mode .mq-underline{border-bottom:1px solid #000;margin-bottom:1px}.mq-math-mode .mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-supsub{text-align:left;font-size:90%;vertical-align:-0.5em}.mq-math-mode .mq-supsub.mq-sup-only{vertical-align:.5em}.mq-math-mode .mq-supsub.mq-sup-only .mq-sup{display:inline-block;vertical-align:text-bottom}.mq-math-mode .mq-supsub .mq-sup{display:block}.mq-math-mode .mq-supsub .mq-sub{display:block;float:left}.mq-math-mode .mq-supsub .mq-binary-operator{padding:0 .1em}.mq-math-mode .mq-supsub .mq-fraction{font-size:70%}.mq-math-mode sup.mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-0.6em;margin-left:.2em;min-width:.5em}.mq-math-mode .mq-paren{padding:0 .1em;vertical-align:top;transform-origin:center .06em}.mq-math-mode .mq-paren.mq-ghost{color:silver}.mq-math-mode .mq-paren+span{margin-top:.1em;margin-bottom:.1em}.mq-math-mode .mq-array{vertical-align:middle;text-align:center}.mq-math-mode .mq-array>span{display:block}.mq-math-mode .mq-operator-name{font-family:Symbola,\"Times New Roman\",serif;line-height:.9;font-style:normal}.mq-math-mode var.mq-operator-name.mq-first{padding-left:.2em}.mq-math-mode var.mq-operator-name.mq-last,.mq-math-mode .mq-supsub.mq-after-operator-name{padding-right:.2em}.mq-math-mode .mq-fraction{font-size:90%;text-align:center;vertical-align:-0.4em;padding:0 .2em}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link{display:-moz-groupbox}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link,.mq-math-mode x:default{display:inline-block}.mq-math-mode .mq-numerator,.mq-math-mode .mq-denominator,.mq-math-mode .mq-dot-recurring{display:block}.mq-math-mode .mq-numerator{padding:0 .1em}.mq-math-mode .mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.mq-math-mode .mq-dot-recurring{text-align:center;height:.3em}.mq-math-mode .mq-sqrt-prefix{padding-top:0;position:relative;top:.1em;vertical-align:top;transform-origin:top}.mq-math-mode .mq-sqrt-stem{border-top:1px solid;margin-top:1px;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.mq-math-mode .mq-diacritic-above{display:block;text-align:center;line-height:.4em}.mq-math-mode .mq-diacritic-stem{display:block;text-align:center}.mq-math-mode .mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-0.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.mq-math-mode .mq-hat-stem{display:block}.mq-math-mode .mq-large-operator{vertical-align:-0.2em;padding:.2em;text-align:center}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator big,.mq-math-mode .mq-large-operator .mq-to{display:block}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator .mq-to{font-size:80%}.mq-math-mode .mq-large-operator .mq-from{float:right;width:100%}.mq-math-mode,.mq-math-mode .mq-editable-field{cursor:text;font-family:Symbola,\"Times New Roman\",serif}.mq-math-mode .mq-overarc{border-top:1px solid #000;border-top-right-radius:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.mq-math-mode .mq-overarrow{min-width:.5em;border-top:1px solid #000;margin-top:1px;padding-top:.2em;text-align:center}.mq-math-mode .mq-overarrow:before{display:block;position:relative;top:-0.34em;font-size:.5em;line-height:0em;content:\"➤\";text-align:right}.mq-math-mode .mq-overarrow.mq-arrow-left:before{transform:scaleX(-1);filter:FlipH;-ms-filter:\"FlipH\"}.mq-math-mode .mq-overarrow.mq-arrow-both{vertical-align:text-bottom}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty{min-height:1.23em}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after{top:-0.34em}.mq-math-mode .mq-overarrow.mq-arrow-both:before{transform:scaleX(-1);filter:FlipH;-ms-filter:\"FlipH\"}.mq-math-mode .mq-overarrow.mq-arrow-both:after{display:block;position:relative;top:-2.3em;font-size:.5em;line-height:0em;content:\"➤\";visibility:visible;text-align:right}.mq-math-mode .mq-matrix{vertical-align:middle;margin-left:.1em;margin-right:.1em}.mq-math-mode .mq-matrix table{width:auto;border-bottom:none;border-spacing:3px;border-collapse:separate}.mq-math-mode .mq-matrix table.mq-rows-1{vertical-align:middle;margin-bottom:1px}.mq-math-mode .mq-matrix td{border:none;width:auto;padding:.1em .3em;vertical-align:baseline}.mq-math-mode .mq-selection,.mq-editable-field .mq-selection,.mq-math-mode .mq-selection .mq-non-leaf,.mq-editable-field .mq-selection .mq-non-leaf,.mq-math-mode .mq-selection .mq-scaled,.mq-editable-field .mq-selection .mq-scaled{background:#b4d5fe !important;background:Highlight !important;color:HighlightText;border-color:HighlightText}.mq-math-mode .mq-selection .mq-matrixed,.mq-editable-field .mq-selection .mq-matrixed{background:#39f !important}.mq-math-mode .mq-selection .mq-matrixed-container,.mq-editable-field .mq-selection .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color=\"#3399FF\") !important}.mq-math-mode .mq-selection.mq-blur,.mq-editable-field .mq-selection.mq-blur,.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,.mq-math-mode .mq-selection.mq-blur .mq-scaled,.mq-editable-field .mq-selection.mq-blur .mq-scaled,.mq-math-mode .mq-selection.mq-blur .mq-matrixed,.mq-editable-field .mq-selection.mq-blur .mq-matrixed{background:#d4d4d4 !important;color:#000;border-color:#000}.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color=\"#D4D4D4\") !important}.mq-editable-field .mq-textarea,.mq-math-mode .mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.mq-editable-field .mq-textarea *,.mq-math-mode .mq-textarea *,.mq-editable-field .mq-selectable,.mq-math-mode .mq-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.mq-math-mode .mq-matrixed{background:#fff;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color=\"white\");margin-top:-0.1em}table.mq-non-leaf td[mathquill-block-id]{padding:4px 8px;text-align:center}.mq-math-mode sup.mq-nthroot{font-size:75%;vertical-align:.4em}.mq-root-block{padding:5px}.mq-root-block,.mq-math-mode .mq-root-block{padding:5px}.mq-math-mode .mq-supsub.mq-sup-only>.mq-sup{font-size:90%}.mq-nthroot.mq-non-leaf{padding:8px 0 !important}div[data-pygen] span.mq-editable-field{min-width:250px}div[data-pygen] .pygen-cloze span.mq-editable-field{min-width:initial}div[data-pygen] .pw-me-editorinput{margin-bottom:40px}div.pw-me-tabmenu .mq-supsub.mq-non-leaf.mq-sup-only{vertical-align:super !important}';\nstyle.id = 'mqwidgets_css';\ndocument.getElementsByTagName('head')[0].appendChild(style);\n/**\n * MathQuill v0.10.1, by Han, Jeanine, and Mary\n * http://mathquill.com | maintainers@mathquill.com\n *\n * This Source Code Form is subject to the terms of the\n * Mozilla Public License, v. 2.0. If a copy of the MPL\n * was not distributed with this file, You can obtain\n * one at http://mozilla.org/MPL/2.0/.\n */\n!function(){function t(){}function e(t){var e=t.length-1;return function(){var n=g.call(arguments,0,e),i=g.call(arguments,e);return t.apply(this,n.concat([i]))}}function n(t){return e(function(e,n){\"function\"!=typeof e&&(e=b(e));var i=function(t){return e.apply(t,[t].concat(n))};return t.call(this,i)})}function i(t){var e=g.call(arguments,1);return function(){return t.apply(this,e)}}function s(t,e){if(!e)throw new Error(\"prayer failed: \"+t)}function r(t){s(\"a direction was passed\",t===w||t===q)}function o(t,e,n){s(\"a parent is always present\",t),s(\"leftward is properly set up\",function(){return e?e[q]===n&&e.parent===t:t.ends[w]===n}()),s(\"rightward is properly set up\",function(){return n?n[w]===e&&n.parent===t:t.ends[q]===e}())}function a(){window.console&&console.warn('You are using the MathQuill API without specifying an interface version, which will fail in v1.0.0. Easiest fix is to do the following before doing anything else:\\n\\n MathQuill = MathQuill.getInterface(1);\\n // now MathQuill.MathField() works like it used to\\n\\nSee also the \"`dev` branch (2014–2015) → v0.10.0 Migration Guide\" at\\n https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide')}function l(t){return a(),zt(t)}function c(e){function n(t){var e,n;return t&&t.nodeType?(e=x(t).children(\".mq-root-block\").attr(Ft),n=e&&O.byId[e].controller,n?s[n.KIND_OF_MQ](n):null):null}function i(t,e){var n,i,r;e&&e.handlers&&(e.handlers={fns:e.handlers,APIClasses:s});for(n in e)e.hasOwnProperty(n)&&(i=e[n],r=E[n],t[n]=r?r(i):i)}var s,r,o;if(!(R<=e&&e<=z))throw\"Only interface versions between \"+R+\" and \"+z+\" supported. You specified: \"+e;s={},n.L=w,n.R=q,n.saneKeyboardEvents=M,n.config=function(t){return i(D.p,t),this},n.registerEmbed=function(t,e){if(!/^[a-z][a-z0-9]*$/i.test(t))throw\"Embed name must start with letter and be only letters and digits\";A[t]=e},r=s.AbstractMathQuill=v(L,function(t){t.init=function(t){this.__controller=t,this.__options=t.options,this.id=t.id,this.data=t.data},t.__mathquillify=function(t){var e,n=this.__controller,i=n.root,s=n.container;n.createTextarea(),e=s.addClass(t).contents().detach(),i.jQ=x('').attr(Ft,i.id).appendTo(s),this.latex(e.text()),this.revert=function(){return s.empty().unbind(\".mathquill\").removeClass(\"mq-editable-field mq-math-mode mq-text-mode\").append(e)}},t.config=function(t){return i(this.__options,t),this},t.el=function(){return this.__controller.container[0]},t.text=function(){return this.__controller.exportText()},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexMath(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()},t.html=function(){return this.__controller.root.jQ.html().replace(/ mathquill-(?:command|block)-id=\"?\\d+\"?/g,\"\").replace(/.?<\\/span>/i,\"\").replace(/ mq-hasCursor|mq-hasCursor ?/,\"\").replace(/ class=(\"\"|(?= |>))/g,\"\")},t.reflow=function(){return this.__controller.root.postOrder(\"reflow\"),this}}),n.prototype=r.prototype,s.EditableField=v(r,function(e,n){e.__mathquillify=function(){return n.__mathquillify.apply(this,arguments),this.__controller.editable=!0,this.__controller.delegateMouseEvents(),this.__controller.editablesTextareaEvents(),this},e.focus=function(){return this.__controller.textarea.focus(),this},e.blur=function(){return this.__controller.textarea.blur(),this},e.write=function(t){return this.__controller.writeLatex(t),this.__controller.scrollHoriz(),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this},e.empty=function(){var t=this.__controller.root,e=this.__controller.cursor;return t.eachChild(\"postOrder\",\"dispose\"),t.ends[w]=t.ends[q]=0,t.jQ.empty(),delete e.selection,e.insAtRightEnd(t),this},e.cmd=function(t){var e,n=this.__controller.notify(),i=n.cursor;return/^\\\\[a-z]+$/i.test(t)?(t=t.slice(1),(e=j[t]||bt[t])&&(t=e(t),i.selection&&t.replaces(i.replaceSelection()),t.createLeftOf(i.show()),this.__controller.scrollHoriz())):i.parent.write(i,t),n.blurred&&i.hide().parent.blur(),this},e.select=function(){var t=this.__controller;for(t.notify(\"move\").cursor.insAtRightEnd(t.root);t.cursor[w];)t.selectLeft();return this},e.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.moveToDirEnd=function(t){return this.__controller.notify(\"move\").cursor.insAtDirEnd(t,this.__controller.root),this},e.moveToLeftEnd=function(){return this.moveToDirEnd(w)},e.moveToRightEnd=function(){return this.moveToDirEnd(q)},e.keystroke=function(e){var n;for(e=e.replace(/^\\s+|\\s+$/g,\"\").split(/\\s+/),n=0;n&0\"})}function f(t){var e=this.parent,n=t;do{if(n[q])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function p(t,e){t.jQadd=function(){e.jQadd.apply(this,arguments),this.delimjQs=this.jQ.children(\":first\").add(this.jQ.children(\":last\")),this.contentjQ=this.jQ.children(\":eq(1)\")},t.reflow=function(){var t=this.contentjQ.outerHeight()/parseFloat(this.contentjQ.css(\"fontSize\"));Z(this.delimjQs,$t(1+.2*(t-1),1.2),1.2*t)}}function d(t,e){var e=e||t,n=dt[t],s=dt[e];Q[t]=i(pt,w,t,n,e,s),Q[n]=i(pt,q,t,n,e,s)}var m,g,b,v,w,q,x,y,O,k,j,Q,T,C,S,_,D,E,L,A,R,z,I,M,B,F,$,P,N,W,U,V,H,G,K,Y,X,Z,J,tt,et,nt,it,st,rt,ot,at,lt,ct,ht,ut,ft,pt,dt,mt,gt,bt,vt,wt,qt,xt,yt,Ot,kt,jt,Qt,Tt,Ct,St,_t,Dt,Et,Lt,At,Rt,zt,It,Mt=window.jQuery,Bt=\"mathquill-command-id\",Ft=\"mathquill-block-id\",$t=Math.min,Pt=Math.max;if(!Mt)throw\"MathQuill requires jQuery 1.5.2+ to be loaded first\";g=[].slice,b=e(function(t,n){return e(function(e,i){if(t in e)return e[t].apply(e,n.concat(i))})}),v=function(t,e,n){function i(t){return\"object\"==typeof t}function s(t){return\"function\"==typeof t}function r(){}return function t(n,o){function a(){var t=new l;return s(t.init)&&t.init.apply(t,arguments),t}function l(){}var c,h,u;return void 0===o&&(o=n,n=Object),a.Bare=l,c=r.prototype=n.prototype,h=l.prototype=a.prototype=a.p=new r,h.constructor=a,a.extend=function(e){return t(a,e)},(a.open=function(t){if(u={},s(t)?u=t.call(a,h,c,a,n):i(t)&&(u=t),i(u))for(var r in u)e.call(u,r)&&(h[r]=u[r]);return s(h.init)||(h.init=n),a})(o)}}(0,{}.hasOwnProperty),w=-1,q=1,x=v(Mt,function(t){t.insDirOf=function(t,e){return t===w?this.insertBefore(e.first()):this.insertAfter(e.last())},t.insAtDirEnd=function(t,e){return t===w?this.prependTo(e):this.appendTo(e)}}),y=v(function(t){t.parent=0,t[w]=0,t[q]=0,t.init=function(t,e,n){this.parent=t,this[w]=e,this[q]=n},this.copy=function(t){return y(t.parent,t[w],t[q])}}),O=v(function(t){function e(){return i+=1}t[w]=0,t[q]=0,t.parent=0;var i=0;this.byId={},t.init=function(){this.id=e(),O.byId[this.id]=this,this.ends={},this.ends[w]=0,this.ends[q]=0},t.dispose=function(){delete O.byId[this.id]},t.toString=function(){return\"{{ MathQuill Node #\"+this.id+\" }}\"},t.jQ=x(),t.jQadd=function(t){return this.jQ=this.jQ.add(t)},t.jQize=function(t){function e(t){var n,i;for(t.getAttribute&&(n=t.getAttribute(\"mathquill-command-id\"),i=t.getAttribute(\"mathquill-block-id\"),n&&O.byId[n].jQadd(t),i&&O.byId[i].jQadd(t)),t=t.firstChild;t;t=t.nextSibling)e(t)}var n;for(t=x(t||this.html()),n=0;n');this.blink=function(){n.toggleClass(\"mq-blink\")},this.upDownCache={}},t.show=function(){return this.jQ=this._jQ.removeClass(\"mq-blink\"),\"intervalId\"in this?clearInterval(this.intervalId):(this[q]?this.selection&&this.selection.ends[w][w]===this[w]?this.jQ.insertBefore(this.selection.jQ):this.jQ.insertBefore(this[q].jQ.first()):this.jQ.appendTo(this.parent.jQ),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},t.hide=function(){return\"intervalId\"in this&&clearInterval(this.intervalId),delete this.intervalId,this.jQ.detach(),this.jQ=x(),this},t.withDirInsertAt=function(t,e,n,i){var s=this.parent;this.parent=e,this[t]=n,this[-t]=i,s!==e&&s.blur&&s.blur(this)},t.insDirOf=function(t,e){return r(t),this.jQ.insDirOf(t,e.jQ),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.jQ.addClass(\"mq-hasCursor\"),this},t.insLeftOf=function(t){return this.insDirOf(w,t)},t.insRightOf=function(t){return this.insDirOf(q,t)},t.insAtDirEnd=function(t,e){return r(t),this.jQ.insAtDirEnd(t,e.jQ),this.withDirInsertAt(t,e,0,e.ends[t]),e.focus(),this},t.insAtLeftEnd=function(t){return this.insAtDirEnd(w,t)},t.insAtRightEnd=function(t){return this.insAtDirEnd(q,t)},t.jumpUpDown=function(t,e){var n,i,s=this;s.upDownCache[t.id]=y.copy(s),n=s.upDownCache[e.id],n?n[q]?s.insLeftOf(n[q]):s.insAtRightEnd(n.parent):(i=s.offset().left,e.seek(i,s))},t.offset=function(){var t=this,e=t.jQ.removeClass(\"mq-cursor\").offset();return t.jQ.addClass(\"mq-cursor\"),e},t.unwrapGramp=function(){var t=this.parent.parent,e=t.parent,n=t[q],i=this,s=t[w];if(t.disown().eachChild(function(i){i.isEmpty()||(i.children().adopt(e,s,n).each(function(e){e.jQ.insertBefore(t.jQ.first())}),s=i.ends[q])}),!this[q])if(this[w])this[q]=this[w][q];else for(;!this[q];){if(this.parent=this.parent[q],!this.parent){this[q]=t[q],this.parent=e;break}this[q]=this.parent.ends[w]}this[q]?this.insLeftOf(this[q]):this.insAtRightEnd(e),t.jQ.remove(),t[w].siblingDeleted&&t[w].siblingDeleted(i.options,q),t[q].siblingDeleted&&t[q].siblingDeleted(i.options,w)},t.startSelection=function(){var t,e=this.anticursor=y.copy(this),n=e.ancestors={};for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},t.endSelection=function(){delete this.anticursor},t.select=function(){var t,e,n,i,r,o,a,l=this.anticursor;if(this[w]===l[w]&&this.parent===l.parent)return!1;for(t=this;t.parent;t=t.parent)if(t.parent.id in l.ancestors){e=t.parent;break}if(s(\"cursor and anticursor in the same tree\",e),n=l.ancestors[e.id],o=q,t[w]!==n)for(a=t;a;a=a[q])if(a[q]===n[q]){o=w,i=t,r=n;break}return o===q&&(i=n,r=t),i instanceof y&&(i=i[q]),r instanceof y&&(r=r[w]),this.hide().selection=e.selectChildren(i,r),this.insDirOf(o,this.selection.ends[o]),this.selectionChanged(),!0},t.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},t.deleteSelection=function(){this.selection&&(this[w]=this.selection.ends[w][w],this[q]=this.selection.ends[q][q],this.selection.remove(),this.selectionChanged(),delete this.selection)},t.replaceSelection=function(){var t=this.selection;return t&&(this[w]=t.ends[w][w],this[q]=t.ends[q][q],delete this.selection),t}}),C=v(k,function(t,e){t.init=function(){e.init.apply(this,arguments),this.jQ=this.jQ.wrapAll('').parent()},t.adopt=function(){return this.jQ.replaceWith(this.jQ=this.jQ.children()),e.adopt.apply(this,arguments)},t.clear=function(){return this.jQ.replaceWith(this.jQ[0].childNodes),this},t.join=function(t){return this.fold(\"\",function(e,n){return e+n[t]()})}}),S=v(function(t){t.init=function(t,e,n){this.id=t.id,this.data={},this.root=t,this.container=e,this.options=n,t.controller=this,this.cursor=t.cursor=T(t,n)},t.handle=function(t,e){var n,i=this.options.handlers;i&&i.fns[t]&&(n=i.APIClasses[this.KIND_OF_MQ](this),e===w||e===q?i.fns[t](e,n):i.fns[t](n))};var e=[];this.onNotify=function(t){e.push(t)},t.notify=function(){for(var t=0;t\")[0]},t.createTextarea=function(){var t,e=this.textareaSpan=x(''),n=this.options.substituteTextarea();if(!n.nodeType)throw\"substituteTextarea() must return a DOM element, got \"+n;n=this.textarea=x(n).appendTo(e),t=this,t.cursor.selectionChanged=function(){t.selectionChanged()}},t.selectionChanged=function(){var t=this;J(t.container[0]),t.textareaSelectionTimeout===m&&(t.textareaSelectionTimeout=setTimeout(function(){t.setTextareaSelection()}))},t.setTextareaSelection=function(){this.textareaSelectionTimeout=m;var t=\"\";this.cursor.selection&&(t=this.cursor.selection.join(\"latex\"),this.options.statelessClipboard&&(t=\"$\"+t+\"$\")),this.selectFn(t)},t.staticMathTextareaEvents=function(){function t(){s.detach(),e.blurred=!0}var e=this,n=(e.root,e.cursor),i=e.textarea,s=e.textareaSpan;this.container.prepend(Mt('').text(\"$\"+e.exportLatex()+\"$\")),e.blurred=!0,i.bind(\"cut paste\",!1).bind(\"copy\",function(){e.setTextareaSelection()}).focus(function(){e.blurred=!1}).blur(function(){n.selection&&n.selection.clear(),setTimeout(t)}),e.selectFn=function(t){i.val(t),t&&i.select()}},D.p.substituteKeyboardEvents=M,t.editablesTextareaEvents=function(){var t=this,e=t.textarea,n=t.textareaSpan,i=this.options.substituteKeyboardEvents(e,this);this.selectFn=function(t){i.select(t)},this.container.prepend(n),this.focusBlurEvents()},t.typedText=function(t){if(\"\\n\"===t)return this.handle(\"enter\");var e=this.notify().cursor;e.parent.write(e,t),this.scrollHoriz()},t.cut=function(){var t=this,e=t.cursor;e.selection&&setTimeout(function(){t.notify(\"edit\"),e.parent.bubble(\"reflow\")})},t.copy=function(){this.setTextareaSelection()},t.paste=function(t){this.options.statelessClipboard&&(t=\"$\"===t.slice(0,1)&&\"$\"===t.slice(-1)?t.slice(1,-1):\"\\\\text{\"+t+\"}\"),this.writeLatex(t).cursor.show()}}),S.open(function(e){D.p.ignoreNextMousedown=t,e.delegateMouseEvents=function(){var e=this.root.jQ;this.container.bind(\"mousedown.mathquill\",function(n){function i(t){o=x(t.target)}function s(t){h.anticursor||h.startSelection(),c.seek(o,t.pageX,t.pageY).cursor.select(),o=m}function r(t){h.blink=u,h.selection||(c.editable?h.show():f.detach()),a.unbind(\"mousemove\",i),x(t.target.ownerDocument).unbind(\"mousemove\",s).unbind(\"mouseup\",r)}var o,a=x(n.target).closest(\".mq-root-block\"),l=O.byId[a.attr(Ft)||e.attr(Ft)],c=l.controller,h=c.cursor,u=h.blink,f=c.textareaSpan,p=c.textarea;n.preventDefault(),n.target.unselectable=!0,h.options.ignoreNextMousedown(n)||(h.options.ignoreNextMousedown=t,c.blurred&&(c.editable||a.prepend(f),p.focus()),h.blink=t,c.seek(x(n.target),n.pageX,n.pageY).cursor.startSelection(),a.mousemove(i),x(n.target.ownerDocument).mousemove(s).mouseup(r))})}}),S.open(function(t){t.seek=function(t,e,n){var i,r,o,a=this.notify(\"select\").cursor;return t&&((i=t.attr(Ft)||t.attr(Bt))||(r=t.parent(),i=r.attr(Ft)||r.attr(Bt))),o=i?O.byId[i]:this.root,s(\"nodeId is the id of some Node that exists\",o),a.clearSelection().show(),o.seek(e,a),this.scrollHoriz(),this}}),S.open(function(t){t.scrollHoriz=function(){var t,e,n,i,s,r=this.cursor,o=r.selection,a=this.root.jQ[0].getBoundingClientRect();if(o)if(n=o.jQ[0].getBoundingClientRect(),i=n.left-(a.left+20),s=n.right-(a.right-20),o.ends[w]===r[q])if(i<0)e=i;else{if(!(s>0))return;e=n.left-s0)e=s;else{if(!(i<0))return;e=n.right-i>a.right-20?s:i}else if((t=r.jQ[0].getBoundingClientRect().left)>a.right-20)e=t-(a.right-20);else{if(!(tr[q]?e.insRightOf(s):(i=r[w],void s.eachChild(function(o){var a=n(o);return ta[q]?void(o[q]?i=a[q]:r[q]-t]+>|[^<>]+/g);for(s(\"no unmatched angle brackets\",a.join(\"\")===this.htmlTemplate),t=0,e=a[0];e;t+=1,e=a[t])if(\"/>\"===e.slice(-2))a[t]=e.slice(0,-2)+o+\"/>\";else if(\"<\"===e.charAt(0)){s(\"not an unmatched top-level close tag\",\"/\"!==e.charAt(1)),a[t]=e.slice(0,-1)+o+\">\",n=1;do{t+=1,e=a[t],s(\"no missing close tags\",e),\"\"!==e.slice(-2)&&(n+=1)}while(n>0)}return a.join(\"\").replace(/>&(\\d+)/g,function(t,e){return\" mathquill-block-id=\"+r[e].id+\">\"+r[e].join(\"html\")})},t.latex=function(){return this.foldChildren(this.ctrlSeq,function(t,e){return t+\"{\"+(e.latex()||\" \")+\"}\"})},t.textTemplate=[\"\"],t.text=function(){var t=this,e=0;return t.foldChildren(t.textTemplate[e],function(n,i){e+=1;var s=i.text();return n&&\"(\"===t.textTemplate[e]&&\"(\"===s[0]&&\")\"===s.slice(-1)?n+s.slice(1,-1)+t.textTemplate[e]:n+i.text()+(t.textTemplate[e]||\"\")})}}),N=v(P,function(e,n){e.init=function(t,e,i){i||(i=t&&t.length>1?t.slice(1):t),n.init.call(this,t,e,[i])},e.parser=function(){return B.succeed(this)},e.numBlocks=function(){return 0},e.replaces=function(t){t.remove()},e.createBlocks=t,e.moveTowards=function(t,e){e.jQ.insDirOf(t,this.jQ),e[-t]=this,e[t]=this[t]},e.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.seek=function(t,e){t-this.jQ.offset().left\"+(n||t)+\"\")}}),U=v(N,function(t,e){t.init=function(t,n,i){e.init.call(this,t,''+n+\"\",i)}}),V=v($,function(t,e){t.join=function(t){return this.foldChildren(\"\",function(e,n){return e+n[t]()})},t.html=function(){return this.join(\"html\")},t.latex=function(){return this.join(\"latex\")},t.text=function(){return this.ends[w]===this.ends[q]&&0!==this.ends[w]?this.ends[w].text():this.join(\"text\")},t.keystroke=function(t,n,i){return!i.options.spaceBehavesLikeTab||\"Spacebar\"!==t&&\"Shift-Spacebar\"!==t?e.keystroke.apply(this,arguments):(n.preventDefault(),void i.escapeDir(\"Shift-Spacebar\"===t?w:q,t,n))},t.moveOutOf=function(t,e,n){n&&this.parent[n+\"Into\"]||!this[t]?e.insDirOf(t,this.parent):e.insAtDirEnd(-t,this[t])},t.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},t.deleteOutOf=function(t,e){e.unwrapGramp()},t.seek=function(t,e){var n=this.ends[q];if(!n||n.jQ.offset().left+n.jQ.outerWidth()0&&this.__controller.root.postOrder(\"registerInnerField\",this.innerFields=[],t.MathField),e}})},H=v(V,h),_.MathField=function(e){return v(e.EditableField,function(e,n){this.RootBlock=H,e.__mathquillify=function(e,i){return this.config(e),i>1&&(this.__controller.root.reflow=t),n.__mathquillify.call(this,\"mq-editable-field mq-math-mode\"),delete this.__controller.root.reflow,this}})},G=v(O,function(t,e){function n(t){var e,n;if(t.jQ[0].normalize(),e=t.jQ[0].firstChild)return s(\"only node in TextBlock span is Text node\",3===e.nodeType),n=K(e.data),n.jQadd(e),t.children().disown(),n.adopt(t,0,0)}t.ctrlSeq=\"\\\\text\",t.replaces=function(t){t instanceof k?this.replacedText=t.remove().jQ.text():\"string\"==typeof t&&(this.replacedText=t)},t.jQadd=function(t){e.jQadd.call(this,t),this.ends[w]&&this.ends[w].jQadd(this.jQ[0].firstChild)},t.createLeftOf=function(t){var n,i=this;if(e.createLeftOf.call(this,t),i[q].siblingCreated&&i[q].siblingCreated(t.options,w),i[w].siblingCreated&&i[w].siblingCreated(t.options,q),i.bubble(\"reflow\"),t.insAtRightEnd(i),i.replacedText)for(n=0;n&0',t.createBlocks=function(){e.createBlocks.call(this),this.ends[w].cursor=this.cursor,this.ends[w].write=function(t,e){\"$\"!==e?V.prototype.write.call(this,t,e):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(dir,t),W(\"\\\\$\",\"$\").createLeftOf(t.show())):t[q]?t[w]?V.prototype.write.call(this,t,e):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},t.latex=function(){return\"$\"+this.ends[w].latex()+\"$\"}}),X=v(H,function(t,e){t.keystroke=function(t){if(\"Spacebar\"!==t&&\"Shift-Spacebar\"!==t)return e.keystroke.apply(this,arguments)},t.write=function(t,e){if(t.show().deleteSelection(),\"$\"===e)Y(t).createLeftOf(t);else{var n;\"<\"===e?n=\"<\":\">\"===e&&(n=\">\"),W(e,n).createLeftOf(t)}}}),_.TextField=function(t){return v(t.EditableField,function(t,e){this.RootBlock=X,t.__mathquillify=function(){return e.__mathquillify.call(this,\"mq-editable-field mq-text-mode\")},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()}})},Q[\"\\\\\"]=v(P,function(t,e){t.ctrlSeq=\"\\\\\",t.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},t.htmlTemplate='\\\\&0',t.textTemplate=[\"\\\\\"],t.createBlocks=function(){e.createBlocks.call(this),this.ends[w].focus=function(){return this.parent.jQ.addClass(\"mq-hasCursor\"),this.isEmpty()&&this.parent.jQ.removeClass(\"mq-empty\"),this},this.ends[w].blur=function(){return this.parent.jQ.removeClass(\"mq-hasCursor\"),this.isEmpty()&&this.parent.jQ.addClass(\"mq-empty\"),this},this.ends[w].write=function(t,e){t.show().deleteSelection(),e.match(/[a-z]/i)?W(e).createLeftOf(t):(this.parent.renderCommand(t),\"\\\\\"===e&&this.isEmpty()||t.parent.write(t,e))},this.ends[w].keystroke=function(t,n,i){return\"Tab\"===t||\"Enter\"===t||\"Spacebar\"===t?(this.parent.renderCommand(i.cursor),void n.preventDefault()):e.keystroke.apply(this,arguments)}},t.createLeftOf=function(t){if(e.createLeftOf.call(this,t),this._replacedFragment){var n=this.jQ[0];this.jQ=this._replacedFragment.jQ.addClass(\"mq-blur\").bind(\"mousedown mousemove\",function(t){return x(t.target=n).trigger(t),!1}).insertBefore(this.jQ).add(this.jQ)}},t.latex=function(){return\"\\\\\"+this.ends[w].latex()+\" \"},t.renderCommand=function(t){var e,n;this.jQ=this.jQ.last(),this.remove(),this[q]?t.insLeftOf(this[q]):t.insAtRightEnd(this.parent),e=this.ends[w].latex(),e||(e=\" \"),n=j[e]||bt[e],n?(n=n(e),this._replacedFragment&&n.replaces(this._replacedFragment),n.createLeftOf(t)):(n=G(),n.replaces(e),n.createLeftOf(t),t.insRightOf(n),this._replacedFragment&&this._replacedFragment.remove())}}),J=t,tt=document.createElement(\"div\"),et=tt.style,nt={transform:1,WebkitTransform:1,MozTransform:1,OTransform:1,msTransform:1};for(st in nt)if(st in et){it=st;break}it?Z=function(t,e,n){t.css(it,\"scale(\"+e+\",\"+n+\")\")}:\"filter\"in et?(J=function(t){t.className=t.className},Z=function(t,e,n){function i(){t.css(\"marginRight\",(s.width()-1)*(e-1)/e+\"px\")}var s,r;e/=1+(n-1)/2,t.css(\"fontSize\",n+\"em\"),t.hasClass(\"mq-matrixed-container\")||t.addClass(\"mq-matrixed-container\").wrapInner(''),s=t.children().css(\"filter\",\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+e+\",SizingMethod='auto expand')\"),i(),r=setInterval(i),x(window).load(function(){clearTimeout(r),i()})}):Z=function(t,e,n){t.css(\"fontSize\",n+\"em\")},rt=v(P,function(t,e){t.init=function(t,n,i){e.init.call(this,t,\"<\"+n+\" \"+i+\">&0\")}}),j.mathrm=i(rt,\"\\\\mathrm\",\"span\",'class=\"mq-roman mq-font\"'),j.mathit=i(rt,\"\\\\mathit\",\"i\",'class=\"mq-font\"'),j.mathbf=i(rt,\"\\\\mathbf\",\"b\",'class=\"mq-font\"'),j.mathsf=i(rt,\"\\\\mathsf\",\"span\",'class=\"mq-sans-serif mq-font\"'),j.mathtt=i(rt,\"\\\\mathtt\",\"span\",'class=\"mq-monospace mq-font\"'),j.underline=i(rt,\"\\\\underline\",\"span\",'class=\"mq-non-leaf mq-underline\"'),j.overline=j.bar=i(rt,\"\\\\overline\",\"span\",'class=\"mq-non-leaf mq-overline\"'),j.overrightarrow=i(rt,\"\\\\overrightarrow\",\"span\",'class=\"mq-non-leaf mq-overarrow mq-arrow-right\"'),j.overleftarrow=i(rt,\"\\\\overleftarrow\",\"span\",'class=\"mq-non-leaf mq-overarrow mq-arrow-left\"'),j.overleftrightarrow=i(rt,\"\\\\overleftrightarrow\",\"span\",'class=\"mq-non-leaf mq-overarrow mq-arrow-both\"'),j.overarc=i(rt,\"\\\\overarc\",\"span\",'class=\"mq-non-leaf mq-overarc\"'),j.dot=v(P,function(t,e){t.init=function(){e.init.call(this,\"\\\\dot\",'˙&0')}}),j.textcolor=v(P,function(t,e){t.setColor=function(t){this.color=t,this.htmlTemplate='&0'},t.latex=function(){return\"\\\\textcolor{\"+this.color+\"}{\"+this.blocks[0].latex()+\"}\"},t.parser=function(){var t=this,n=B.optWhitespace,i=B.string,s=B.regex;return n.then(i(\"{\")).then(s(/^[#\\w\\s.,()%-]*/)).skip(i(\"}\")).then(function(n){return t.setColor(n),e.parser.call(t)})},t.isStyleBlock=function(){return!0}}),j.class=v(P,function(t,e){t.parser=function(){var t=this,n=B.string,i=B.regex;return B.optWhitespace.then(n(\"{\")).then(i(/^[-\\w\\s\\\\\\xA0-\\xFF]*/)).skip(n(\"}\")).then(function(n){return t.cls=n||\"\",t.htmlTemplate='&0',e.parser.call(t)})},t.latex=function(){return\"\\\\class{\"+this.cls+\"}{\"+this.blocks[0].latex()+\"}\"},t.isStyleBlock=function(){return!0}}),ot=v(P,function(t,e){t.ctrlSeq=\"_{...}^{...}\",t.createLeftOf=function(t){if(this.replacedFragment||t[w]||!t.options.supSubsRequireOperand)return e.createLeftOf.apply(this,arguments)},t.contactWeld=function(t){var e,n,i,s,r,o;for(e=w;e;e=e===w&&q)if(this[e]instanceof ot){for(n=\"sub\";n;n=\"sub\"===n&&\"sup\")i=this[n],s=this[e][n],i&&(s?i.isEmpty()?o=y(s,0,s.ends[w]):(i.jQ.children().insAtDirEnd(-e,s.jQ),r=i.children().disown(),o=y(s,r.ends[q],s.ends[w]),e===w?r.adopt(s,s.ends[q],0):r.adopt(s,0,s.ends[w])):this[e].addBlock(i.disown()),this.placeCursor=function(t,n){return function(i){i.insAtDirEnd(-e,t||n)}}(s,i));this.remove(),t&&t[w]===this&&(e===q&&o?o[w]?t.insRightOf(o[w]):t.insAtLeftEnd(o.parent):t.insRightOf(this[e]));break}},D.p.charsThatBreakOutOfSupSub=\"\",t.finalizeTree=function(){this.ends[w].write=function(t,e){if(t.options.autoSubscriptNumerals&&this===this.parent.sub){if(\"_\"===e)return;var n=this.chToCmd(e,t.options);return n instanceof N?t.deleteSelection():t.clearSelection().insRightOf(this.parent),n.createLeftOf(t.show())}t[w]&&!t[q]&&!t.selection&&t.options.charsThatBreakOutOfSupSub.indexOf(e)>-1&&t.insRightOf(this.parent),V.p.write.apply(this,arguments)}},t.moveTowards=function(t,n,i){n.options.autoSubscriptNumerals&&!this.sup?n.insDirOf(t,this):e.moveTowards.apply(this,arguments)},t.deleteTowards=function(t,n){if(n.options.autoSubscriptNumerals&&this.sub){var i=this.sub.ends[-t];i instanceof N?i.remove():i&&i.deleteTowards(t,n.insAtDirEnd(-t,this.sub)),this.sub.isEmpty()&&(this.sub.deleteOutOf(w,n.insAtLeftEnd(this.sub)),this.sup&&n.insDirOf(-t,this))}else e.deleteTowards.apply(this,arguments)},t.latex=function(){function t(t,e){var n=e&&e.latex();return e?t+(1===n.length?n:\"{\"+(n||\" \")+\"}\"):\"\"}return t(\"_\",this.sub)+t(\"^\",this.sup)},t.addBlock=function(t){\"sub\"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.jQ=x('').append(t.jQ.children()).attr(Ft,t.id).prependTo(this.jQ)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,t.jQ=x('').append(t.jQ.children()).attr(Ft,t.id).appendTo(this.jQ.removeClass(\"mq-sup-only\")),this.jQ.append(''));for(var e=0;e<2;e+=1)!function(t,e,n,i){t[e].deleteOutOf=function(s,r){if(r.insDirOf(this[s]?-s:s,this.parent),!this.isEmpty()){var o=this.ends[s];this.children().disown().withDirAdopt(s,r.parent,r[s],r[-s]).jQ.insDirOf(-s,r.jQ),r[-s]=o}t.supsub=n,delete t[e],delete t[i+\"Into\"],t[n][i+\"OutOf\"]=f,delete t[n].deleteOutOf,\"sub\"===e&&x(t.jQ.addClass(\"mq-sup-only\")[0].lastChild).remove(),this.remove()}}(this,\"sub sup\".split(\" \")[e],\"sup sub\".split(\" \")[e],\"down up\".split(\" \")[e])}}),j.subscript=j._=v(ot,function(t,e){t.supsub=\"sub\",t.htmlTemplate='&0',t.textTemplate=[\"_\"],t.finalizeTree=function(){this.downInto=this.sub=this.ends[w],this.sub.upOutOf=f,e.finalizeTree.call(this)}}),j.superscript=j.supscript=j[\"^\"]=v(ot,function(t,e){t.supsub=\"sup\",t.htmlTemplate='&0',t.textTemplate=[\"^\"],t.finalizeTree=function(){this.upInto=this.sup=this.ends[q],this.sup.downOutOf=f,e.finalizeTree.call(this)},t.reflow=function(){var t=this.jQ,e=t.prev().innerHeight();e*=.6,t.css(\"vertical-align\",e+\"px\")}}),at=v(P,function(t,e){t.init=function(t,e){var n='&1'+e+'&0';N.prototype.init.call(this,t,n)},t.createLeftOf=function(t){e.createLeftOf.apply(this,arguments),t.options.sumStartsWithNEquals&&(Ot(\"n\").createLeftOf(t),Rt().createLeftOf(t))},t.latex=function(){function t(t){return 1===t.length?t:\"{\"+(t||\" \")+\"}\"}return this.ctrlSeq+\"_\"+t(this.ends[w].latex())+\"^\"+t(this.ends[q].latex())},t.parser=function(){var t,e=B.string,n=B.optWhitespace,i=B.succeed,s=F.block,r=this,o=r.blocks=[V(),V()];for(t=0;t&1&0')},t.createLeftOf=P.p.createLeftOf}),lt=j.frac=j.dfrac=j.cfrac=j.fraction=v(P,function(t,e){t.ctrlSeq=\"\\\\frac\",t.htmlTemplate='&0&1',t.textTemplate=[\"(\",\")/(\",\")\"],t.finalizeTree=function(){this.upInto=this.ends[q].upOutOf=this.ends[w],this.downInto=this.ends[w].downOutOf=this.ends[q]}}),ct=j.over=Q[\"/\"]=v(lt,function(e,n){e.createLeftOf=function(e){if(!this.replacedFragment){for(var i=e[w];i&&!(i instanceof U||i instanceof(j.text||t)||i instanceof at||\"\\\\ \"===i.ctrlSeq||/^[,;:]$/.test(i.ctrlSeq));)i=i[w];i instanceof at&&i[q]instanceof ot&&(i=i[q],i[q]instanceof ot&&i[q].ctrlSeq!=i.ctrlSeq&&(i=i[q])),i!==e[w]&&(this.replaces(k(i[q]||e.parent.ends[w],e[w])),e[w]=i)}n.createLeftOf.call(this,e)}}),ht=j.sqrt=j[\"√\"]=v(P,function(t,e){t.ctrlSeq=\"\\\\sqrt\",t.htmlTemplate='&0',t.textTemplate=[\"sqrt(\",\")\"],t.parser=function(){return F.optBlock.then(function(t){return F.block.map(function(e){var n=ut();return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n})}).or(e.parser.call(this))},t.reflow=function(){var t=this.ends[q].jQ;Z(t.prev(),1,t.innerHeight()/+t.css(\"fontSize\").slice(0,-2)-.1)}}),j.hat=v(P,function(t,e){t.ctrlSeq=\"\\\\hat\",t.htmlTemplate='^&0',t.textTemplate=[\"hat(\",\")\"]}),ut=j.nthroot=v(ht,function(t,e){t.htmlTemplate='&0&1',t.textTemplate=[\"sqrt[\",\"](\",\")\"],t.latex=function(){return\"\\\\sqrt[\"+this.ends[w].latex()+\"]{\"+this.ends[q].latex()+\"}\"}}),ft=v(P,function(t,e){t.init=function(t,n,i){var s=''+n+'&0';e.init.call(this,t,s,i)}}),j.vec=i(ft,\"\\\\vec\",\"→\",[\"vec(\",\")\"]),j.tilde=i(ft,\"\\\\tilde\",\"~\",[\"tilde(\",\")\"]),pt=v(v(P,p),function(e,n){e.init=function(t,e,i,s,r){n.init.call(this,\"\\\\left\"+s,m,[e,i]),this.side=t,this.sides={},this.sides[w]={ch:e,ctrlSeq:s},this.sides[q]={ch:i,ctrlSeq:r}},e.numBlocks=function(){return 1},e.html=function(){return this.htmlTemplate=''+this.sides[w].ch+'&0'+this.sides[q].ch+\"\",n.html.call(this)},e.latex=function(){return\"\\\\left\"+this.sides[w].ctrlSeq+this.ends[w].latex()+\"\\\\right\"+this.sides[q].ctrlSeq},e.matchBrack=function(t,e,n){return n instanceof pt&&n.side&&n.side!==-e&&(!t.restrictMismatchedBrackets||dt[this.sides[this.side].ch]===n.sides[n.side].ch||{\"(\":\"]\",\"[\":\")\"}[this.sides[w].ch]===n.sides[q].ch)&&n},e.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side],t.delimjQs.eq(this.side===w?0:1).removeClass(\"mq-ghost\").html(this.sides[this.side].ch)},e.createLeftOf=function(t){var e,i,s;this.replacedFragment||(e=t.options,i=\"|\"===this.sides[w].ch?this.matchBrack(e,q,t[q])||this.matchBrack(e,w,t[w])||this.matchBrack(e,0,t.parent.parent):this.matchBrack(e,-this.side,t[-this.side])||this.matchBrack(e,-this.side,t.parent.parent)),i?(s=this.side=-i.side,this.closeOpposing(i),i===t.parent.parent&&t[s]&&k(t[s],t.parent.ends[s],-s).disown().withDirAdopt(-s,i.parent,i,i[s]).jQ.insDirOf(s,i.jQ),i.bubble(\"reflow\")):(i=this,s=i.side,i.replacedFragment?i.side=0:t[-s]&&(i.replaces(k(t[-s],t.parent.ends[-s],s)),t[-s]=0),n.createLeftOf.call(i,t)),s===w?t.insAtLeftEnd(i.ends[w]):t.insRightOf(i)},e.placeCursor=t,e.unwrap=function(){this.ends[w].children().disown().adopt(this.parent,this,this[q]).jQ.insertAfter(this.jQ),this.remove()},e.deleteSide=function(t,e,n){var i,s,r,o=this.parent,a=this[t],l=o.ends[t];if(t===this.side)return this.unwrap(),void(a?n.insDirOf(-t,a):n.insAtDirEnd(t,o));if(i=n.options,s=!this.side,this.side=-t,this.matchBrack(i,t,this.ends[w].ends[this.side]))this.closeOpposing(this.ends[w].ends[this.side]),r=this.ends[w].ends[t],this.unwrap(),r.siblingCreated&&r.siblingCreated(n.options,t),a?n.insDirOf(-t,a):n.insAtDirEnd(t,o);else{if(this.matchBrack(i,t,this.parent.parent))this.parent.parent.closeOpposing(this),this.parent.parent.unwrap();else{if(e&&s)return this.unwrap(),void(a?n.insDirOf(-t,a):n.insAtDirEnd(t,o));this.sides[t]={ch:dt[this.sides[this.side].ch],ctrlSeq:dt[this.sides[this.side].ctrlSeq]},this.delimjQs.removeClass(\"mq-ghost\").eq(t===w?0:1).addClass(\"mq-ghost\").html(this.sides[t].ch)}a?(r=this.ends[w].ends[t],k(a,l,-t).disown().withDirAdopt(-t,this.ends[w],r,0).jQ.insAtDirEnd(t,this.ends[w].jQ.removeClass(\"mq-empty\")),r.siblingCreated&&r.siblingCreated(n.options,t),n.insDirOf(-t,a)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.ends[w])}},e.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.finalizeTree=function(){this.ends[w].deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},this.finalizeTree=this.intentionalBlur=function(){this.delimjQs.eq(this.side===w?1:0).removeClass(\"mq-ghost\"),this.side=0}},e.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()}}),dt={\"(\":\")\",\")\":\"(\",\"[\":\"]\",\"]\":\"[\",\"{\":\"}\",\"}\":\"{\",\"\\\\{\":\"\\\\}\",\"\\\\}\":\"\\\\{\",\"⟨\":\"⟩\",\"⟩\":\"⟨\",\"\\\\langle \":\"\\\\rangle \",\"\\\\rangle \":\"\\\\langle \",\"|\":\"|\",\"\\\\lVert \":\"\\\\rVert \",\"\\\\rVert \":\"\\\\lVert \"},d(\"(\"),d(\"[\"),d(\"{\",\"\\\\{\"),j.langle=i(pt,w,\"⟨\",\"⟩\",\"\\\\langle \",\"\\\\rangle \"),j.rangle=i(pt,q,\"⟨\",\"⟩\",\"\\\\langle \",\"\\\\rangle \"),Q[\"|\"]=i(pt,w,\"|\",\"|\",\"|\",\"|\"),j.lVert=i(pt,w,\"∥\",\"∥\",\"\\\\lVert \",\"\\\\rVert \"),j.rVert=i(pt,q,\"∥\",\"∥\",\"\\\\lVert \",\"\\\\rVert \"),j.left=v(P,function(t){t.parser=function(){var t=B.regex,e=B.string,n=(B.succeed,B.optWhitespace);return n.then(t(/^(?:[([|]|\\\\\\{|\\\\langle\\b|\\\\lVert\\b)/)).then(function(i){var s=\"\\\\\"===i.charAt(0)?i.slice(1):i;return\"\\\\langle\"==i&&(s=\"⟨\",i+=\" \"),\"\\\\lVert\"==i&&(s=\"∥\",i+=\" \"),F.then(function(r){return e(\"\\\\right\").skip(n).then(t(/^(?:[\\])|]|\\\\\\}|\\\\rangle\\b|\\\\rVert\\b)/)).map(function(t){var e,n=\"\\\\\"===t.charAt(0)?t.slice(1):t;return\"\\\\rangle\"==t&&(n=\"⟩\",t+=\" \"),\"\\\\rVert\"==t&&(n=\"∥\",t+=\" \"),e=pt(0,s,n,i,t),e.blocks=[r],r.adopt(e,0,0),e})})})}}),j.right=v(P,function(t){t.parser=function(){return B.fail(\"unmatched \\\\right\")}}),mt=j.binom=j.binomial=v(v(P,p),function(t,e){t.ctrlSeq=\"\\\\binom\",t.htmlTemplate='(&0&1)',t.textTemplate=[\"choose(\",\",\",\")\"]}),j.choose=v(mt,function(t){t.createLeftOf=ct.prototype.createLeftOf}),j.editable=j.MathQuillMathField=v(P,function(t,e){t.ctrlSeq=\"\\\\MathQuillMathField\",t.htmlTemplate='&0',t.parser=function(){var t=this,n=B.string,i=B.regex,s=B.succeed;return n(\"[\").then(i(/^[a-z][a-z0-9]*/i)).skip(n(\"]\")).map(function(e){t.name=e}).or(s()).then(e.parser.call(t))},t.finalizeTree=function(t){var e=S(this.ends[w],this.jQ,t);e.KIND_OF_MQ=\"MathField\",e.editable=!0,e.createTextarea(),e.editablesTextareaEvents(),e.cursor.insAtRightEnd(e.root),h(e.root)},t.registerInnerField=function(t,e){t.push(t[this.name]=e(this.ends[w].controller))},t.latex=function(){return this.ends[w].latex()},t.text=function(){return this.ends[w].text()}}),gt=j.embed=v(N,function(t,e){t.setOptions=function(t){function e(){return\"\"}return this.text=t.text||e,this.htmlTemplate=t.htmlString||\"\",this.latex=t.latex||e,this},t.parser=function(){var t=this,e=B.string,n=B.regex,i=B.succeed;return e(\"{\").then(n(/^[a-z][a-z0-9]*/i)).skip(e(\"}\")).then(function(s){return e(\"[\").then(n(/^[-\\w\\s]*/)).skip(e(\"]\")).or(i()).map(function(e){return t.setOptions(A[s](e))})})}}),bt={},j.begin=v(P,function(t,e){t.parser=function(){var t=B.string,e=B.regex;return t(\"{\").then(e(/^[a-z]+/i)).skip(t(\"}\")).then(function(e){return(bt[e]?bt[e]().parser():B.fail(\"unknown environment type: \"+e)).skip(t(\"\\\\end{\"+e+\"}\"))})}}),vt=v(P,function(t,e){t.template=[[\"\\\\begin{\",\"}\"],[\"\\\\end{\",\"}\"]],t.wrappers=function(){return[t.template[0].join(this.environment),t.template[1].join(this.environment)]}}),wt=bt.matrix=v(vt,function(t,e){var n={column:\"&\",row:\"\\\\\\\\\"};t.parentheses={left:null,right:null},t.environment=\"matrix\",t.reflow=function(){var t=this.jQ.children(\"table\"),e=t.outerHeight()/+t.css(\"fontSize\").slice(0,-2),n=this.jQ.children(\".mq-paren\");n.length&&Z(n,$t(1+.2*(e-1),1.2),1.05*e)},t.latex=function(){var t,e=\"\";return this.eachChild(function(i){void 0!==t&&(e+=t!==i.row?n.row:n.column),t=i.row,e+=i.latex()}),this.wrappers().join(e)},t.html=function(){function t(t){return t?''+t+\"\":\"\"}var n,i=[],s=\"\",r=0;return this.eachChild(function(t){n!==t.row&&(n=t.row,s+=\"$tds\",i[n]=[]),i[n].push(\"&\"+r+++\"\")}),this.htmlTemplate=''+t(this.parentheses.left)+''+s.replace(/\\$tds/g,function(){return i.shift().join(\"\")})+\"
\"+t(this.parentheses.right)+\"
\",e.html.call(this)},t.createBlocks=function(){this.blocks=[qt(0,this),qt(0,this),qt(1,this),qt(1,this)]},t.parser=function(){var t=this,e=B.optWhitespace,i=B.string;return e.then(i(n.column).or(i(n.row)).or(F.block)).many().skip(e).then(function(e){function i(){t.blocks.push(qt(o,t,r)),r=[]}var s,r=[],o=0;for(t.blocks=[],s=0;s-1&&(t[e].remove(),c.splice(c.indexOf(t[e]),1))}var i,s,r=[],o=[],a=[],l=[],c=this.blocks;this.eachChild(function(e){i!==e.row&&(i=e.row,r[i]=[],s=0),o[s]=o[s]||[],o[s].push(e),r[i].push(e),e===t&&(a=r[i],l=o[s]),s+=1}),e(a)&&l.length>1&&(i=r.indexOf(a),this.eachChild(function(t){t.row>i&&(t.row-=1)}),n(a),this.jQ.find(\"tr\").eq(i).remove()),e(l)&&a.length>1&&n(l),this.finalizeTree()},t.addRow=function(t){var e,n,i,s=[],r=[],o=[],a=x(\"\"),l=t.row,c=0;for(this.eachChild(function(e){e.row<=l&&s.push(e),e.row===l&&(e===t&&(n=c),c+=1),e.row>l&&(e.row+=1,o.push(e))}),i=0;i').attr(Ft,e.id).appendTo(a);return this.jQ.find(\"tr\").eq(l).after(a),this.blocks=s.concat(r,o),r[n]},t.addColumn=function(t){var e,n,i,s=[],r=[];for(this.eachChild(function(n){\ns[n.row]=s[n.row]||[],s[n.row].push(n),n===t&&(e=s[n.row].length)}),i=0;i').attr(Ft,n.id);return this.jQ.find(\"tr\").each(function(t){x(this).find(\"td\").eq(e-1).after(s[t][e].jQ)}),this.blocks=[].concat.apply([],s),r[t.row]},t.insert=function(t,e){var n=this[t](e);this.cursor=this.cursor||this.parent.cursor,this.finalizeTree(),this.bubble(\"reflow\").cursor.insAtRightEnd(n)},t.backspace=function(t,e,n,i){var s=t[e];if(t.isEmpty()){for(this.deleteCell(t);s&&s[e]&&-1===this.blocks.indexOf(s);)s=s[e];s&&n.insAtDirEnd(-e,s),1===this.blocks.length&&this.blocks[0].isEmpty()&&(i(),this.finalizeTree()),this.bubble(\"edited\")}}}),bt.pmatrix=v(wt,function(t,e){t.environment=\"pmatrix\",t.parentheses={left:\"(\",right:\")\"}}),bt.bmatrix=v(wt,function(t,e){t.environment=\"bmatrix\",t.parentheses={left:\"[\",right:\"]\"}}),bt.Bmatrix=v(wt,function(t,e){t.environment=\"Bmatrix\",t.parentheses={left:\"{\",right:\"}\"}}),bt.vmatrix=v(wt,function(t,e){t.environment=\"vmatrix\",t.parentheses={left:\"|\",right:\"|\"}}),bt.Vmatrix=v(wt,function(t,e){t.environment=\"Vmatrix\",t.parentheses={left:\"‖\",right:\"‖\"}}),qt=v(V,function(t,e){t.init=function(t,n,i){if(e.init.call(this),this.row=t,n&&this.adopt(n,n.ends[q],0),i)for(var s=0;s\"+(n||t)+\"\")},t.text=function(){var t=this.ctrlSeq;return this.isPartOfOperator?\"\\\\\"==t[0]?t=t.slice(1,t.length):\" \"==t[t.length-1]&&(t=t.slice(0,-1)):(!this[w]||this[w]instanceof yt||this[w]instanceof U||\"\\\\ \"===this[w].ctrlSeq||(t=\"*\"+t),!this[q]||this[q]instanceof U||this[q]instanceof ot||(t+=\"*\")),t}}),D.p.autoCommands={_maxLength:0},E.autoCommands=function(t){var e,n,i,s,r;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'\"'+t+'\" not a space-delimited list of only letters';for(e=t.split(\" \"),n={},i=0,s=0;s0){for(s=\"\",r=this,o=0;r instanceof Ot&&r.ctrlSeq===r.letter&&o0;a-=1)if(l=e.slice(r,r+a),d.hasOwnProperty(l)){for(c=0,h=o;cf')},t.italicize=function(t){return this.jQ.html(\"f\").toggleClass(\"mq-f\",t),e.italicize.apply(this,arguments)}}),j[\" \"]=j.space=i(W,\"\\\\ \",\" \"),j[\"'\"]=j.prime=i(W,\"'\",\"′\"),j[\"″\"]=j.dprime=i(W,\"″\",\"″\"),j.backslash=i(W,\"\\\\backslash \",\"\\\\\"),Q[\"\\\\\"]||(Q[\"\\\\\"]=j.backslash),j.$=i(W,\"\\\\$\",\"$\"),St=v(N,function(t,e){t.init=function(t,n){e.init.call(this,t,''+(n||t)+\"\")}}),j[\"@\"]=St,j[\"&\"]=i(St,\"\\\\&\",\"&\"),j[\"%\"]=i(St,\"\\\\%\",\"%\"),j.alpha=j.beta=j.gamma=j.delta=j.zeta=j.eta=j.theta=j.iota=j.kappa=j.mu=j.nu=j.xi=j.rho=j.sigma=j.tau=j.chi=j.psi=j.omega=v(yt,function(t,e){t.init=function(t){e.init.call(this,\"\\\\\"+t+\" \",\"&\"+t+\";\")}}),j.phi=i(yt,\"\\\\phi \",\"ϕ\"),j.phiv=j.varphi=i(yt,\"\\\\varphi \",\"φ\"),j.epsilon=i(yt,\"\\\\epsilon \",\"ϵ\"),j.epsiv=j.varepsilon=i(yt,\"\\\\varepsilon \",\"ε\"),j.piv=j.varpi=i(yt,\"\\\\varpi \",\"ϖ\"),j.sigmaf=j.sigmav=j.varsigma=i(yt,\"\\\\varsigma \",\"ς\"),j.thetav=j.vartheta=j.thetasym=i(yt,\"\\\\vartheta \",\"ϑ\"),j.upsilon=j.upsi=i(yt,\"\\\\upsilon \",\"υ\"),j.gammad=j.Gammad=j.digamma=i(yt,\"\\\\digamma \",\"ϝ\"),j.kappav=j.varkappa=i(yt,\"\\\\varkappa \",\"ϰ\"),j.rhov=j.varrho=i(yt,\"\\\\varrho \",\"ϱ\"),j.pi=j[\"π\"]=i(St,\"\\\\pi \",\"π\"),j.lambda=i(St,\"\\\\lambda \",\"λ\"),j.Upsilon=j.Upsi=j.upsih=j.Upsih=i(N,\"\\\\Upsilon \",'ϒ'),j.Gamma=j.Delta=j.Theta=j.Lambda=j.Xi=j.Pi=j.Sigma=j.Phi=j.Psi=j.Omega=j.forall=v(W,function(t,e){t.init=function(t){e.init.call(this,\"\\\\\"+t+\" \",\"&\"+t+\";\")}}),_t=v(P,function(t){t.init=function(t){this.latex=t},t.createLeftOf=function(t){var e=F.parse(this.latex);e.children().adopt(t.parent,t[w],t[q]),t[w]=e.ends[q],e.jQize().insertBefore(t.jQ),e.finalizeInsert(t.options,t),e.ends[q][q].siblingCreated&&e.ends[q][q].siblingCreated(t.options,w),e.ends[w][w].siblingCreated&&e.ends[w][w].siblingCreated(t.options,q),t.parent.bubble(\"reflow\")},t.parser=function(){var t=F.parse(this.latex).children();return B.succeed(t)}}),j[\"¹\"]=i(_t,\"^1\"),j[\"²\"]=i(_t,\"^2\"),j[\"³\"]=i(_t,\"^3\"),j[\"¼\"]=i(_t,\"\\\\frac14\"),j[\"½\"]=i(_t,\"\\\\frac12\"),j[\"¾\"]=i(_t,\"\\\\frac34\"),Dt=v(U,function(t){t.init=W.prototype.init,t.contactWeld=t.siblingCreated=t.siblingDeleted=function(t,e){function n(t){return t[w]?t[w]instanceof U||/^[,;:\\(\\[]$/.test(t[w].ctrlSeq)?\"\":\"mq-binary-operator\":t.parent&&t.parent.parent&&t.parent.parent.isStyleBlock()?n(t.parent.parent):\"\"}if(e!==q)return this.jQ[0].className=n(this),this}}),j[\"+\"]=i(Dt,\"+\",\"+\"),j[\"–\"]=j[\"-\"]=i(Dt,\"-\",\"−\"),j[\"±\"]=j.pm=j.plusmn=j.plusminus=i(Dt,\"\\\\pm \",\"±\"),j.mp=j.mnplus=j.minusplus=i(Dt,\"\\\\mp \",\"∓\"),Q[\"*\"]=j.sdot=j.cdot=i(U,\"\\\\cdot \",\"·\",\"*\"),Et=v(U,function(t,e){t.init=function(t,n){this.data=t,this.strict=n;var i=n?\"Strict\":\"\";e.init.call(this,t[\"ctrlSeq\"+i],t[\"html\"+i],t[\"text\"+i])},t.swap=function(t){this.strict=t;var e=t?\"Strict\":\"\";this.ctrlSeq=this.data[\"ctrlSeq\"+e],this.jQ.html(this.data[\"html\"+e]),this.textTemplate=[this.data[\"text\"+e]]},t.deleteTowards=function(t,n){if(t===w&&!this.strict)return this.swap(!0),void this.bubble(\"reflow\");e.deleteTowards.apply(this,arguments)}}),Lt={ctrlSeq:\"\\\\le \",html:\"≤\",text:\"≤\",ctrlSeqStrict:\"<\",htmlStrict:\"<\",textStrict:\"<\"},At={ctrlSeq:\"\\\\ge \",html:\"≥\",text:\"≥\",ctrlSeqStrict:\">\",htmlStrict:\">\",textStrict:\">\"},j[\"<\"]=j.lt=i(Et,Lt,!0),j[\">\"]=j.gt=i(Et,At,!0),j[\"≤\"]=j.le=j.leq=i(Et,Lt,!1),j[\"≥\"]=j.ge=j.geq=i(Et,At,!1),Rt=v(U,function(t,e){t.init=function(){e.init.call(this,\"=\",\"=\")},t.createLeftOf=function(t){if(t[w]instanceof Et&&t[w].strict)return t[w].swap(!1),void t[w].bubble(\"reflow\");e.createLeftOf.apply(this,arguments)}}),j[\"=\"]=Rt,j[\"×\"]=j.times=i(U,\"\\\\times \",\"×\",\"[x]\"),j[\"÷\"]=j.div=j.divide=j.divides=i(U,\"\\\\div \",\"÷\",\"[/]\"),Q[\"~\"]=j.sim=i(U,\"\\\\sim \",\"~\",\"~\"),zt=c(1);for(It in zt)!function(t,e){\"function\"==typeof e?(l[t]=function(){return a(),e.apply(this,arguments)},l[t].prototype=e.prototype):l[t]=e}(It,zt[It])}();\n","\"use strict\";\n// Requires jquery\n// Other required assets are automatically inserted into page\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reflow = exports.init = void 0;\n/**\n * Mathquill groups are marked with the class pw-mq-group\n * All data-mq inserted within a group will only have one submit button,\n * so all answers will be sent to the check server at once\n */\n/**\n * DATA-MQ ELEMENT\n * It is used to generate questions client-side\n *\n * SYNTAX on elem being p or span or div\n * \n * Text that contains the formulation...\n * \n *\n * ATTRIBUTES\n * data-mq: can either define a type (simple, basic, cloze, panel, mchoice, mchoice*) or\n * a base64 encoded definition of the whole activity. This last option is used to offuscate answers.\n * In the last case, an activity generator can be used.\n * data-mq-ans: sympy representation of the answer. It can be a boolean to assert if it is true\n * it can be an array [\"\",\"\",\"\"...] in cloze question types (it requires data-mq-ini)\n *\n * data-mq-symbols: Define symbols and default values, use := to assign values and ; to separate symbol definitions.\n * In cloze questions an special variable called ua[i], i the index of the placeholder, is the answer\n * that the user introduced at placeholder i. This can be used to construct a custom evaluator which\n * returns a boolean value in data-mq-ans.\n * Note that data-mq-ans can use any of the defined symbols. By default \"x\", \"y\", \"z\" are already defined\n * as sympy symbols. No need to add them to data-mq-symbols.\n * Define options for mchoice, mchoice* separated by comma.\n *\n * data-mq-ini: Initial latex, e.g. ?+? on every ? is a placeholder for cloze questions or\n * an initial matrix of a given size M[3x3]\n *\n * data-mq-rules: is a map which contains the options that must be passed to the evaluator\n * \"factor\": true --> the answer must be factorized\n * \"expanded\": true --> the answer must be expanded\n * \"precision\": 1e-3 --> precission of numeric answers\n * \"comma_as_decimal\": true --> The comma symbol in the answer will be interpreted as decimal part separator.\n *\n * data-mq-formulation (optional): Text that will be appended to the end of the formulation.\n */\n/**\n * DATA-PYGEN ELEMENT\n * The questions are generated server-side by a generator in pygen server. After the question is generated and rendered\n * the validation process i equivalent to the one in DATA-MQ\n *\n *
\n *\n * data-pygen:\n * The generator paths are the same as the ones defined in pygen.\n * Several generators can be used by separating them with ;.\n * Generators can be configured by setting parameters values within brackets [].\n *\n * data-pygen-category:\n * The category in iapace tree where the activity of the user will be stored\n * Only if this parameter is set, a level indicador is shown in the activity\n *\n * data-pygen-order=\"random\" //default\n * This options is discarded if only one generator is defined in data-pygen.\n * By default one activity from the ones defined in data-pygen is taken at random.\n * However other behaviours can be defined as ordering. Assume 3 generators:\n *\n * weighted: 0.2,0.6,0.2 Random but setting the probability at which every generator is used. Values must add 1.\n * In this example, most likely to generate a question from 2nd generator.\n *\n * sequence: 3,5,8 1st generator 3 questions, 2nd generator 5 questions, 3rd generator 8 questions\n * and repeat in cicles if more than 3+5+8 questions are created\n * sequence: 3,5,* 1st generator 3 questions, 2nd generator 5 questions, 3rd generator remaining questions\n * sequence: 3,*,* start with 3 questions of the first generator and after that take at random questions from generator 2 and 3.\n * sequence: 3,*(0.7),*(0.3) The same as above but with weights\n *\n * Important:\n * 1. * are only allowed at the end of the sequence\n * 2. sequences will not be mantained over page reloads. So every time the page realoads, the sequence starts again.\n *\n * data-pygen-goal:\n * The condition to set the activity as completed. Many conditions can be set\n * and if any of them is verified the goal flag is set.\n * Different conditions are separated by ;. A condition takes 3 parameters\n * ,,\n * \"5,6,4;10,5,*\" means\n * 5 or more questions answered, grade of 6 or more, current level 4 of more\n * OR\n * 10 or more questions answered, grade of 5 or more, regardless of the current level\n *\n * data-pygen-celebrate=\"none|confetti\"\n * Say whether to celebrate or not when the goal is reached!\n */\nconst polyfills_1 = require(\"./polyfills\");\nconst globals_1 = require(\"./globals\");\nconst utils_1 = require(\"./utils\");\nconst mqfy_1 = require(\"./mqfy\");\nconst findPyGenerators_1 = require(\"./findPyGenerators\");\n(0, polyfills_1.applyPolyfills)();\nfunction reflow(widgets) {\n (0, mqfy_1.findQuillGroups)(widgets); // Groups of mquills\n (0, findPyGenerators_1.findPyGenerators)(); // An interface for dynamic generated questions\n}\nexports.reflow = reflow;\n// Inject required dependencies on the page\n// On jquery ready\nlet isInitialized = false;\nfunction init(userConfig) {\n // Prevent multiple initializations\n if (isInitialized) {\n reflow(userConfig.widgets);\n return;\n }\n if (userConfig['engine'] && !userConfig.engines) {\n userConfig.engines = [userConfig['engine'] || \"\"];\n }\n if (!userConfig.engines) {\n console.error(\"The engines option in the init method is required.\");\n return;\n }\n if (!Array.isArray(userConfig.engines)) {\n userConfig.engines = [userConfig.engines];\n }\n globals_1.cfg.setUserConfig(userConfig);\n //Bundle all dependencies in this same file (except Nerdamer)\n //createLinkSheet(urlJoin(cfg.MQWIDGETS_BASEURL, \"mqwidgets2.css\"));\n //insertScript(cfg.MATHQUILL_URL)\n const dependencies = [];\n if (userConfig.engines.indexOf('nerdamer') >= 0) {\n dependencies.push((0, utils_1.insertScript)(globals_1.cfg.NERDAMER_URL));\n }\n if (dependencies.length) {\n Promise.all(dependencies).then(() => {\n reflow(userConfig === null || userConfig === void 0 ? void 0 : userConfig.widgets);\n isInitialized = true;\n }, () => {\n console.error(\"Unable to load the required dependencies\");\n });\n }\n else {\n reflow(userConfig === null || userConfig === void 0 ? void 0 : userConfig.widgets);\n isInitialized = true;\n }\n}\nexports.init = init;\n"],"names":["Object","defineProperty","exports","value","I18n","globals_1","require","TRANSLATIONS","ca","es","en","BROWSER_LANG","window","navigator","lang","languages","language","browserLanguage","userLanguage","systemLanguage","toLowerCase","replace","split","getBrowserLang","key","cfg","LANG","langPack","console","error","out","i","createSubmitButtonForGroup","bindSubmitActionButton","checking_1","I18n_1","engineCAS_1","utils_1","LAST_AJAX","Date","getTime","gid","check_btn","extraActions","groupContainer","shared","qids","keys","map","e","parseInt","off","on","ev","preventDefault","now","k","len","length","qid","editor","getStatus","STATUS","MODIFIED","ual","latex","has_empty_answers","checkMsg","getDefinition","right_answer","getWrong_attemps","MAX_ATTEMPTS","isPigen","showAnswer","getQType","QTYPES","M","Ms","score10","isComodiUsed","ans","increment_wrong","postObj","anse","atob","isNumeric","pfual","parseFloat","difference","maxError","rules","precision","Math","abs","copyPropsFromTo","pageInfo","getHash","setHash","MD5","formulation","bookId","chapterId","hash","engineCAS","compare","then","datos","correct","msg","errors","$","extractMatrices","regexMatrices","tex","matrices","m","mat","forEach","alinia","linia","push","exec","has_empty_elements","matrix","rows","arow","cols","j","v","trim","lenmat","LevelIndicator","numLevels","this","container","levelIcons","elem","append","n","css","attr","removeAttr","visible","PwDialog","title","width","height","id","random","toString","substring","topBar","headerTitle","closeBtn","self","currentX","currentY","initialX","initialY","active","xOffset","yOffset","dragStart","type","touches","clientX","clientY","target","dragEnd","setTranslate","xPos","yPos","el","style","transform","drag","addEventListener","element","remove","removeEventListener","EditorDialog","editorPanel_1","qtype","P","editorPanel","EditorPanel","controlButtons","acceptBtn","cancelBtn","acceptFn","close","cancelFn","sanitizeLaTeX","focus","dispose","find","reflow","def","setDefinition","EditorBase","parent","status","UNMODIFIED","wrong_attemps","isAnswerShown","pigen","comodi","ansType","EditorCloze","dialog_1","ini","dlg_btn_el","quill_el_container","quill_el","check_el","mathInput","StaticMath","innerFields","__controller","textarea","html","removeClass","parts","lenv","msg2","addClass","revert","sharedDlg","dlg","answerHolder","prop","reflowLatex","show","EditorInput","editorDialog_1","quill_blocker","isBtn","S","MathField","handlers","edit","self2","RIGHT_ICON","WRONG_ICON","rescueBtn","evt","getAnswer","EditorMChoice","options","selectedIndex","floor","btn_group","btn_action","dropdown_menu","opt","dropdown_item","EditorMChoiceCheckbox","multipleAnswers","symbols","radios_group","radiosGroupId","allRadios","radioId","radio_wrapper","radio_item","radio_label","wsel","join","__importDefault","mod","__esModule","pwTabMenu_1","createToolbarButton_1","toolbar_config_1","editorBase_1","standalone","panel","palettes","PwTabMenu","spanMathInput","feedback_el","items","default","button_meta","name","btnInfo","tabName","default_toolbar_tabs","tab","addTab","aButton","createToolbarButton","addContentsToTab","setVisible","indexOf","setTab","firstSelected","num_visible","found","_a","setEnabled","btn_meta","btn","icon","panell","controls","lenk","vars","varObj","minmax","min","max","control","val","alab","okButtton","varsmap","$c","real_latex","write","moveto","keystroke","panell_shown","$panel","tabs","currentTab","tabsPanel","contentsPanel","contents","visibility","enabled","children","default_toolbar_buttons","movefor","lat","latrow","keyboard_keys","createQuillFromObject","editorCloze_1","editorInput_1","editorMChoice_1","editorMChoiceCheckbox_1","$el","obj","created","spanEl","C","initial_latex","Array","isArray","B","get_qid","setStatus","nerdamerCAS_1","sympyCAS_1","payload","engine","DEFAULT_ENGINE","sympyCAS","nerdamerCAS","parseLatex_1","is_set","expr","elements","firstElem","is_matrix","txt","text","startsWith","nerdamer","NerdamerCAS","JSON","parse","stringify","str","p","rules_checks","latex_code","fo_symb","un_sym","match","RegExp","cas","clone","Promise","resolve","reject","flush","clearVars","getCore","Symbol","scope","checkRules","user_sympy","parseLatex","filter","x","ex","setVar","symb","pos","symb_name","symb_raw","ans_sympy","decrypt","msgs","zip","pair","ans_obj","parsed_input","dims1","dims2","toDecimal","delta","subtract","isZero","each","is_zero_matrix","eq","simplify","isPolynomial","unt","coeffs","nexpect","expand","nterms_diff","err","ra","btoa","pmatrix_re","mcount","$0","$1","row","col","varName","convertFromLaTeX","SympyCAS","ajax","url","CAS_URL","data","dataType","success","GETANSWER_URL","findPyGenerators","actions_1","LevelIndicator_1","createQuill_1","goalChecker_1","mq_parsing_1","seqBasic_1","seqRandomWeighted_1","seqSequence_1","IB","eg","$eg","topPanel","centralPanel","bottomPanel","copyrightPanel","levelIndicator","category","HAS_IAPACE","currentLevel","iapace","inference","setLevel","goalChecker","goalRules","GoalChecker","accomplished","rawDataPygens","dataPygen","z","lenz","genpart","genname","genparams","paramspart","t","lent","aparm","param_parts","sequenciador","SeqBasic","order","SeqRandomWeighted","SeqSequence","checkBtn","comodiBtn","currentDatos","currentEditor","createDynamicMathquill","nextButton","showmeBtn","nextGenerator","next","PYGEN_URL","pregunta","json_raw","mq64","json_obj","frame","findCreate","sum","h","processMqIni","r","lenr","epart","addScore","save","reached","Confetti","play","CORRECT","lin","comodiUsed","ccSpan","sharedContext","parseUrlParams","params","nv","MQWidgets","Cfg","NERDAMER_URL","BACKEND_BASEURL","MQWIDGETS_BASEURL","_b","document","querySelector","userId","userFullname","dataUserId","getAttribute","userText","innerText","location","search","ele","cookie","eq_cookie_pos","moodleSession","substr","courseName","courseId","footer","hrefVal","href","isTeacher","site","assignNum","iedibAPI","lliurament","assignName","loadPageInfo","WRONG","urlJoin","uc","engines","remotes","mqwBaseurl","MQI","div","MathQuill","getInterface","config","d","reach","nrules","partial","crule","undecided","isNaN","grade","s","createQuillFromDataAttr","$2","nrows","ncols","mtex","aRow","endsWith","kk","lenkk","symbolsRaw","rulesRaw","palettesRaw","findQuillGroups","keysDef","widgets","hasClass","parseContext","b64","hasValue","parsedDef","findQuills","setTimeout","applyPolyfills","prototype","callback","thisArg","TypeError","array","l","call","arr","arg","Number","lpygens","definition","weights","vran","pop","total","old","w","rnd","positions","terminalGen","undefined","placeholders","remainingLpygens","slice","def2","isWeighted","e2","typeRan","pointer","indx","md5_cmn","_","f","safe_add","bit_rol","md5_ff","md5_gg","md5_hh","md5_ii","createLinkSheet","createStyleSheet","insertScript","MathJax","typesetPromise","Hub","Queue","iter","cb","l1","l2","dict","source","props","charCodeAt","charAt","String","fromCharCode","V","g","Y","X","tag","createElement","src","async","onload","onerror","onabort","head","appendChild","getElementById","innerHTML","getElementsByTagName","link","rel","url1","url2","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","arguments","apply","concat","b","Error","q","o","ends","a","zt","c","nodeType","Ft","O","byId","controller","KIND_OF_MQ","fns","APIClasses","hasOwnProperty","E","R","L","saneKeyboardEvents","D","registerEmbed","test","A","AbstractMathQuill","init","__options","__mathquillify","root","createTextarea","detach","jQ","appendTo","empty","unbind","exportText","renderLatexMath","blurred","cursor","hide","blur","exportLatex","postOrder","EditableField","editable","delegateMouseEvents","editablesTextareaEvents","writeLatex","scrollHoriz","eachChild","selection","insAtRightEnd","cmd","notify","bt","replaces","replaceSelection","createLeftOf","select","selectLeft","clearSelection","moveToDirEnd","insAtDirEnd","moveToLeftEnd","moveToRightEnd","typedText","dropEmbedded","scrollLeft","scrollTop","elementFromPoint","seek","gt","setOptions","clickAt","Mt","contains","pageXOffset","pageYOffset","ignoreNextMousedown","RootBlock","handle","u","G","ctrlSeq","htmlTemplate","insLeftOf","insRightOf","jQadd","delimjQs","add","contentjQ","outerHeight","Z","$t","dt","Q","pt","y","T","I","F","N","W","U","H","K","J","et","it","st","rt","ot","at","lt","ct","ht","ut","ft","mt","vt","wt","qt","xt","yt","Ot","kt","jt","Qt","Tt","Ct","St","_t","Dt","Et","Lt","At","Rt","It","jQuery","Bt","Pt","Bare","constructor","extend","open","insDirOf","insertBefore","first","insertAfter","last","prependTo","copy","jQize","firstChild","nextSibling","createDir","adopt","selectChildren","bubble","isEmpty","isStyleBlock","foldChildren","fold","withDirAdopt","disown","get","disowned","_jQ","blink","toggleClass","upDownCache","clearInterval","intervalId","setInterval","withDirInsertAt","insAtLeftEnd","jumpUpDown","offset","left","unwrapGramp","siblingDeleted","startSelection","anticursor","ancestors","endSelection","selectionChanged","clear","deleteSelection","wrapAll","replaceWith","childNodes","onNotify","VERSION","interfaceVersion","MIN","MAX","noConflict","which","keyCode","ctrlKey","originalEvent","metaKey","altKey","shiftKey","clearTimeout","selectionStart","selectionEnd","paste","bind","keydown","keypress","keyup","focusout","cut","skip","or","many","times","result","atMost","atLeast","string","regex","succeed","fail","letter","letters","digit","digits","whitespace","optWhitespace","any","all","eof","parser","block","optBlock","finalizeInsert","siblingCreated","renderLatexText","createBlocks","focusBlurEvents","ctrlDeleteDir","backspace","escapeDir","selectRight","moveLeft","moveRight","moveUp","moveDown","deleteForward","moveOutOf","moveTowards","deleteOutOf","deleteTowards","unselectInto","selectOutOf","selectTowards","leftRightIntoCmdGoes","moveDir","deleteDir","selectDir","substituteTextarea","textareaSpan","textareaSelectionTimeout","setTextareaSelection","statelessClipboard","selectFn","staticMathTextareaEvents","prepend","substituteKeyboardEvents","pageX","pageY","closest","unselectable","mousemove","ownerDocument","mouseup","getBoundingClientRect","right","stop","animate","textTemplate","replacedFragment","numBlocks","blocks","placeCursor","outerWidth","spaceBehavesLikeTab","chToCmd","typingSlashWritesDivisionSymbol","typingAsteriskWritesTimesSymbol","normalize","replacedText","textContents","appendText","round","splitRight","anticursorPosition","dom","createTextNode","appendData","prependText","insertData","insTextAtDirEnd","splitText","deleteData","textnormal","textrm","textup","textmd","em","italic","italics","emph","textit","textsl","strong","bold","textbf","sf","textsf","tt","texttt","textsc","uppercase","lowercase","dir","TextField","_replacedFragment","renderCommand","trigger","WebkitTransform","MozTransform","OTransform","msTransform","className","wrapInner","load","mathrm","mathit","mathbf","mathsf","mathtt","underline","overline","bar","overrightarrow","overleftarrow","overleftrightarrow","overarc","dot","textcolor","setColor","color","class","cls","supSubsRequireOperand","contactWeld","addBlock","charsThatBreakOutOfSupSub","finalizeTree","autoSubscriptNumerals","sub","sup","supsub","upInto","upOutOf","downOutOf","downInto","lastChild","subscript","superscript","supscript","prev","innerHeight","sumStartsWithNEquals","summation","prod","product","coprod","coproduct","int","integral","frac","dfrac","cfrac","fraction","over","sqrt","hat","nthroot","vec","tilde","side","sides","ch","matchBrack","restrictMismatchedBrackets","closeOpposing","unwrap","deleteSide","intentionalBlur","langle","rangle","lVert","rVert","binom","binomial","choose","MathQuillMathField","registerInnerField","embed","htmlString","begin","template","wrappers","environment","parentheses","shift","autocorrect","relink","getEntryPoint","rowSize","atExitPoint","splice","deleteCell","addRow","after","addColumn","insert","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","notin","cong","equiv","oplus","otimes","ne","neq","ast","star","loast","lowast","therefor","therefore","cuz","because","propto","asymp","approx","isin","in","ni","notni","niton","notcontains","doesnotcontain","subset","supset","superset","nsub","notsub","nsubset","notsubset","nsup","notsup","nsupset","notsupset","nsuperset","notsuperset","sube","subeq","subsete","subseteq","supe","supeq","supsete","supseteq","supersete","superseteq","nsube","nsubeq","notsube","notsubeq","nsubsete","nsubseteq","notsubsete","notsubseteq","nsupe","nsupeq","notsupe","notsupeq","nsupsete","nsupseteq","notsupsete","notsupseteq","nsupersete","nsuperseteq","notsupersete","notsuperseteq","naturals","Naturals","primes","Primes","projective","Projective","probability","Probability","integers","Integers","rationals","Rationals","reals","Reals","complex","Complex","complexes","Complexes","complexplane","Complexplane","ComplexPlane","Hamiltonian","quaternions","Quaternions","quad","emsp","qquad","diamond","bigtriangleup","ominus","uplus","bigtriangledown","sqcap","triangleleft","sqcup","triangleright","odot","circledot","bigcirc","dagger","ddagger","wr","amalg","models","prec","succ","preceq","succeq","simeq","mid","ll","gg","parallel","nparallel","bowtie","sqsubset","sqsupset","smile","sqsubseteq","sqsupseteq","doteq","frown","vdash","dashv","nless","ngtr","longleftarrow","longrightarrow","Longleftarrow","Longrightarrow","longleftrightarrow","updownarrow","Longleftrightarrow","Updownarrow","mapsto","nearrow","hookleftarrow","hookrightarrow","searrow","leftharpoonup","rightharpoonup","swarrow","leftharpoondown","rightharpoondown","nwarrow","ldots","cdots","vdots","ddots","surd","triangle","ell","top","flat","natural","sharp","wp","bot","clubsuit","diamondsuit","heartsuit","spadesuit","parallelogram","square","oint","bigcap","bigcup","bigsqcup","bigvee","bigwedge","bigodot","bigotimes","bigoplus","biguplus","lfloor","rfloor","lceil","rceil","opencurlybrace","lbrace","closecurlybrace","rbrace","lbrack","rbrack","slash","vert","perp","perpendicular","nabla","del","hbar","AA","Angstrom","angstrom","ring","circ","circle","bull","bullet","setminus","smallsetminus","not","neg","dots","ellip","hellip","ellipsis","hellipsis","converges","darr","dnarr","dnarrow","downarrow","dArr","dnArr","dnArrow","Downarrow","diverges","uarr","uparrow","uArr","Uparrow","to","rarr","rightarrow","implies","rArr","Rightarrow","gets","larr","leftarrow","impliedby","lArr","Leftarrow","harr","lrarr","leftrightarrow","iff","hArr","lrArr","Leftrightarrow","Re","Real","real","Im","imag","image","imagin","imaginary","Imaginary","part","infty","infin","infinity","alef","alefsym","aleph","alephsym","xist","xists","exist","exists","nexists","nexist","and","land","wedge","lor","vee","emptyset","oslash","Oslash","nothing","varnothing","cup","union","cap","intersect","intersection","deg","degree","ang","angle","measuredangle","isItalic","isPartOfOperator","autoCommands","_maxLength","italicize","autoUnItalicize","autoOperatorNames","limsup","liminf","projlim","injlim","operatorname","space","prime","dprime","backslash","alpha","beta","gamma","zeta","eta","theta","iota","kappa","mu","nu","xi","rho","sigma","tau","chi","psi","omega","phi","phiv","varphi","epsilon","epsiv","varepsilon","piv","varpi","sigmaf","sigmav","varsigma","thetav","vartheta","thetasym","upsilon","upsi","gammad","Gammad","digamma","kappav","varkappa","rhov","varrho","pi","lambda","Upsilon","Upsi","upsih","Upsih","Gamma","Delta","Theta","Lambda","Xi","Pi","Sigma","Phi","Psi","Omega","forall","pm","plusmn","plusminus","mp","mnplus","minusplus","sdot","cdot","strict","swap","ctrlSeqStrict","htmlStrict","textStrict","le","leq","ge","geq","divide","divides","sim","polyfills_1","mqfy_1","findPyGenerators_1","isInitialized","userConfig","setUserConfig","dependencies"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"mqwidgets2.js","mappings":"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","sources":["webpack://MQWidgets/./src/I18n.ts","webpack://MQWidgets/./src/actions.ts","webpack://MQWidgets/./src/checking.ts","webpack://MQWidgets/./src/components/LevelIndicator.ts","webpack://MQWidgets/./src/components/dialogs/dialog.ts","webpack://MQWidgets/./src/components/dialogs/editorDialog.ts","webpack://MQWidgets/./src/components/editorBase.ts","webpack://MQWidgets/./src/components/editorCloze.ts","webpack://MQWidgets/./src/components/editorInput.ts","webpack://MQWidgets/./src/components/editorMChoice.ts","webpack://MQWidgets/./src/components/editorMChoiceCheckbox.ts","webpack://MQWidgets/./src/components/editorPanel.ts","webpack://MQWidgets/./src/components/toolbar/createToolbarButton.ts","webpack://MQWidgets/./src/components/toolbar/pwTabMenu.ts","webpack://MQWidgets/./src/components/toolbar/toolbar-config.ts","webpack://MQWidgets/./src/createQuill.ts","webpack://MQWidgets/./src/engines/engineCAS.ts","webpack://MQWidgets/./src/engines/nerdamerCAS.ts","webpack://MQWidgets/./src/engines/parseLatex.ts","webpack://MQWidgets/./src/engines/sympyCAS.ts","webpack://MQWidgets/./src/findPyGenerators.ts","webpack://MQWidgets/./src/globals.ts","webpack://MQWidgets/./src/goalChecker.ts","webpack://MQWidgets/./src/mq-parsing.ts","webpack://MQWidgets/./src/mqfy.ts","webpack://MQWidgets/./src/polyfills.ts","webpack://MQWidgets/./src/sequences/seqBasic.ts","webpack://MQWidgets/./src/sequences/seqRandomWeighted.ts","webpack://MQWidgets/./src/sequences/seqSequence.ts","webpack://MQWidgets/./src/utils.ts","webpack://MQWidgets/webpack/bootstrap","webpack://MQWidgets/","webpack://MQWidgets/./src/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.I18n = void 0;\nconst globals_1 = require(\"./globals\");\nconst TRANSLATIONS = {\n ca: {\n 'check': 'Comprova',\n \"General\": 'General',\n \"Símbols\": \"Símbols\",\n \"Geometria\": \"Geometria\",\n \"Intervals\": \"Intervals\",\n \"Funcions\": \"Funcions\",\n \"right_answer\": \"Resposta correcta\",\n \"close\": \"Tancar\",\n \"open_editor\": \"Obrir l'editor\",\n \"show_answer\": \"Mostra la solució\",\n \"choose_option\": \"Tria una opció\",\n \"next\": \"Següent\",\n \"goal_reached\": \"Repte aconseguit!\",\n \"wildcard\": \"Comodí\",\n \"answer\": \"Solució\",\n \"matheditor\": \"Editor matemàtic\",\n \"accept\": \"Acceptar\",\n \"cancel\": \"Cancel·lar\",\n \"expected_ans\": \"S'esperava la resposta\",\n \"error_verifying\": \"Ho sentim però hi ha hagut un problema a l'hora de verificar la resposta.\",\n \"wrong_answer\": \"Resposta incorrecta. Intentau de nou.\",\n \"sym_notallowed\": \"No es permet el símbol ${1} en la resposta.\",\n \"sym_once\": \"El símbol ${1} només es pot emprar com a màxim una vegada en la resposta.\",\n \"error_cantprocess\": \"Error: Hi ha respostes donades que no es poden processar. Provau d'eliminar els espais en blanc.\",\n \"ans_missing\": \"Falten respostes\"\n },\n es: {\n 'check': 'Comprueba',\n \"General\": 'General',\n \"Símbols\": \"Símbolos\",\n \"Geometria\": \"Geometria\",\n \"Intervals\": \"Intervalos\",\n \"Funcions\": \"Funciones\",\n \"right_answer\": \"Respuesta correcta\",\n \"close\": \"Cerrar\",\n \"open_editor\": \"Abrir el editor\",\n \"show_answer\": \"Muestra la solución\",\n \"choose_option\": \"Elige una opción\",\n \"next\": \"Siguiente\",\n \"goal_reached\": \"¡Reto conseguido!\",\n \"wildcard\": \"Comodín\",\n \"answer\": \"Solución\",\n \"matheditor\": \"Editor matemático\",\n \"accept\": \"Aceptar\",\n \"cancel\": \"Cancelar\",\n \"expected_ans\": \"Se esperaba la respuesta\",\n \"error_verifying\": \"Lo sentimos, ha habido un problema cuando se verificaba la respuesta.\",\n \"wrong_answer\": \"Respuesta incorrecta. Inténtalo de nuevo.\",\n \"sym_notallowed\": \"No se permite el símbolo ${1} en la respuesta.\",\n \"sym_once\": \"El símbolo ${1} solo es puede emplear una vez como máximo en la respuesta.\",\n \"error_cantprocess\": \"Error: Hay respuestas que no se pueden procesar. Intente eliminar los espacios en blanco.\",\n \"ans_missing\": \"Faltan respuestas\"\n },\n en: {\n 'check': 'Check',\n \"General\": 'General',\n \"Símbols\": \"Symbols\",\n \"Geometria\": \"Geometry\",\n \"Intervals\": \"Intervals\",\n \"Funcions\": \"Functions\",\n \"right_answer\": \"Right answer\",\n \"close\": \"Close\",\n \"open_editor\": \"Open the editor\",\n \"show_answer\": \"Show the answer\",\n \"choose_option\": \"Choose an option\",\n \"next\": \"Next\",\n \"goal_reached\": \"Goal acomplished!\",\n \"wildcard\": \"Wildcard\",\n \"answer\": \"Answer\",\n \"matheditor\": \"Math editor\",\n \"accept\": \"Accept\",\n \"cancel\": \"Cancel\",\n \"expected_ans\": \"The expected answer is\",\n \"error_verifying\": \"We are sorry. There has been a problem while verifying the answer.\",\n \"wrong_answer\": \"Wrong answer. Try it again.\",\n \"sym_notallowed\": \"The symbol ${1} is not allowed in the answer.\",\n \"sym_once\": \"The symbol ${1} can only be used once in the answer.\",\n \"error_cantprocess\": \"Error: There are some answers that can't be processed. Try removing white spaces.\",\n \"ans_missing\": \"There are some blank answers\"\n }\n};\n// https://raw.githubusercontent.com/wiziple/browser-lang/master/src/index.js\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return 'en';\n }\n const navigator = window.navigator;\n let lang = (navigator.languages && navigator.languages[0]) ||\n navigator.language ||\n navigator.browserLanguage ||\n navigator.userLanguage ||\n navigator.systemLanguage ||\n 'en_US';\n lang = lang.toLowerCase().replace(/-/, \"_\");\n return lang.toLowerCase().split(\"_\")[0];\n}\nconst BROWSER_LANG = getBrowserLang();\nfunction I18n(key, ...args) {\n const lang = globals_1.cfg.LANG || BROWSER_LANG;\n let langPack = TRANSLATIONS[lang];\n if (!langPack) {\n //Unknown language - use fallback english\n console.error(\"Cannot find translations in \", lang, \". Using fallback [en]\");\n langPack = TRANSLATIONS['en'];\n }\n // check if it must interpolate some var\n let out = langPack[key] || key || '';\n for (let i = 0; i < args.length; i++) {\n out = out.replace('${' + (i + 1) + '}', args[i]);\n }\n return out;\n}\nexports.I18n = I18n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createSubmitButtonForGroup = exports.bindSubmitActionButton = void 0;\nconst checking_1 = require(\"./checking\");\nconst globals_1 = require(\"./globals\");\nconst I18n_1 = require(\"./I18n\");\nconst engineCAS_1 = require(\"./engines/engineCAS\");\nconst utils_1 = require(\"./utils\");\nlet LAST_AJAX = new Date().getTime();\n/**\n * Binds the submit button for all the editors within a group\n * @param gid\n * @param check_btn\n * @param extraActions\n */\nfunction bindSubmitActionButton(gid, check_btn, extraActions) {\n var groupContainer = globals_1.shared[gid];\n var qids = Object.keys(groupContainer).map((e) => parseInt(e));\n check_btn.off();\n check_btn.on('click', function (ev) {\n ev.preventDefault();\n var now = (new Date()).getTime();\n if (LAST_AJAX && (now - LAST_AJAX) < 1000) {\n console.error(\"Too frequently checks are blocked!\");\n return;\n }\n console.log(\"gid\", gid, \"qids\", qids);\n for (var k = 0, len = qids.length; k < len; k++) {\n var qid = qids[k];\n var editor = groupContainer[qid];\n if (editor.getStatus() != globals_1.cfg.STATUS.MODIFIED) {\n // no changes to check\n console.log('Unmodified, nothing to check');\n continue;\n }\n var ual = editor.latex() || [];\n if (ual.length === 0 || (0, checking_1.has_empty_answers)(ual)) {\n // contains empty answers\n editor.checkMsg(-1, (0, I18n_1.I18n)('ans_missing'));\n console.error('Editor contains empty answers');\n continue;\n }\n if (editor.getStatus() != 1 && ual.length) {\n console.log(editor);\n if (editor.getDefinition().right_answer && editor.getWrong_attemps() > globals_1.cfg.MAX_ATTEMPTS) {\n console.log(\"TODO:: Must show right answer and disable quill\");\n if (!editor.isPigen()) {\n // showAnswer must disable quill on its editor\n // Disable on panel which is not standalone\n editor.showAnswer();\n continue;\n }\n }\n // If the widget is a multiplechoice combo\n // TODO: support multiple answers, ans is an array and ual too!\n if (editor.getQType() == globals_1.cfg.QTYPES.M || editor.getQType() == globals_1.cfg.QTYPES.Ms) {\n var score10 = editor.isComodiUsed() ? 5 : 10;\n if (editor.getDefinition().ans == ual[0]) {\n editor.checkMsg(1, 'Molt bé!');\n }\n else {\n score10 = 0;\n editor.increment_wrong();\n editor.checkMsg(0, 'Incorrecte');\n }\n extraActions && extraActions(score10);\n continue;\n }\n LAST_AJAX = now;\n const postObj = { latex: ual, qid: qid };\n // Optimitzation (numeric answers can be checked locally)\n // console.log(\"Locally? \", editor.getDefinition(), ual);\n let ans = '';\n if (editor.getDefinition().anse != null) {\n ans = atob(editor.getDefinition().anse || \"\");\n }\n else {\n ans = editor.getDefinition().ans || '';\n }\n if (ans && ual.length == 1) {\n //User answer list of one item\n if ((0, utils_1.isNumeric)(ual[0]) && (0, utils_1.isNumeric)(ans)) {\n const pfual = parseFloat(ual[0]);\n const pans = parseFloat(ans);\n console.log(\"Numeric answer can be checked locally\");\n var score10 = editor.isComodiUsed() ? 5 : 10;\n var difference = parseFloat(ans) - pfual;\n //TODO:: Check for precisions\n var maxError = 0.0;\n if (editor.getDefinition().rules && editor.getDefinition().rules.precision) {\n maxError = editor.getDefinition().rules.precision;\n }\n if (Math.abs(difference) <= maxError) {\n editor.checkMsg(1, 'Molt bé!');\n }\n else {\n score10 = 0;\n editor.increment_wrong();\n editor.checkMsg(0, 'Incorrecte');\n }\n extraActions && extraActions(score10);\n continue;\n }\n }\n //copy properties from object definition\n (0, utils_1.copyPropsFromTo)(editor.getDefinition(), postObj);\n if (globals_1.cfg.pageInfo) {\n postObj.pageInfo = globals_1.cfg.pageInfo;\n if (!editor.getHash()) {\n editor.setHash((0, utils_1.MD5)(postObj.formulation + '_' + (postObj.pageInfo.bookId || 0) + '_' + (postObj.pageInfo.chapterId || 0)));\n }\n postObj.hash = editor.getHash();\n }\n //Decide which engine to use based on the payload\n engineCAS_1.engineCAS.compare(postObj).then((datos) => {\n console.log(\"success\", datos);\n var editor = groupContainer[datos.qid];\n if (datos.correct == 0) {\n editor.increment_wrong();\n }\n editor.checkMsg(datos.correct, datos.msg);\n var score10 = datos.correct ? (editor.isComodiUsed() ? 5 : 10) : 0;\n extraActions && extraActions(score10);\n }, (errors) => {\n console.error(\"Error\", errors);\n });\n }\n } // end loop\n });\n}\nexports.bindSubmitActionButton = bindSubmitActionButton;\n;\nfunction createSubmitButtonForGroup(gid) {\n var check_btn = $(``);\n bindSubmitActionButton(gid, check_btn);\n return check_btn;\n}\nexports.createSubmitButtonForGroup = createSubmitButtonForGroup;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.has_empty_answers = exports.extractMatrices = void 0;\nconst regexMatrices = /\\\\begin{pmatrix}(.*?)\\\\end{pmatrix}/g;\nfunction extractMatrices(tex) {\n const matrices = [];\n let m = null;\n while ((m = regexMatrices.exec(tex)) !== null) {\n const mat = [];\n const linies = m[1].split('\\\\\\\\');\n linies.forEach(function (alinia) {\n const linia = alinia.split('&');\n mat.push(linia);\n });\n matrices.push(mat);\n }\n return matrices;\n}\nexports.extractMatrices = extractMatrices;\n;\nconst has_empty_elements = function (matrix) {\n const rows = matrix.length;\n for (let i = 0; i < rows; i++) {\n const arow = matrix[i];\n const cols = arow.length;\n for (let j = 0; j < cols; j++) {\n if (!arow[j]) {\n return true;\n }\n }\n }\n return false;\n};\nfunction has_empty_answers(v) {\n for (let i = 0, len = v.length; i < len; i++) {\n const tex = v[i];\n if (tex == '' || (tex && !tex.trim())) {\n return true;\n }\n // a matrix with empty answers\n const matrices = extractMatrices(tex);\n for (let j = 0, lenmat = matrices.length; j < lenmat; j++) {\n if (has_empty_elements(matrices[j])) {\n return true;\n }\n }\n }\n return false;\n}\nexports.has_empty_answers = has_empty_answers;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LevelIndicator = void 0;\nclass LevelIndicator {\n constructor(numLevels) {\n this.numLevels = numLevels;\n this.container = $('
');\n this.levelIcons = [];\n for (let i = 0; i < numLevels; i++) {\n const elem = $('');\n this.container.append(elem);\n this.levelIcons.push(elem);\n }\n }\n get $div() {\n return this.container;\n }\n setLevel(n) {\n if (n < 0) {\n n = 0;\n }\n else if (n > this.numLevels) {\n n = this.numLevels;\n }\n for (let i = 0; i < this.numLevels; i++) {\n if (i < n) {\n this.levelIcons[i].css(\"color\", \"darkred\");\n }\n else {\n this.levelIcons[i].css(\"color\", \"lightgray\");\n }\n }\n this.container.attr(\"data-original-title\", \"Nivell \" + n);\n this.container.removeAttr(\"title\");\n }\n setVisible(visible) {\n this.container.css(\"display\", visible ? \"\" : \"none\");\n }\n}\nexports.LevelIndicator = LevelIndicator;\n","\"use strict\";\n/**\n * Creates a basic dialog which can be extended for further functionality\n * @param {*} title\n * @param {*} width\n * @param {*} height\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PwDialog = void 0;\nclass PwDialog {\n constructor(title, width, height) {\n this.id = \"pwdlg_\" + Math.random().toString(32).substring(2);\n this.window = $('
');\n const topBar = $('
');\n this.topBar = topBar;\n const headerTitle = $('' + title + '');\n this.closeBtn = $('');\n const self = this;\n this.closeBtn.on(\"click\", function (ev) {\n ev.preventDefault();\n self.window.css(\"display\", \"none\");\n });\n topBar.append(headerTitle);\n topBar.append(this.closeBtn);\n this.window.append(topBar);\n //Add dialog to body\n $('body').append(this.window);\n // Make this dialog draggable\n let active = false;\n let currentX;\n let currentY;\n let initialX;\n let initialY;\n let xOffset = 0;\n let yOffset = 0;\n this.dragStart = function (e) {\n if (e.type === \"touchstart\") {\n initialX = e.touches[0].clientX - xOffset;\n initialY = e.touches[0].clientY - yOffset;\n }\n else {\n initialX = e.clientX - xOffset;\n initialY = e.clientY - yOffset;\n }\n if (e.target === topBar[0]) {\n active = true;\n }\n };\n this.dragEnd = function (e) {\n initialX = currentX;\n initialY = currentY;\n active = false;\n };\n this.setTranslate = function (xPos, yPos, el) {\n el.style.transform = \"translate3d(\" + xPos + \"px, \" + yPos + \"px, 0)\";\n };\n this.drag = function (e) {\n if (active) {\n e.preventDefault();\n if (e.type === \"touchmove\") {\n currentX = e.touches[0].clientX - initialX;\n currentY = e.touches[0].clientY - initialY;\n }\n else {\n currentX = e.clientX - initialX;\n currentY = e.clientY - initialY;\n }\n xOffset = currentX;\n yOffset = currentY;\n self.setTranslate(currentX, currentY, self.window[0]);\n }\n };\n topBar[0].addEventListener(\"touchstart\", this.dragStart, false);\n topBar[0].addEventListener(\"touchend\", this.dragEnd, false);\n topBar[0].addEventListener(\"touchmove\", this.drag, false);\n topBar[0].addEventListener(\"mousedown\", this.dragStart, false);\n topBar[0].addEventListener(\"mouseup\", this.dragEnd, false);\n topBar[0].addEventListener(\"mousemove\", this.drag, false);\n }\n append(element) {\n this.window.append(element);\n }\n show() {\n this.window.css(\"display\", \"initial\");\n }\n close() {\n this.window.css(\"display\", \"none\");\n }\n remove() {\n this.closeBtn.off();\n this.window.remove();\n this.topBar[0].removeEventListener(\"touchstart\", this.dragStart);\n this.topBar[0].removeEventListener(\"touchend\", this.dragEnd);\n this.topBar[0].removeEventListener(\"touchmove\", this.drag);\n this.topBar[0].removeEventListener(\"mousedown\", this.dragStart);\n this.topBar[0].removeEventListener(\"mouseup\", this.dragEnd);\n this.topBar[0].removeEventListener(\"mousemove\", this.drag);\n }\n dispose() {\n this.remove();\n }\n}\nexports.PwDialog = PwDialog;\n;\n","\"use strict\";\n// Editor panel (embeded in dialog)\n// Extends Dialog\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorDialog = void 0;\nconst globals_1 = require(\"../../globals\");\nconst I18n_1 = require(\"../../I18n\");\nconst utils_1 = require(\"../../utils\");\nconst editorPanel_1 = require(\"../editorPanel\");\nconst dialog_1 = require(\"./dialog\");\n// Composes EditorPanel\nclass EditorDialog extends dialog_1.PwDialog {\n constructor() {\n super(' ' + (0, I18n_1.I18n)('matheditor'), 500, 320);\n const self = this;\n const gid = 'gid_' + Math.random().toString(32).substring(2);\n const qtype = globals_1.cfg.QTYPES.P;\n const def = {};\n this.editorPanel = new editorPanel_1.EditorPanel(this.window, gid, def, qtype, false);\n var controlButtons = $('
');\n var acceptBtn = $('');\n var cancelBtn = $('');\n controlButtons.append(acceptBtn);\n controlButtons.append(cancelBtn);\n this.append(controlButtons);\n acceptBtn.on('click', function (ev) {\n ev.preventDefault();\n if (self.acceptFn) {\n self.acceptFn(self);\n }\n self.close();\n });\n cancelBtn.on('click', function (ev) {\n ev.preventDefault();\n if (self.cancelFn) {\n self.cancelFn(self);\n }\n self.close();\n });\n }\n latex(tex) {\n if (tex != null) {\n this.editorPanel.latex(tex);\n return [''];\n }\n else {\n return this.editorPanel.latex().map((e) => (0, utils_1.sanitizeLaTeX)(e));\n }\n }\n //@override\n show() {\n this.window.css(\"display\", \"\");\n this.editorPanel.focus();\n }\n //@override\n dispose() {\n this.editorPanel.dispose();\n this.window.find('button').off();\n this.dispose();\n }\n reflow() {\n this.editorPanel.reflow();\n }\n setDefinition(def) {\n this.editorPanel.setDefinition(def);\n }\n}\nexports.EditorDialog = EditorDialog;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorBase = void 0;\nconst globals_1 = require(\"../globals\");\nclass EditorBase {\n constructor(parent, gid, def, qtype) {\n this.parent = parent;\n this.gid = gid;\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.wrong_attemps = 0;\n this.isAnswerShown = false;\n this.def = def;\n this.qtype = qtype;\n this.pigen = false;\n this.comodi = false;\n this.hash = '';\n }\n get_gid() {\n return this.gid;\n }\n setDefinition(def) {\n this.def = def;\n this.ansType = def.ansType;\n }\n getDefinition() {\n return this.def;\n }\n increment_wrong() {\n this.wrong_attemps += 1;\n }\n getWrong_attemps() {\n return this.wrong_attemps;\n }\n getStatus() {\n return this.status;\n }\n setStatus(status) {\n this.status = status;\n }\n getQType() {\n return this.qtype;\n }\n setQType(qtype) {\n this.qtype = qtype;\n }\n isPigen() {\n return this.pigen;\n }\n setPigen(pigen) {\n this.pigen = pigen;\n }\n isComodiUsed() {\n return this.comodi;\n }\n setComodiUsed(comodi) {\n this.comodi = comodi;\n }\n getHash() {\n return this.hash;\n }\n setHash(hash) {\n this.hash = hash;\n }\n}\nexports.EditorBase = EditorBase;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorCloze = void 0;\nconst globals_1 = require(\"../globals\");\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst dialog_1 = require(\"./dialogs/dialog\");\nconst editorBase_1 = require(\"./editorBase\");\nclass EditorCloze extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, ini) {\n super(parent, gid, def, qtype);\n const self = this;\n this.dlg_btn_el = null;\n this.quill_el_container = $('
');\n const quill_el = $('' + ini + '');\n this.check_el = $('
');\n this.parent.append(this.quill_el_container);\n this.quill_el_container.append(quill_el);\n this.mathInput = (0, globals_1.StaticMath)(quill_el[0]);\n // TODO: listen to changes to set status to unmodified\n this.mathInput.innerFields.forEach(function (e) {\n e.__controller.textarea.on('keyup', function (ev) {\n ev.preventDefault();\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n });\n });\n this.quill_el_container.append(this.check_el);\n }\n clear() {\n this.mathInput.innerFields.forEach((v) => v.latex(''));\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n this.mathInput.focus();\n }\n latex(tex) {\n if (tex != null) {\n this.mathInput.latex(tex);\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n else {\n const parts = [];\n console.log(this.mathInput.innerFields);\n const v = this.mathInput.innerFields;\n for (let i = 0, lenv = v.length; i < lenv; i++) {\n parts.push(v[i].latex());\n }\n return parts;\n }\n return [];\n }\n checkMsg(status, msg) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n get_qid() {\n return this.mathInput.id;\n }\n dispose() {\n this.mathInput.revert();\n this.quill_el_container.find(\"button\").off();\n }\n reflow() {\n this.mathInput.reflow();\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n showAnswer() {\n if (!this.def) {\n console.error(\"Cannot show answer because, def is null\");\n return;\n }\n if (!this.def.right_answer) {\n console.error(\"Cannot show answer because, \", this.def.right_answer);\n return;\n }\n const self = this;\n //this.showAnswerBtn = $('');\n //this.quill_el_container.append(this.showAnswerBtn);\n // Must create a global dialog\n if (!globals_1.sharedDlg[\"showAnswerDlg\"]) {\n const dlg = new dialog_1.PwDialog((0, I18n_1.I18n)('right_answer'), 400, 250);\n globals_1.sharedDlg[\"showAnswerDlg\"] = dlg;\n const answerHolder = $('
');\n dlg.append(answerHolder);\n const closeBtn = $('');\n dlg.append(closeBtn);\n closeBtn.on('click', function (ev) {\n ev.preventDefault();\n dlg.close();\n });\n }\n // this.showAnswerBtn.on('click', function(ev){\n // ev.preventDefault();\n if (!self.isAnswerShown) {\n self.isAnswerShown = true;\n self.status = globals_1.cfg.STATUS.UNMODIFIED;\n //Disable mathquill\n //self.quill_blocker.addClass('pw-me-blocker');\n //Disable edit buttton\n if (self.dlg_btn_el) {\n self.dlg_btn_el.prop(\"disabled\", true);\n }\n }\n const dlg = globals_1.sharedDlg[\"showAnswerDlg\"];\n const answerHolder = dlg.window.find(\".pw-answer-holder\");\n if (self.def) {\n answerHolder.html(atob(self.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n dlg.show();\n }\n }\n}\nexports.EditorCloze = EditorCloze;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorInput = void 0;\nconst engineCAS_1 = require(\"../engines/engineCAS\");\nconst globals_1 = require(\"../globals\");\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst dialog_1 = require(\"./dialogs/dialog\");\nconst editorDialog_1 = require(\"./dialogs/editorDialog\");\nconst editorBase_1 = require(\"./editorBase\");\nclass EditorInput extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype) {\n super(parent, gid, def, qtype);\n var self = this;\n this.quill_el_container = $('
');\n this.quill_blocker = $('
');\n var quill_el = $('');\n this.quill_blocker.append(quill_el);\n this.check_el = $('
');\n this.quill_el_container.append(this.quill_blocker);\n var isBtn = (qtype === globals_1.cfg.QTYPES.S);\n this.parent.append(this.quill_el_container);\n this.mathInput = (0, globals_1.MathField)(quill_el[0], {\n handlers: {\n edit: function () {\n console.log(\"Edit ev on mathquill \", self.mathInput.latex());\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n }\n }\n });\n if (isBtn) {\n this.dlg_btn_el = $('');\n this.quill_el_container.append(this.dlg_btn_el);\n this.dlg_btn_el.on(\"click\", function (ev) {\n ev.preventDefault();\n // open a editordlg\n // must do the binding when closing\n var dlg = globals_1.sharedDlg['editordlg'];\n if (!dlg) {\n dlg = new editorDialog_1.EditorDialog();\n globals_1.sharedDlg['editordlg'] = dlg;\n }\n dlg.acceptFn = function (self2) {\n self.mathInput.latex(self2.latex());\n };\n dlg.setDefinition(self.def);\n dlg.show();\n dlg.latex(self.mathInput.latex());\n });\n }\n this.quill_el_container.append(this.check_el);\n }\n get_qid() {\n return this.mathInput.id;\n }\n clear() {\n this.mathInput.latex('');\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n this.mathInput.focus();\n }\n latex(tex) {\n if (tex != null) {\n console.log(\"Setting latex \", tex);\n this.mathInput.latex(tex);\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n else {\n return [(0, utils_1.sanitizeLaTeX)(this.mathInput.latex())];\n }\n return [];\n }\n checkMsg(status, msg) {\n this.status = status;\n var msg2 = null;\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n dispose() {\n this.mathInput.revert();\n this.quill_el_container.find(\"button\").off();\n }\n showAnswer() {\n if (!this.def.right_answer) {\n console.error(\"Cannot show answer because, \", this.def.right_answer);\n return;\n }\n var self = this;\n //const showAnswerBtn = $('') as JQuery;\n //this.quill_el_container.append(showAnswerBtn);\n // Must create a global dialog\n if (!globals_1.sharedDlg[\"showAnswerDlg\"]) {\n var dlg = new dialog_1.PwDialog((0, I18n_1.I18n)('right_answer'), 400, 250);\n globals_1.sharedDlg[\"showAnswerDlg\"] = dlg;\n var answerHolder = $('
');\n dlg.append(answerHolder);\n var closeBtn = $('');\n dlg.append(closeBtn);\n closeBtn.on('click', function (ev) {\n ev.preventDefault();\n dlg.close();\n });\n }\n // showAnswerBtn.on('click', function(ev){\n // ev.preventDefault();\n if (!self.isAnswerShown) {\n self.isAnswerShown = true;\n self.status = globals_1.cfg.STATUS.UNMODIFIED;\n // Disable mathquill\n self.quill_blocker.addClass('pw-me-blocker');\n // Disable edit buttton\n if (self.dlg_btn_el) {\n self.dlg_btn_el.prop(\"disabled\", true);\n }\n }\n var dlg = globals_1.sharedDlg[\"showAnswerDlg\"];\n var answerHolder = dlg.window.find(\".pw-answer-holder\");\n if (self.def) {\n answerHolder.html(atob(self.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n dlg.show();\n }\n // });\n }\n increment_wrong() {\n console.log(\"increment wrong\", this.wrong_attemps == globals_1.cfg.MAX_ATTEMPTS + 1, !this.pigen);\n this.wrong_attemps += 1;\n if (this.wrong_attemps == globals_1.cfg.MAX_ATTEMPTS + 1 && !this.pigen) {\n console.log(\"creating a rescue\", this.def);\n // create a button to display answer\n var rescueBtn = $('');\n var self = this;\n rescueBtn.on(\"click\", function (evt) {\n self.showAnswer();\n });\n if (!this.def.right_answer) {\n // Must ask the server to generate a right_answer for us by sending the def object\n engineCAS_1.engineCAS.getAnswer(this.def).then((datos) => {\n if (datos.right_answer && self.def) {\n self.def.right_answer = datos.right_answer;\n self.quill_el_container.append(rescueBtn);\n }\n else if (datos.msg) {\n console.error(datos.msg);\n }\n }, (errors) => {\n console.error(errors);\n });\n }\n else {\n this.quill_el_container.append(rescueBtn);\n }\n }\n }\n reflow() {\n this.mathInput.reflow();\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n}\nexports.EditorInput = EditorInput;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorMChoice = void 0;\nconst globals_1 = require(\"../globals\");\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst editorBase_1 = require(\"./editorBase\");\nclass EditorMChoice extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, options) {\n super(parent, gid, def, qtype);\n if (typeof (options) == 'string') {\n options = options.split(\";\");\n }\n const self = this;\n this.selectedIndex = '';\n this.gid = gid;\n this.qid = Math.floor(Math.random() * 10000) + 10000;\n this.options = options || [];\n // status = 0 incorrecte, status = 1 correcte, status < 0 errors \n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.parent = parent;\n this.wrong_attemps = 0;\n this.quill_el_container = $('
');\n this.check_el = $('
');\n const btn_group = $('
');\n this.btn_action = $('');\n const dropdown_menu = $('
');\n btn_group.append(this.btn_action);\n options.forEach((opt, i) => {\n const dropdown_item = $('' + opt + '');\n dropdown_item.on('click', function (evt) {\n evt.preventDefault();\n self.selectedIndex = i + '';\n self.btn_action.html(dropdown_item.html());\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n });\n dropdown_menu.append(dropdown_item);\n });\n btn_group.append(dropdown_menu);\n this.quill_el_container.append(btn_group);\n this.quill_el_container.append(this.check_el);\n this.parent.append(this.quill_el_container);\n (0, utils_1.reflowLatex)();\n }\n showAnswer() {\n }\n clear() {\n this.selectedIndex = '';\n this.btn_action.html('');\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n this.btn_action.focus();\n }\n latex(tex) {\n return [this.selectedIndex];\n }\n checkMsg(status, msg) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n dispose() {\n this.quill_el_container.off();\n }\n get_qid() {\n return this.qid;\n }\n reflow() {\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n}\nexports.EditorMChoice = EditorMChoice;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorMChoiceCheckbox = void 0;\nconst globals_1 = require(\"../globals\");\nconst utils_1 = require(\"../utils\");\nconst editorBase_1 = require(\"./editorBase\");\n/**\n * Multiple options with checkboxes\n * @param {*} parent\n * @param {*} gid\n * @param {*} options\n * @param {*} multipleAnswers\n*/\nclass EditorMChoiceCheckbox extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, multipleAnswers) {\n super(parent, gid, def, qtype);\n this.multipleAnswers = multipleAnswers || false;\n let options = def.symbols;\n const self = this;\n this.selectedIndex = '';\n this.gid = gid;\n this.qid = Math.floor(Math.random() * 10000) + 10000;\n this.options = options || [];\n // cfg.STATUS = 0 incorrecte, cfg.STATUS = 1 correcte, cfg.STATUS < 0 errors \n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.parent = parent;\n this.wrong_attemps = 0;\n this.quill_el_container = $('
');\n this.check_el = $('
');\n const radios_group = $('
');\n const radiosGroupId = \"rgid_\" + Math.random().toString(32).substring(2);\n const allRadios = [];\n options.forEach(function (opt, i) {\n const radioId = \"raid_\" + Math.random().toString(32).substring(2);\n const radio_wrapper = $('
');\n let radio_item = null;\n if (self.multipleAnswers) {\n radio_item = $('');\n }\n else {\n radio_item = $('');\n }\n allRadios.push(radio_item);\n const radio_label = $('');\n radio_item.on('change', function (evt) {\n evt.preventDefault();\n //Determine which are selected\n const wsel = [];\n for (let k = 0; k < allRadios.length; k++) {\n if (allRadios[k].prop('checked')) {\n wsel.push(allRadios[k].prop('value') + '');\n }\n }\n self.selectedIndex = wsel.join(',');\n if (self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n self.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n });\n radio_wrapper.append(radio_item);\n radio_wrapper.append(radio_label);\n radios_group.append(radio_wrapper);\n });\n this.quill_el_container.append(radios_group);\n this.quill_el_container.append(this.check_el);\n this.parent.append(this.quill_el_container);\n (0, utils_1.reflowLatex)();\n }\n showAnswer() {\n }\n clear() {\n this.selectedIndex = '';\n this.btn_action.html('');\n this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.quill_el_container.removeClass('pw-me-right pw-me-wrong pw-me-alert');\n }\n focus() {\n }\n latex(tex) {\n return [this.selectedIndex];\n }\n get_qid() {\n return this.qid;\n }\n checkMsg(status, msg) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-right');\n }\n else if (status == 0) {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-wrong');\n }\n else {\n msg2 = '';\n this.quill_el_container.addClass('pw-me-alert');\n }\n this.check_el.html(msg2);\n }\n dispose() {\n this.quill_el_container.off();\n }\n reflow() {\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n}\nexports.EditorMChoiceCheckbox = EditorMChoiceCheckbox;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EditorPanel = void 0;\nconst globals_1 = require(\"../globals\");\nconst utils_1 = require(\"../utils\");\nconst pwTabMenu_1 = require(\"./toolbar/pwTabMenu\");\nconst createToolbarButton_1 = require(\"./toolbar/createToolbarButton\");\nconst toolbar_config_1 = __importDefault(require(\"./toolbar/toolbar-config\"));\nconst editorBase_1 = require(\"./editorBase\");\nconst engineCAS_1 = require(\"../engines/engineCAS\");\n// Editor panel\nclass EditorPanel extends editorBase_1.EditorBase {\n constructor(parent, gid, def, qtype, standalone) {\n super(parent, gid, def, qtype);\n const self = this;\n this.parent = parent;\n this.gid = gid;\n this.wrong_attemps = 0;\n this.standalone = standalone || false;\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n this.panel = $('
');\n this.parent.append(this.panel);\n this.palettes = new pwTabMenu_1.PwTabMenu(this.panel, this.gid);\n this.spanMathInput = $('');\n this.spanMathInput.on(\"click\", function (ev) {\n ev.preventDefault();\n $('.pw-me-btn-dropdownmenu').css(\"display\", \"none\");\n });\n this.panel.append(this.spanMathInput);\n this.mathInput = (0, globals_1.MathField)(this.spanMathInput[0], {\n handlers: {\n edit() {\n if (standalone && self.status != globals_1.cfg.STATUS.MODIFIED) {\n self.check_el && self.check_el.html('');\n self.status = globals_1.cfg.STATUS.MODIFIED;\n }\n }\n }\n });\n if (this.standalone) {\n this.check_el = $('
');\n this.panel.append(this.check_el);\n }\n this.feedback_el = $('
');\n this.panel.append(this.feedback_el);\n //Add button to palettes\n (0, utils_1.items)(toolbar_config_1.default.button_meta, function (name, btnInfo) {\n const tabName = toolbar_config_1.default.default_toolbar_tabs[btnInfo.tab - 1];\n self.palettes.addTab(tabName);\n // create and add button to palette \n const aButton = (0, createToolbarButton_1.createToolbarButton)(self.panel, btnInfo, name, self.mathInput);\n self.palettes.addContentsToTab(tabName, aButton);\n });\n this.setDefinition(def);\n }\n get $div() {\n return this.panel;\n }\n clear() {\n this.mathInput.latex('');\n this.check_el && this.check_el.html('');\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n focus() {\n this.mathInput.focus();\n }\n latex(tex) {\n if (tex != null) {\n this.mathInput.latex(tex);\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n else {\n return [(0, utils_1.sanitizeLaTeX)(this.mathInput.latex())];\n }\n return [''];\n }\n checkMsg(status, msg) {\n if (this.standalone) {\n this.status = status;\n let msg2 = '';\n if (status == 1) {\n msg2 = ' ' + msg + '';\n }\n else if (status == 0) {\n msg2 = ' ' + msg + '';\n }\n else {\n msg2 = ' ' + msg + '';\n }\n this.check_el && this.check_el.html(msg2);\n }\n }\n get_qid() {\n return this.mathInput.id;\n }\n showPalette(name, visible) {\n this.palettes.setVisible(name, visible);\n }\n dispose() {\n this.mathInput.revert();\n this.panel.find(\"button\").off();\n this.palettes.dispose();\n }\n reflow() {\n this.mathInput.reflow();\n this.status = globals_1.cfg.STATUS.UNMODIFIED;\n }\n setDefinition(def) {\n this.def = def;\n const self = this;\n if (def.palettes && def.palettes.indexOf('all') >= 0) {\n // Show all palettes\n // enable general palette\n toolbar_config_1.default.default_toolbar_tabs.forEach(function (name) {\n self.palettes.setVisible(name, true);\n });\n this.palettes.setTab('General');\n }\n // According to definition.palettes prepare the correct palettes\n else if (def.palettes && def.palettes.length) {\n // show this palettes\n // set to first palette\n let firstSelected = null;\n let num_visible = 0;\n toolbar_config_1.default.default_toolbar_tabs.forEach(function (name) {\n let found = false;\n let j = 0;\n while (!found && j < def.palettes.length) {\n found = def.palettes[j].toLowerCase().trim() == name.toLowerCase().trim();\n if (found && j == 0) {\n firstSelected = name;\n }\n if (found) {\n num_visible += 1;\n }\n j += 1;\n }\n self.palettes.setVisible(name, found);\n });\n if (num_visible == 0 || !firstSelected) {\n this.palettes.setVisible('General', true);\n }\n this.palettes.setTab(firstSelected || 'General');\n }\n else {\n // Only show the general palette\n // enable general palette\n toolbar_config_1.default.default_toolbar_tabs.forEach(function (name) {\n self.palettes.setVisible(name, name == 'General');\n });\n this.palettes.setTab('General');\n }\n }\n increment_wrong() {\n this.wrong_attemps += 1;\n if (this.wrong_attemps > globals_1.cfg.MAX_ATTEMPTS) {\n this.showAnswer();\n }\n }\n showAnswer() {\n var _a;\n var self = this;\n if (!this.def) {\n console.error(\"Cannot show answer because def is null\");\n return;\n }\n if (!this.def.right_answer) {\n // Try to ask the server to generate the answer\n engineCAS_1.engineCAS.getAnswer(this.def).then((datos) => {\n var _a;\n if (datos.right_answer) {\n (_a = self.check_el) === null || _a === void 0 ? void 0 : _a.css(\"display\", \"none\");\n self.def.right_answer = datos.right_answer;\n self.feedback_el.css(\"display\", \"\");\n self.feedback_el.html(atob(self.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n self.isAnswerShown = true;\n self.palettes.setEnabled(false);\n self.spanMathInput.css(\"pointer-events\", \"none\");\n self.panel.css(\"cursor\", \"not-allowed\");\n }\n else if (datos.msg) {\n console.error(datos.msg);\n }\n }, (errors) => {\n console.error(errors);\n });\n }\n else {\n (_a = self.check_el) === null || _a === void 0 ? void 0 : _a.css(\"display\", \"none\");\n this.feedback_el.css(\"display\", \"\");\n this.feedback_el.html(atob(this.def.right_answer) + '


');\n (0, utils_1.reflowLatex)();\n this.isAnswerShown = true;\n this.palettes.setEnabled(false);\n this.spanMathInput.css(\"pointer-events\", \"none\");\n this.panel.css(\"cursor\", \"not-allowed\");\n }\n }\n}\nexports.EditorPanel = EditorPanel;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createToolbarButton = void 0;\nconst globals_1 = require(\"../../globals\");\n// Create a button for toolbar tab\nfunction createToolbarButton(parent, btn_meta, key, mathInput) {\n if (typeof (btn_meta.latex) === \"function\") {\n var btn = $('
');\n var icon = $('' + btn_meta.icon + '');\n (0, globals_1.StaticMath)(icon[0]);\n btn.append(icon);\n var panell = $('
');\n parent.append(panell);\n var controls = [];\n for (var k = 0, lenk = btn_meta.vars.length; k < lenk; k++) {\n var varObj = btn_meta.vars[k];\n var name = varObj.name;\n //TODO check number or text values\n var minmax = \"\";\n if (varObj.min != null) {\n minmax = ' min=\"' + varObj.min + '\" ';\n }\n if (varObj.max != null) {\n minmax += ' max=\"' + varObj.max + '\" ';\n }\n var control = $('');\n controls.push(control);\n var alab = $('' + name + '');\n panell.append(alab);\n panell.append(control);\n }\n var okButtton = $('');\n panell.append(okButtton);\n okButtton.on(\"click\", function (evt) {\n evt.preventDefault();\n //recupera mapa de valors\n var varsmap = {};\n for (var k = 0, lenk = controls.length; k < lenk; k++) {\n var $c = controls[k];\n var varObj = btn_meta.vars[k];\n var name = varObj.name;\n var value = $c.val();\n if (varObj.type === 'number') {\n value = parseInt(value);\n }\n varsmap[name] = value;\n }\n var real_latex = btn_meta.latex(varsmap);\n mathInput.write(real_latex);\n if (btn_meta.moveto) {\n mathInput.keystroke(btn_meta.moveto);\n }\n panell.css(\"display\", \"none\");\n mathInput.focus();\n });\n // requires a dialog to ask for parameters in btn_meta.vars array\n btn.on('click', function (ev) {\n ev.preventDefault();\n // open a dialog with inputs\n var panell_shown = panell.css(\"display\");\n panell.css(\"display\", panell_shown === 'none' ? \"grid\" : \"none\");\n });\n }\n else {\n btn = $('');\n var icon = $('' + btn_meta.icon + '');\n (0, globals_1.StaticMath)(icon[0]);\n btn.append(icon);\n // simple button\n btn.on('click', function (ev) {\n ev.preventDefault();\n mathInput.write(btn_meta.latex);\n mathInput.focus();\n if (btn_meta.moveto) {\n mathInput.keystroke(btn_meta.moveto);\n }\n $('.pw-me-btn-dropdownmenu').css(\"display\", \"none\");\n });\n }\n return btn;\n}\nexports.createToolbarButton = createToolbarButton;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PwTabMenu = void 0;\nconst I18n_1 = require(\"../../I18n\");\nconst utils_1 = require(\"../../utils\");\n// TabMenu\nclass PwTabMenu {\n constructor(parent, gid) {\n this.$panel = $('
');\n this.parent = parent;\n this.tabs = {};\n this.currentTab = null;\n this.tabsPanel = $('
');\n this.contentsPanel = $('
');\n this.$panel.append(this.tabsPanel);\n this.$panel.append(this.contentsPanel);\n if (this.parent) {\n this.parent.append(this.$panel);\n }\n this.gid = gid;\n }\n get $div() {\n return this.$panel;\n }\n addTab(name) {\n if (this.tabs[name]) {\n //already exists\n return;\n }\n var self = this;\n var tab = $('');\n var container = $('
');\n tab.on('click', function (ev) {\n ev.preventDefault();\n self.setTab(name);\n });\n this.tabsPanel.append(tab);\n this.contentsPanel.append(container);\n this.tabs[name] = {\n tab: tab,\n container: container\n };\n if (Object.keys(this.tabs).length === 1) {\n this.setTab(name);\n }\n }\n addContentsToTab(name, contents) {\n if (this.tabs[name]) {\n this.tabs[name].container.append(contents);\n }\n }\n setVisible(name, visibility) {\n console.log(name, this.tabs);\n if (this.tabs[name]) {\n this.tabs[name].tab.css('display', visibility ? '' : 'none');\n this.tabs[name].container.css('display', visibility ? 'flex' : 'none');\n }\n }\n setEnabled(enabled) {\n if (enabled) {\n this.contentsPanel.css(\"pointer-events\", \"initial\");\n this.$panel.css(\"cursor\", \"initial\");\n }\n else {\n this.contentsPanel.css(\"pointer-events\", \"none\");\n this.$panel.css(\"cursor\", \"not-allowed\");\n }\n }\n setTab(name) {\n (0, utils_1.items)(this.tabs, function (key, value) {\n if (key == name) {\n value.tab.addClass('pw-me-btn-active');\n value.tab.css('display', '');\n }\n else {\n value.tab.removeClass('pw-me-btn-active');\n }\n value.container.css('display', key == name ? 'flex' : 'none');\n });\n }\n dispose() {\n this.tabsPanel.children().off();\n this.tabsPanel.html('');\n this.contentsPanel.html('');\n this.tabs = {};\n }\n}\nexports.PwTabMenu = PwTabMenu;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst default_toolbar_buttons = ['fraction', 'square_root', 'cube_root', 'root', 'superscript', 'subscript', 'multiplication', 'division', 'plus_minus', 'pi', 'degree', 'not_equal', 'greater_equal', 'less_equal', 'greater_than', 'less_than', 'angle', 'parallel_to', 'perpendicular', 'triangle', 'parallelogram', 'round_brackets', 'matrix2', 'matrix3'];\nconst default_toolbar_tabs = [\"General\", \"Símbols\", \"Geometria\", \"Intervals\", \"Funcions\"];\nconst button_meta = {\n //TAB1\n \"Multiplicació\": { latex: \"\\\\times\", tab: 1, icon: '\\\\times' },\n \"Fracció\": { latex: \"\\\\frac{}{}\", moveto: \"Up\", movefor: 1, tab: 1, icon: '\\\\frac{\\\\square}{\\\\square}' },\n \"Exponent\": { latex: \"\\\\^{}\", moveto: \"Up\", movefor: 1, tab: 1, icon: '\\\\square^2' },\n \"Parèntesis\": { latex: \"\\\\left(\\\\right)\", moveto: \"Left\", movefor: 1, tab: 1, icon: '\\\\left(\\\\square\\\\right)' },\n \"Arrel quadrada\": { latex: \"\\\\sqrt{}\", moveto: \"Left\", movefor: 1, tab: 1, icon: '\\\\sqrt{\\\\square}' },\n \"Arrel cúbica\": { latex: \"\\\\sqrt[3]{}\", moveto: \"Left\", movefor: 1, tab: 1, icon: '\\\\sqrt[3]{\\\\square}' },\n \"Radical\": { latex: \"\\\\sqrt[{}]{}\", moveto: \"Left\", movefor: 2, tab: 1, icon: '\\\\sqrt[\\\\square]{\\\\square}' },\n \"Matriu 2x2\": { latex: \"\\\\begin{pmatrix} & \\\\\\\\ & \\\\end{pmatrix}\", tab: 1, icon: 'M_{2\\\\times 2}' },\n \"Matriu 3x3\": { latex: \"\\\\begin{pmatrix} & & \\\\\\\\ & & \\\\\\\\ & & \\\\end{pmatrix}\", tab: 1, icon: 'M_{3\\\\times 3}' },\n \"Matriu mxn\": {\n latex: function (vars) {\n const lat = [];\n for (let i = 0; i < vars.n; i++) {\n const latrow = [];\n for (let j = 0; j < vars.m; j++) {\n latrow.push(\" \");\n }\n lat.push(latrow.join(\"&\"));\n }\n return \"\\\\begin{pmatrix} \" + lat.join(\"\\\\\\\\\") + \" \\\\end{pmatrix}\";\n }, tab: 1, icon: 'M_{n\\\\times m}', vars: [{ name: 'n', type: 'number', min: 1, val: 2 }, { name: 'm', type: 'number', min: 1, val: 2 }]\n },\n \"Subíndex\": { latex: \"\\\\_{}\", moveto: \"Down\", movefor: 1, tab: 1, icon: '\\\\square_{2}' },\n //TAB2 - símbols i constants\n \"pi\": { latex: \"\\\\pi\", tab: 2, icon: '\\\\pi' },\n \"e\": { latex: \"\\\\e\", tab: 2, icon: 'e' },\n \"infinit\": { latex: \"\\\\infty\", tab: 2, icon: '\\\\infty' },\n \"Més menys\": { latex: \"\\\\pm\", tab: 2, icon: '\\\\pm' },\n \"Diferent\": { latex: \"\\\\neq\", tab: 2, icon: '\\\\neq' },\n \"Major o igual\": { latex: \"\\\\geq\", tab: 2, icon: '\\\\geq' },\n \"Menor o igual\": { latex: \"\\\\leq\", tab: 2, icon: '\\\\leq' },\n \"Major que\": { latex: \"\\\\gt\", tab: 2, icon: '\\\\gt' },\n \"Menor que\": { latex: \"\\\\lt\", tab: 2, icon: '\\\\lt' },\n //TAB3 - geometria\n \"Graus\": { latex: \"\\\\degree\", tab: 3, icon: '\\\\degree' },\n \"Angle\": { latex: \"\\\\angle\", tab: 3, icon: '\\\\angle' },\n \"Paral·lel a\": { latex: \"\\\\parallel\", tab: 3, icon: '\\\\parallel' },\n \"Perpendicular a\": { latex: \"\\\\perpendicular\", tab: 3, icon: '\\\\perpendicular' },\n \"Triangle\": { latex: \"\\\\triangle\", tab: 3, icon: '\\\\triangle' },\n \"Paral·lelogram\": { latex: \"\\\\parallelogram\", tab: 3, icon: '\\\\parallelogram' },\n //TAB4 - intervals\n \"Interval obert\": { latex: \"\\\\left( , \\\\right)\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left(\\\\square, \\\\square\\\\right)' },\n \"Interval tancat\": { latex: \"\\\\left[ , \\\\right]\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left[\\\\square, \\\\square\\\\right]' },\n \"Interval semi1\": { latex: \"\\\\left[ , \\\\right)\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left[\\\\square, \\\\square\\\\right)' },\n \"Interval semi2\": { latex: \"\\\\left( , \\\\right]\", moveto: \"Left\", movefor: 4, tab: 4, icon: '\\\\left(\\\\square, \\\\square\\\\right]' },\n \"Infinit\": { latex: \"\\\\infty\", tab: 4, icon: '\\\\infty' },\n \"Conjunt dels reals\": { latex: \"\\\\mathbb{R}\", tab: 4, icon: '\\\\mathbb{R}' },\n //TAB5- Funcions\n \"Sinus\": { latex: \"\\\\sin()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\sin{\\\\square}' },\n \"Cosinus\": { latex: \"\\\\cos()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\cos{\\\\square}' },\n \"Tangent\": { latex: \"\\\\tan()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\tan{\\\\square}' },\n \"Arcsinus\": { latex: \"\\\\arcsin()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\arcsin{\\\\square}' },\n \"Arccosinus\": { latex: \"\\\\arccos()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\arccos{\\\\square}' },\n \"Arctangent\": { latex: \"\\\\arctan()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\arctan{\\\\square}' },\n \"Logaritme Neperià\": { latex: \"\\\\ln()\", moveto: \"Left\", movefor: 1, tab: 5, icon: '\\\\ln{\\\\square}' },\n \"Logaritme en base b\": { latex: \"\\\\frac{\\\\log()}{\\\\log{b}}\", moveto: \"Left\", movefor: 4, tab: 5, icon: '\\\\log_b{\\\\square}' },\n};\nconst keyboard_keys = {\n 'letters': [{ 'value': 'q', 'type': 'write', 'class': 'ks', 'display': 'q', 'new_line': false }, { 'value': 'w', 'type': 'write', 'class': 'ks', 'display': 'w', 'new_line': false }, { 'value': 'e', 'type': 'write', 'class': 'ks', 'display': 'e', 'new_line': false }, { 'value': 'r', 'type': 'write', 'class': 'ks', 'display': 'r', 'new_line': false }, { 'value': 't', 'type': 'write', 'class': 'ks', 'display': 't', 'new_line': false }, { 'value': 'y', 'type': 'write', 'class': 'ks', 'display': 'y', 'new_line': false }, { 'value': 'u', 'type': 'write', 'class': 'ks', 'display': 'u', 'new_line': false }, { 'value': 'i', 'type': 'write', 'class': 'ks', 'display': 'i', 'new_line': false }, { 'value': 'o', 'type': 'write', 'class': 'ks', 'display': 'o', 'new_line': false }, { 'value': 'p', 'type': 'write', 'class': 'ks', 'display': 'p', 'new_line': true }, { 'value': 'a', 'type': 'write', 'class': 'ks', 'display': 'a', 'new_line': false }, { 'value': 's', 'type': 'write', 'class': 'ks', 'display': 's', 'new_line': false }, { 'value': 'd', 'type': 'write', 'class': 'ks', 'display': 'd', 'new_line': false }, { 'value': 'f', 'type': 'write', 'class': 'ks', 'display': 'f', 'new_line': false }, { 'value': 'g', 'type': 'write', 'class': 'ks', 'display': 'g', 'new_line': false }, { 'value': 'h', 'type': 'write', 'class': 'ks', 'display': 'h', 'new_line': false }, { 'value': 'j', 'type': 'write', 'class': 'ks', 'display': 'j', 'new_line': false }, {\n 'value': 'k', 'type': 'write', 'class': 'ks', 'display': 'k', 'new_line': false\n }, { 'value': 'l', 'type': 'write', 'class': 'ks', 'display': 'l', 'new_line': true }, { 'value': 'CapsLock', 'type': 'custom', 'class': 'ks long icon', 'display': '⇡', 'new_line': false }, { 'value': 'z', 'type': 'write', 'class': 'ks', 'display': 'z', 'new_line': false }, { 'value': 'x', 'type': 'write', 'class': 'ks', 'display': 'x', 'new_line': false }, { 'value': 'c', 'type': 'write', 'class': 'ks', 'display': 'c', 'new_line': false }, { 'value': 'v', 'type': 'write', 'class': 'ks', 'display': 'v', 'new_line': false }, { 'value': 'b', 'type': 'write', 'class': 'ks', 'display': 'b', 'new_line': false }, { 'value': 'n', 'type': 'write', 'class': 'ks', 'display': 'n', 'new_line': false }, { 'value': 'm', 'type': 'write', 'class': 'ks', 'display': 'm', 'new_line': false }, { 'value': 'Backspace', 'type': 'keystroke', 'class': 'ks long icon', 'display': '⇦', 'new_line': true }, { 'value': 'numpad', 'type': 'custom', 'class': 'ks long', 'display': '123', 'new_line': false }, { 'value': ',', 'type': 'write', 'class': 'ks', 'display': ',', 'new_line': false }, { 'value': '\\\\ ', 'type': 'write', 'class': 'ks too_long', 'display': 'Space', 'new_line': false }, { 'value': '.', 'type': 'write', 'class': 'ks', 'display': '.', 'new_line': false }, { 'value': 'close', 'type': 'custom', 'class': 'ks long takeup', 'display': 'X', 'new_line': false }], 'numbers': [{ 'value': '1', 'type': 'write', 'class': 'ks', 'display': '1', 'new_line': false }, { 'value': '2', 'type': 'write', 'class': 'ks', 'display': '2', 'new_line': false }, { 'value': '3', 'type': 'write', 'class': 'ks', 'display': '3', 'new_line': false }, { 'value': '+', 'type': 'write', 'class': 'ks', 'display': '+', 'new_line': false }, { 'value': '-', 'type': 'write', 'class': 'ks', 'display': '⁻', 'new_line': true }, { 'value': '4', 'type': 'write', 'class': 'ks', 'display': '4', 'new_line': false }, { 'value': '5', 'type': 'write', 'class': 'ks', 'display': '5', 'new_line': false }, {\n 'value': '6', 'type': 'write',\n 'class': 'ks', 'display': '6', 'new_line': false\n }, { 'value': '\\\\times', 'type': 'write', 'class': 'ks', 'display': '×', 'new_line': false }, { 'value': '/', 'type': 'write', 'class': 'ks', 'display': '÷', 'new_line': true }, { 'value': '7', 'type': 'write', 'class': 'ks', 'display': '7', 'new_line': false }, { 'value': '8', 'type': 'write', 'class': 'ks', 'display': '8', 'new_line': false }, { 'value': '9', 'type': 'write', 'class': 'ks', 'display': '9', 'new_line': false }, { 'value': '=', 'type': 'write', 'class': 'ks', 'display': '=', 'new_line': false }, { 'value': 'Backspace', 'type': 'keystroke', 'class': 'ks long icon', 'display': '⇦', 'new_line': true }, { 'value': 'letters', 'type': 'custom', 'class': 'ks long', 'display': 'ABC', 'new_line': false }, { 'value': '0', 'type': 'write', 'class': 'ks', 'display': '0', 'new_line': false }, { 'value': '?', 'type': 'write', 'class': 'ks', 'display': '?', 'new_line': false }, {\n 'value': '%', 'type': 'write', 'class': 'ks', 'display': '%',\n 'new_line': false\n }, { 'value': 'close', 'type': 'custom', 'class': 'ks long takeup', 'display': 'X', 'new_line': false }]\n};\nexports.default = {\n default_toolbar_buttons,\n default_toolbar_tabs,\n button_meta,\n keyboard_keys\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createQuillFromObject = void 0;\nconst editorCloze_1 = require(\"./components/editorCloze\");\nconst editorInput_1 = require(\"./components/editorInput\");\nconst editorPanel_1 = require(\"./components/editorPanel\");\nconst editorMChoice_1 = require(\"./components/editorMChoice\");\nconst globals_1 = require(\"./globals\");\nconst editorMChoiceCheckbox_1 = require(\"./components/editorMChoiceCheckbox\");\nconst utils_1 = require(\"./utils\");\nfunction createQuillFromObject($el, gid, obj) {\n let created = null;\n const qtype = obj.editor;\n if (obj.formulation) {\n const spanEl = \"\" + obj.formulation + \"\";\n $el.append(spanEl);\n // Probably will have to process mathjax\n (0, utils_1.reflowLatex)();\n }\n $el.removeClass(\"pygen-cloze\");\n if (qtype == globals_1.cfg.QTYPES.C) {\n // clozed input (replace ini with boxes) \n created = new editorCloze_1.EditorCloze($el, gid, obj, globals_1.cfg.QTYPES.C, obj.initial_latex);\n $el.addClass(\"pygen-cloze\");\n }\n else if (qtype == globals_1.cfg.QTYPES.P) {\n // Full panel\n created = new editorPanel_1.EditorPanel($el, gid, obj, globals_1.cfg.QTYPES.P, true);\n }\n else if (qtype == globals_1.cfg.QTYPES.M) {\n obj.symbols = obj.symbols || [];\n // Multiple choice combo \n created = new editorMChoice_1.EditorMChoice($el, gid, obj, globals_1.cfg.QTYPES.M, obj.symbols);\n }\n else if (qtype == globals_1.cfg.QTYPES.Ms) {\n obj.symbols = obj.symbols || [];\n // Multiple choice radio and checkbox\n // TODO support multiple answers\n const multipleAnswers = Array.isArray(obj.ans);\n //created = new MultipleChoiceCombo($el, gid, obj.symbols);\n created = new editorMChoiceCheckbox_1.EditorMChoiceCheckbox($el, gid, obj, globals_1.cfg.QTYPES.Ms, multipleAnswers);\n }\n else if (qtype == globals_1.cfg.QTYPES.B) {\n // basic quill\n created = new editorInput_1.EditorInput($el, gid, obj, globals_1.cfg.QTYPES.B);\n }\n else {\n // Simple quill input\n created = new editorInput_1.EditorInput($el, gid, obj, globals_1.cfg.QTYPES.S);\n }\n const qid = created.get_qid();\n const groupContainer = globals_1.shared[gid] || {};\n groupContainer[qid] = created;\n created.setStatus(globals_1.cfg.STATUS.UNMODIFIED);\n if (obj.initial_latex && qtype != globals_1.cfg.QTYPES.C) {\n //console.log(\"Setting initial_latex\", obj.initial_latex);\n created.latex(obj.initial_latex);\n created.setStatus(globals_1.cfg.STATUS.MODIFIED);\n }\n return qid;\n}\nexports.createQuillFromObject = createQuillFromObject;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.engineCAS = void 0;\nconst globals_1 = require(\"../globals\");\nconst nerdamerCAS_1 = require(\"./nerdamerCAS\");\nconst sympyCAS_1 = require(\"./sympyCAS\");\n// Decide which engine to use based on global cfg and the current payload\nexports.engineCAS = {\n compare(payload) {\n const engine = payload.engine || globals_1.cfg.DEFAULT_ENGINE;\n if (engine === 'sympy') {\n return sympyCAS_1.sympyCAS.compare(payload);\n }\n return nerdamerCAS_1.nerdamerCAS.compare(payload);\n },\n getAnswer(payload) {\n const engine = payload.engine || globals_1.cfg.DEFAULT_ENGINE;\n if (engine === 'sympy') {\n return sympyCAS_1.sympyCAS.getAnswer(payload);\n }\n return nerdamerCAS_1.nerdamerCAS.getAnswer(payload);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.nerdamerCAS = void 0;\nconst I18n_1 = require(\"../I18n\");\nconst utils_1 = require(\"../utils\");\nconst parseLatex_1 = require(\"./parseLatex\");\nfunction is_set(expr) {\n var _a;\n if (Array.isArray((_a = expr === null || expr === void 0 ? void 0 : expr.symbols) === null || _a === void 0 ? void 0 : _a.elements)) {\n const mat = expr.symbols.elements;\n const firstElem = mat[0];\n if (!Array.isArray(firstElem)) {\n return true;\n }\n }\n return false;\n}\nfunction is_interval(expr) {\n // Intervals not implemented in Nerdamer\n return false;\n}\nfunction is_matrix(expr) {\n const txt = expr.text();\n if (txt.startsWith('matrix')) {\n return window.nerdamer('size(' + txt + ')');\n }\n return null;\n}\nfunction is_zero_matrix(expr) {\n let isZero = true;\n expr.each((e) => { isZero = isZero && (e.text() == '0'); });\n return isZero;\n}\nclass NerdamerCAS {\n static clone(obj) {\n return JSON.parse(JSON.stringify(obj));\n }\n static decrypt(str) {\n return atob(str);\n }\n static checkRules(p) {\n //Before parsing and evaluation, do checks directly based on latex answers\n const rules_checks = [];\n let rules = p.rules || {};\n if (typeof rules === 'string') {\n console.log(\"Converting rules to json\");\n rules = JSON.parse(rules);\n }\n const latex_code = p.latex.join(' ');\n // comma as tuple\n if (rules['comma_as_decimal']) {\n console.log('Consider comma as decimal');\n // by default, consider comma as decimal separator\n p['latex'] = p['latex'].map((e) => e.replace(',', '.'));\n }\n // do not allow sympy keywords in latex code\n // TODO\n if (rules['forbidden']) {\n // symbols or expressions that are forbidden\n rules[\"forbidden\"].forEach((fo_symb) => {\n if (latex_code[fo_symb]) {\n rules_checks.push((0, I18n_1.I18n)('sym_notallowed', fo_symb));\n }\n });\n }\n if (rules[\"unique\"]) {\n // Symbols that can only appear once\n rules[\"unique\"].forEach((un_sym) => {\n if ((latex_code.match(new RegExp(un_sym, 'g')) || []).length > 1) {\n rules_checks.push((0, I18n_1.I18n)('sym_once', un_sym));\n }\n });\n }\n return rules_checks;\n }\n compare(p) {\n const cas = window.nerdamer;\n console.log(\"The payload: \", p);\n p = NerdamerCAS.clone(p);\n if (typeof (p['latex']) === 'string') {\n p['latex'] = [p['latex']];\n }\n return new Promise((resolve, reject) => {\n //Remove all stores expressions\n cas.flush();\n cas.clearVars();\n const core = window.nerdamer.getCore();\n const Symbol = core.Symbol;\n const scope = { 'x': cas('x'), 'y': cas('y'), 'z': cas('z'), 't': cas('t'), 'e': cas('exp(1)') };\n const rules_checks = NerdamerCAS.checkRules(p);\n if (rules_checks.length) {\n resolve({ \"qid\": p.qid, \"msg\": rules_checks.join(' '), \"correct\": 0 });\n return;\n }\n // Parses user input latex --> nerdamer\n let user_sympy = [];\n try {\n user_sympy = p['latex'].map((e) => (0, parseLatex_1.parseLatex)(e));\n if (user_sympy.filter((x) => x == null).length > 0) {\n return resolve({ \"qid\": p['qid'], \"correct\": -4, \"msg\": (0, I18n_1.I18n)('error_cantprocess') });\n }\n }\n catch (ex) {\n console.error(ex);\n return resolve({ \"qid\": p['qid'], \"correct\": -4, \"msg\": \"Error: No es poden processar les respostes donades: \" + ex });\n }\n // Adds user answer to scope for checking evaluation and user defined symbols\n user_sympy.forEach((v, i) => {\n cas.setVar('ua_' + i, v);\n });\n //Prepares local scope for evaluation\n try {\n (p['symbols'] || []).forEach((symb) => {\n if (symb.indexOf(':=') > 0) {\n const pos = symb.indexOf(\":=\");\n const symb_name = symb.substring(0, pos);\n const symb_raw = symb.substring(pos + 2);\n cas.setVar(symb_name, symb_raw);\n }\n else {\n cas.setVar(symb, symb);\n }\n });\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"qid\": p[\"qid\"], \"correct\": -2, \"msg\": \"Error: no es poden processar els símbols: \" + ex });\n return;\n }\n console.log(\"The scope:: \");\n (0, utils_1.items)(scope, function (k, v) {\n console.log(k + \": \", v.text());\n });\n let ans_sympy = [];\n try {\n //print('decrypting.....')\n if (p['anse']) {\n p['ans'] = NerdamerCAS.decrypt(p['anse']);\n }\n console.log('ans decrypted ', p['anse'], p['ans']);\n if (typeof p['ans'] === 'string') {\n p['ans'] = [p['ans']];\n }\n ans_sympy = p['ans'].map((e) => cas(e, scope));\n if (ans_sympy.filter((e) => e == null).length > 0) {\n resolve({ \"qid\": p['qid'], \"correct\": -3, \"msg\": \"Error: Hi ha respostes 'ans' que no es poden processar\" });\n return;\n }\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"qid\": p['qid'], \"correct\": -3, \"msg\": \"Error: No es poden processar les respostes 'ans': \" + ex });\n return;\n }\n //TODO case of logical check condition as answer\n // Before performing math difference to check equality, check types\n try {\n const msgs = [];\n (0, utils_1.zip)(ans_sympy, user_sympy).forEach((pair) => {\n const [ans_obj, parsed_input] = pair;\n if (is_set(ans_obj) && !is_set(parsed_input)) {\n msgs.push(\"S'espera un conjunt per resposta. Per exemple \\\\(\\\\{\\\\sqrt{2},\\\\, \\\\pi\\\\}\\\\)\");\n }\n else if (is_matrix(ans_obj) && !is_matrix(parsed_input)) {\n msgs.push(\"S'espera una matriu per resposta.\");\n }\n else if (is_interval(ans_obj) && !is_interval(parsed_input)) {\n msgs.push(\"S'espera un interval per resposta.\");\n }\n else if (!is_matrix(ans_obj) && is_matrix(parsed_input)) {\n msgs.push(\"S'espera una expressió per resposta.\");\n }\n const dims1 = is_matrix(ans_obj);\n const dims2 = is_matrix(parsed_input);\n if (dims1 && dims2) {\n // check if both have the same dimensions\n if ((dims1[0] != dims2[0]) || (dims1[1] != dims2[1])) {\n msgs.push(\"La matriu resposta no té la dimensió correcta.\");\n }\n }\n });\n if (msgs.length > 0) {\n resolve({ \"qid\": p['qid'], \"correct\": 0, \"msg\": msgs.join(' ') });\n return;\n }\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"qid\": p['qid'], \"correct\": -4, \"msg\": \"Error: S'ha produït un error comprovant els tipus \" + ex });\n return;\n }\n // Check for mathematical equivalence\n // This produces an errorr because rules passes as a list not a dict!!!!\n //check_method = rules.get(\"method\", \"meqv\") #support other methods numeric[0.01]\n // TODO as_vector is not supported here\n // Treat every element in array of answers indepently \n let correct = 0;\n let msg = '';\n try {\n (0, utils_1.zip)(ans_sympy, user_sympy).forEach((pair) => {\n const [ans_obj, parsed_input] = pair;\n console.log('Compare:: ', ans_obj.text(), parsed_input.text());\n // Cannot compare list and FineSet so, convert list to FiniteSet\n // console.log(ans_obj, parsed_input, type(ans_obj), type(parsed_input))\n //print('starting to compare', ans_obj, parsed_input)\n let expr = null;\n const rules = p[\"rules\"] || {};\n // decide if precision is set\n if (rules['precision']) {\n // Numerical equivalence within precision\n expr = Math.abs(ans_obj.toDecimal() - parsed_input.toDecimal()) < rules['precision'];\n console.log('epsilon', expr);\n }\n else {\n if (is_matrix(ans_obj)) {\n const delta = ans_obj.subtract(parsed_input);\n console.log('debug ', ans_obj.text(), parsed_input.text(), delta.text());\n expr = is_zero_matrix(delta);\n }\n else if (rules['factor'] || rules['expand']) {\n //This condition takes into account if expanded or not\n expr = ans_obj.eq(parsed_input);\n }\n else {\n //expr = ans_obj.eq(parsed_input) \n //Check for subtraction eq 0?\n expr = ans_obj.subtract(parsed_input).simplify();\n expr = expr.text() == '0';\n }\n console.log('remainder', expr);\n }\n if (typeof expr === 'boolean' && expr === true) {\n // Sabem que és matemàticament equivalent\n correct = 1;\n msg = (0, I18n_1.I18n)('right_answer');\n /*\n if ('factor' in rules) and (rules['factor']==True) and (not (isinstance(parsed_input, Mul) or isinstance(parsed_input, Pow)) ):\n correct = 0\n msg = \"La resposta ha estar factoritzada.\"\n elif ('factor' in rules) and (rules['factor']==False) and (not isinstance(parsed_input, Add)):\n correct = 0\n msg = \"La resposta ha d'estar desenvolupada.\"\n */\n }\n else {\n msg = (0, I18n_1.I18n)('wrong_answer');\n correct = 0;\n /*\n if is_matrix(expr):\n msg = find_not_zero_element(expr)\n */\n }\n if (correct == 0) {\n return true;\n }\n // Once equality is checked, then treat the number of terms and factors as second check\n // Apply only for expressions of polynomial type\n if (rules[\"num_terms\"] && parsed_input.isPolynomial()) {\n const unt = parsed_input.symbols.coeffs().length;\n const nexpect = ans_obj.symbols.expand().coeffs().length;\n const nterms_diff = nexpect - unt;\n if (rules[\"num_terms\"] == \"equal\" && nterms_diff != 0) {\n msg = \"La resposta hauria de tenir \" + nexpect + \" termes sumats o restats.\";\n correct = 0;\n }\n }\n /*\n elif type(ans_obj) == Mul or type(ans_obj) == Pow:\n #Si només té un terme, comprova si està ben factoritzat\n # TODO: Allow arbitrary number of numeric factors. Filter only those with symbols\n tmp1 = list(filter(lambda e: is_symbolic(e), ans_obj.as_ordered_factors()))\n tmp2 = list(filter(lambda e: is_symbolic(e), parsed_input.as_ordered_factors()))\n nexpect = len(tmp1)\n nterms_diff = nexpect - len(tmp2)\n if nterms_diff != 0:\n print(str(tmp1), str([type(e) for e in tmp1]))\n print(str(tmp2), str([type(e) for e in tmp2]))\n msg = \"La resposta hauria de contenir \"+str(nexpect)+\" factors simbòlics.\"\n correct = 0\n \n if correct == 0:\n break\n */\n }); //end zip foreach\n }\n catch (err) {\n console.error(\"Exception comparing \", err);\n msg = (0, I18n_1.I18n)('error_verifying');\n correct = -1;\n }\n console.log(\"Response:: \", correct, msg);\n resolve({ \"qid\": p['qid'], \"correct\": correct, \"msg\": msg });\n });\n }\n getAnswer(p) {\n const cas = window.nerdamer;\n p = NerdamerCAS.clone(p);\n return new Promise((resolve, reject) => {\n // Prepares local scope for evaluation\n const scope = { 'x': cas('x'), 'y': cas('y'), 'z': cas('z'), 't': cas('t'), 'e': cas('exp(1)') };\n //Prepares local scope for evaluation\n try {\n (p['symbols'] || []).forEach((symb) => {\n if (symb.indexOf(':=') > 0) {\n const pos = symb.indexOf(\":=\");\n const symb_name = symb.substring(0, pos);\n const symb_raw = symb.substring(pos + 2);\n cas.setVar(symb_name, symb_raw);\n }\n else {\n cas.setVar(symb, symb);\n }\n });\n }\n catch (ex) {\n console.error(ex);\n resolve({ \"msg\": \"Error: no es poden processar els símbols: \" + ex });\n return;\n }\n //TODO assume ans is str\n if (typeof p['ans'] === 'string') {\n const ans_sympy = cas(p['ans'], scope);\n const ra = `${(0, I18n_1.I18n)('expected_ans')}
\\\\(${ans_sympy.latex()}\\\\)`;\n resolve({ \"right_answer\": btoa(ra) });\n return;\n }\n resolve({ \"msg\": \"Vector ans is not supported yet!\" });\n });\n }\n}\nexports.nerdamerCAS = new NerdamerCAS();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseLatex = void 0;\nconst pmatrix_re = /\\\\begin\\{pmatrix\\}(.*?)\\\\end\\{pmatrix\\}/gm;\nlet mcount = 0;\n// Convert a \\begin{pmatrix} a & b \\\\ c & d \\end{pmatrix} in to nermader matrix([a,b],[c,d]) \nfunction parse_pmatrix(latex) {\n latex = latex.replace(\"\\\\begin{pmatrix}\", \"\").replace(\"\\\\end{pmatrix}\", \"\");\n const rows = latex.split(\"\\\\\\\\\").map((row) => {\n const cols = row.split(\"&\").map((col) => col.trim());\n return '[' + cols.join(',') + ']';\n });\n const out = 'matrix(' + rows.join(',') + ')';\n const varName = 'M_' + mcount;\n window.nerdamer.setVar(varName, out);\n mcount++;\n return varName;\n}\nfunction parseLatex(tex) {\n // Treat matrices\n tex = tex.replace(pmatrix_re, function ($0, $1) {\n return parse_pmatrix($0);\n });\n return window.nerdamer.convertFromLaTeX(tex);\n}\nexports.parseLatex = parseLatex;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sympyCAS = void 0;\nconst globals_1 = require(\"../globals\");\nclass SympyCAS {\n compare(payload) {\n return new Promise((resolve, reject) => {\n $.ajax({\n type: \"POST\",\n url: globals_1.cfg.CAS_URL,\n data: JSON.stringify(payload),\n dataType: 'json',\n success: function (datos) {\n resolve(datos);\n },\n error: function (datos) {\n reject(datos);\n }\n });\n });\n }\n getAnswer(payload) {\n return new Promise((resolve, reject) => {\n $.ajax({\n type: \"POST\",\n url: globals_1.cfg.GETANSWER_URL,\n data: JSON.stringify(payload),\n dataType: 'json',\n success: function (datos) {\n resolve(datos);\n },\n error: function (datos) {\n reject(datos);\n }\n });\n });\n }\n}\nexports.sympyCAS = new SympyCAS();\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findPyGenerators = void 0;\nconst actions_1 = require(\"./actions\");\nconst LevelIndicator_1 = require(\"./components/LevelIndicator\");\nconst createQuill_1 = require(\"./createQuill\");\nconst globals_1 = require(\"./globals\");\nconst goalChecker_1 = require(\"./goalChecker\");\nconst I18n_1 = require(\"./I18n\");\nconst mq_parsing_1 = require(\"./mq-parsing\");\nconst seqBasic_1 = require(\"./sequences/seqBasic\");\nconst seqRandomWeighted_1 = require(\"./sequences/seqRandomWeighted\");\nconst seqSequence_1 = require(\"./sequences/seqSequence\");\nconst utils_1 = require(\"./utils\");\nfunction findPyGenerators() {\n const IB = window['IB'] || {};\n $(\"div[data-pygen]\").each(function (j, eg) {\n const $eg = $(eg);\n $eg.css({\n \"position\": \"relative\",\n \"min-height\": \"300px\",\n \"background-color\": \"#ffffff\",\n \"background-image\": 'url(\"https://piworld.es/iedib/matheditor/backgrounds/triangles.svg\")',\n \"background-position\": \"center\",\n \"background-size\": \"cover\"\n });\n $eg.html(''); //clear the container \n let gid = $eg.attr(\"id\") || '';\n if (!gid) {\n gid = 'pyg_' + Math.random().toString(32).substring(2);\n $eg.attr(\"id\", gid);\n }\n globals_1.shared[gid] = {}; //This container will contain the instance of the qid in every screen\n // Create the layout of this container\n // Shoud have a top banner for level and message\n // central panel for qüestion and displaying the mathinput\n // bottom panel for control buttons\n const topPanel = $('
');\n const centralPanel = $(\"
\");\n const bottomPanel = $('
');\n const copyrightPanel = $('
');\n const levelIndicator = new LevelIndicator_1.LevelIndicator(4);\n const category = $eg.attr(\"data-pygen-category\") || \"general\"; //category to check the level of the student\n //Only show the indicator if data-category is set\n levelIndicator.setVisible(globals_1.cfg.HAS_IAPACE && $eg.attr(\"data-pygen-category\") != null);\n topPanel.append(levelIndicator.container);\n //try to find the category in iapace (only if available)\n let currentLevel = 1;\n if (globals_1.cfg.HAS_IAPACE) {\n currentLevel = IB.iapace.inference(category);\n }\n levelIndicator.setLevel(currentLevel);\n //Goal checker\n let goalChecker = null;\n if (globals_1.cfg.HAS_IAPACE && $eg.attr(\"data-pygen-goal\") != null) {\n const goalRulesRaw = ($eg.attr(\"data-pygen-goal\") || '').split(\";\");\n const goalRules = goalRulesRaw.map(function (e) { return e.split(\",\"); });\n goalChecker = new goalChecker_1.GoalChecker(category, goalRules);\n if (goalChecker.accomplished()) {\n //Indicator that the goal is already reached\n topPanel.append($('' + (0, I18n_1.I18n)('goal_reached') + ' '));\n }\n }\n // Format \"name.of.generador.function1;name.of.generator.function2[param1=a, param2='b', param3='c'];···\"\n const rawDataPygens = ($eg.attr('data-pygen') || '').split(';');\n const dataPygen = [];\n for (let z = 0, lenz = rawDataPygens.length; z < lenz; z++) {\n const genpart = rawDataPygens[z];\n let genname = null;\n const genparams = {};\n if (genpart.indexOf('[') > 0) {\n genname = genpart.split('[')[0].trim();\n const paramspart = genpart.split('[')[1].replace(']', '').split(',');\n for (let t = 0, lent = paramspart.length; t < lent; t++) {\n const aparm = paramspart[t];\n if (aparm.indexOf(\"=\") > 0) {\n const param_parts = aparm.split(\"=\");\n const key = param_parts[0];\n let value = param_parts[1];\n if (value.indexOf(\"'\") >= 0) {\n // As string\n value = value.replace(/'/g, '');\n }\n else {\n // As float\n value = parseFloat(value);\n }\n genparams[key] = value;\n }\n }\n }\n else {\n genname = genpart.trim();\n }\n if (Object.keys(genparams).length) {\n dataPygen.push([genname, genparams]);\n }\n else {\n dataPygen.push([genname]);\n }\n }\n // Decide if to use a sequenciador?\n let sequenciador = new seqBasic_1.SeqBasic(dataPygen);\n if (dataPygen.length > 1) {\n // Yes\n const order = ($eg.attr(\"data-pygen-order\") || \"random\").trim().toLowerCase();\n if (order.startsWith(\"random\") || order.startsWith(\"weighted\")) {\n sequenciador = new seqRandomWeighted_1.SeqRandomWeighted(dataPygen, order);\n }\n else if (order.startsWith(\"sequence\")) {\n sequenciador = new seqSequence_1.SeqSequence(dataPygen, order);\n }\n }\n // Check this question\n const checkBtn = $('');\n const comodiBtn = $('');\n let currentDatos = null;\n let currentEditor = null;\n const createDynamicMathquill = function () {\n checkBtn.prop(\"disabled\", true);\n nextButton.prop(\"disabled\", true);\n showmeBtn.prop(\"disabled\", true);\n comodiBtn.css(\"display\", \"none\");\n // Dynamically generate the level here!\n if (globals_1.cfg.HAS_IAPACE) {\n currentLevel = IB.iapace.inference(category);\n }\n else {\n //TODO\n }\n console.log(\"xivat\", category, currentLevel);\n levelIndicator.setLevel(currentLevel);\n const nextGenerator = sequenciador.next();\n $.ajax({\n type: \"POST\",\n url: globals_1.cfg.PYGEN_URL,\n data: JSON.stringify({ \"activities\": [nextGenerator], \"level\": currentLevel }),\n dataType: 'json',\n success: function (datos) {\n console.log(\"xivato\", datos);\n if (datos.msg) {\n currentDatos = null;\n //Show error message\n centralPanel.html('

ERROR
' + JSON.stringify(datos.msg) + '

');\n console.error(\"ERROR: \", datos);\n nextButton.prop(\"disabled\", false);\n return;\n }\n //remove contents central panel\n centralPanel.html('');\n // TODO: create the dynamic element\n const pregunta = $('

' + ($eg.attr('data-pygen-formulation') || '') + ' ' + datos.formulation + '

');\n centralPanel.append(pregunta);\n //TODO: How to create the input widget eficienty \n //const dynEl = $('');\n //$eg.append(dynEl);\n const json_raw = atob(datos.mq64);\n const json_obj = JSON.parse(json_raw);\n //check if contains a comodi \n //TODO: decide if can use the comodi based on performance\n if (globals_1.cfg.HAS_IAPACE) {\n const frame = IB.iapace.findCreate(category);\n if (frame) {\n if ((0, utils_1.sum)(frame.h) >= 30) {\n console.log(\"Super! Has conseguit un comodí\");\n comodiBtn.css(\"display\", json_obj.comodi == null ? \"none\" : \"\");\n }\n }\n }\n json_obj.category = category;\n if (!json_obj.palettes) {\n //use all palettes if not defined\n json_obj.palettes = 'all';\n }\n // convert qtype.M (combo) to qtype.Ms (radios)\n if (json_obj.editor == globals_1.cfg.QTYPES.M) {\n json_obj.editor = globals_1.cfg.QTYPES.Ms;\n }\n currentDatos = json_obj;\n if (json_obj.initial_latex) {\n json_obj.initial_latex = (0, mq_parsing_1.processMqIni)(json_obj.initial_latex);\n }\n const symbols = [];\n if (json_obj.symbols) {\n const parts = json_obj.symbols.split(\";\");\n for (let r = 0, lenr = parts.length; r < lenr; r++) {\n const epart = parts[r];\n if (epart.trim()) {\n symbols.push(epart.trim());\n }\n }\n }\n json_obj.symbols = symbols;\n let rules = [];\n if (json_obj.rules) {\n rules = JSON.parse(json_obj.rules);\n }\n json_obj.rules = rules;\n // It should obtain category from here?\n console.log(json_obj);\n const qid = (0, createQuill_1.createQuillFromObject)(centralPanel, gid, json_obj);\n currentEditor = globals_1.shared[gid][qid];\n currentEditor.isPigen = true; //Marker that is dynamically generated for pigen\n //TODO can support many quills\n checkBtn.off();\n const extraActions = function (score10) {\n nextButton.prop(\"disabled\", false);\n showmeBtn.prop(\"disabled\", false);\n if (globals_1.cfg.HAS_IAPACE) {\n IB.iapace.addScore(category, score10);\n IB.iapace.save(); //Persistent storage\n }\n //TODO lunch confetti if succeded\n if (goalChecker && goalChecker.reached()) {\n if (topPanel.find(\".pw-goal-reached\").length == 0) {\n topPanel.append($('' + (0, I18n_1.I18n)('goal_reached') + ' '));\n }\n //celebration?\n if ($eg.attr(\"data-pygen-celebration\") == 'confetti' && window.Confetti) {\n const c = new window.Confetti($eg[0]);\n c.play();\n }\n }\n };\n (0, actions_1.bindSubmitActionButton)(gid, checkBtn, extraActions);\n console.log(globals_1.shared[gid]);\n (0, utils_1.reflowLatex)();\n checkBtn.prop(\"disabled\", false);\n // Create the same element as a group\n //$eg.addClass(\"pw-mq-group\");\n //findQuillGroups($eg.parent());\n },\n error: function (datos) {\n currentDatos = null;\n currentEditor = null;\n console.log(\"error\", datos);\n centralPanel.html('

ERROR
' + JSON.stringify(datos) + '

');\n nextButton.prop(\"disabled\", false);\n }\n });\n };\n // Reveal answer to this question\n const showmeBtn = $('');\n showmeBtn.on('click', function (ev) {\n ev.preventDefault();\n if (!currentEditor) {\n console.error(\"Missing currentEditor here :-(\");\n return;\n }\n if (currentEditor.status != globals_1.cfg.STATUS.CORRECT && currentEditor.wrong_attemps < 1) {\n console.log(\"can't show answer yet\", currentEditor);\n return;\n }\n checkBtn.prop(\"disabled\", true);\n showmeBtn.prop(\"disabled\", true);\n console.log(currentEditor);\n currentEditor.showAnswer && currentEditor.showAnswer();\n });\n // Skip this question\n const nextButton = $('');\n nextButton.on('click', function (ev) {\n ev.preventDefault();\n // Remove existing widgets from this gid\n const keys = Object.keys(globals_1.shared[gid] || {});\n for (let i = 0, lin = keys.length; i < lin; i++) {\n const qid = parseInt(keys[i]);\n globals_1.shared[gid][qid].dispose();\n delete globals_1.shared[gid][qid];\n }\n createDynamicMathquill();\n });\n comodiBtn.on('click', function (ev) {\n ev.preventDefault();\n if (!currentEditor || !currentDatos || !currentDatos.comodi) {\n return;\n }\n currentEditor.comodiUsed = true;\n comodiBtn.css(\"display\", \"none\");\n currentEditor.latex(currentDatos.comodi);\n // Mark editor as changed to enable evaluation\n currentEditor.status = globals_1.cfg.STATUS.MODIFIED;\n });\n bottomPanel.append(checkBtn);\n bottomPanel.append(nextButton);\n bottomPanel.append(showmeBtn);\n bottomPanel.append(comodiBtn);\n $eg.append(topPanel);\n $eg.append(centralPanel);\n $eg.append(bottomPanel);\n if ($eg.attr(\"data-copyright\") != \"none\") {\n // Mostra la barra de copyright\n const ccSpan = $('pyQuizz by Josep Mulet (c) 2021-22');\n copyrightPanel.append(ccSpan);\n $eg.append(copyrightPanel);\n }\n createDynamicMathquill();\n });\n}\nexports.findPyGenerators = findPyGenerators;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sharedContext = exports.sharedDlg = exports.shared = exports.MathField = exports.StaticMath = exports.cfg = void 0;\nconst utils_1 = require(\"./utils\");\n/**\n * Extracts useful information from the current Moodle page\n * @returns\n */\nconst parseUrlParams = function (url) {\n const params = {};\n const parts = url.substring(1).split('&');\n for (let i = 0; i < parts.length; i++) {\n const nv = parts[i].trim().split('=');\n if (!nv[0])\n continue;\n if (nv.length == 1) {\n params[nv[0]] = '1';\n }\n else {\n params[nv[0]] = nv[1];\n }\n }\n return params;\n};\n// Change june2020: Allow guest user detection\n// Change july2020: isTeacher, chapterid --> boost detection\nconst loadPageInfo = function () {\n var _a, _b;\n if (!document.querySelector) {\n return {};\n }\n // Get current user information\n let userId = -1;\n let userFullname = \"Usuari convidat\";\n const dataUserId = document.querySelector('[data-userid]');\n if (dataUserId) {\n userId = parseInt(dataUserId.getAttribute('data-userid') || '-1');\n }\n const userText = document.querySelector(\".usertext\");\n if (userText) {\n userFullname = userText.innerText;\n }\n // Get information about book id and chapter id (from the current url)\n let params = {};\n if (location.search) {\n params = parseUrlParams(location.search);\n }\n let chapterId = params[\"chapterid\"];\n if (!chapterId) {\n // On first page, chapterid might not appear\n // Case on boost\n const ele = document.querySelector('input[name=\"chapterid\"]');\n if (ele) {\n chapterId = ele.value;\n }\n }\n let bookId = params.id;\n if (!bookId) {\n const ele = document.querySelector('div.singlebutton > form > input[name=\"id\"]');\n if (ele) {\n bookId = ele.value;\n }\n }\n // Get cookie for MoodleSession\n //const moodleSession = (document.cookie || \"\").split(\"MoodleSession=\")[1];\n //moodleSession = moodleSession.split(\";\")[0];\n let cookie = (document.cookie || \"\");\n let eq_cookie_pos = cookie.indexOf(\"=\");\n let moodleSession = \"\";\n if (eq_cookie_pos > 0) {\n moodleSession = cookie.substr(eq_cookie_pos + 1);\n }\n if (moodleSession && moodleSession.indexOf(\";\") > 0) {\n moodleSession = moodleSession.split(\";\")[0];\n }\n // Get information about the course\n let courseId = \"-1\";\n let courseName;\n const footer = document.querySelector(\".homelink > a\");\n if (footer) {\n courseName = footer.innerText;\n const hrefVal = \"?\" + (footer.href.split(\"?\")[1] || \"\");\n courseId = parseUrlParams(hrefVal).id;\n }\n const isTeacher = document.querySelector('.teacherdash.nav-item.nav-link') != null ? 1 : 0;\n const site = (location.href.split(\"?\")[0] || \"\").replace(\"/mod/book/view.php\", \"\");\n return {\n userId: userId,\n userFullname: userFullname,\n bookId: bookId,\n chapterId: chapterId,\n assignNum: ((_a = window.iedibAPI) === null || _a === void 0 ? void 0 : _a.lliurament.id) || 0,\n assignName: ((_b = window.iedibAPI) === null || _b === void 0 ? void 0 : _b.lliurament.title) || \"\",\n courseName: courseName,\n courseId: courseId,\n isTeacher: isTeacher,\n site: site,\n moodleSession: moodleSession\n };\n};\n// Decide from where to load resources\nwindow.MQWidgets = window.MQWidgets || {};\n// Default values if not specified at initialization\n// https://piworld.es/mqwdemo/api/\nclass Cfg {\n constructor() {\n this.DEFAULT_ENGINE = \"sympy\";\n this.NERDAMER_URL = \"https://cdn.jsdelivr.net/npm/nerdamer@1.1.13/all.min.js\";\n this.BACKEND_BASEURL = \"\";\n this.MQWIDGETS_BASEURL = \"https://iedib.github.io/mqwidgets2/dist/\";\n this.pageInfo = loadPageInfo();\n this.STATUS = {\n UNMODIFIED: 100,\n MODIFIED: 200,\n CORRECT: 1,\n WRONG: 0\n };\n this.QTYPES = {\n S: 'simple',\n B: 'basic',\n C: 'cloze',\n P: 'panel',\n M: 'mchoice',\n Ms: 'mchoice*' // multiple choice radio, checkbox\n };\n this.HAS_IAPACE = window[\"IB\"] != null && (window[\"IB\"].iapace != null);\n this.LANG = '';\n this.RIGHT_ICON = 'fa fas fa-check'; //'far fa-smile'; // \n this.WRONG_ICON = 'fa fas fa-times'; //'far fa-dizzy'; //\n this.MAX_ATTEMPTS = 2; // Maximum number of wrong attempts before showing right answer\n }\n get CAS_URL() {\n return (0, utils_1.urlJoin)(this.BACKEND_BASEURL, \"compare\");\n }\n get PYGEN_URL() {\n return (0, utils_1.urlJoin)(this.BACKEND_BASEURL, \"generate\");\n }\n get GETANSWER_URL() {\n return (0, utils_1.urlJoin)(this.BACKEND_BASEURL, \"getanswer\");\n }\n get MATHQUILL_URL() {\n return (0, utils_1.urlJoin)(this.MQWIDGETS_BASEURL, \"/lib/mathquill.matrix.min.js\");\n }\n setUserConfig(uc) {\n if (uc.engines[0] == 'nerdamer') {\n this.DEFAULT_ENGINE = 'nerdamer';\n }\n const remotes = uc.engines.filter((e) => e.trim().startsWith(\"http\"));\n if (remotes.length) {\n this.BACKEND_BASEURL = remotes[0];\n }\n if (uc.lang) {\n this.LANG = uc.lang;\n }\n if (uc.mqwBaseurl) {\n this.MQWIDGETS_BASEURL = uc.mqwBaseurl;\n }\n }\n isNerdamer() {\n return window.nerdamer != null;\n }\n}\nexports.cfg = new Cfg();\n// Lazy load (it might no be loaded yet)\nlet MQI = {};\nfunction StaticMath(div) {\n if (!MQI.StaticMath) {\n MQI = window.MathQuill.getInterface(2);\n }\n return MQI.StaticMath(div);\n}\nexports.StaticMath = StaticMath;\nfunction MathField(div, config) {\n if (!MQI.MathField) {\n MQI = window.MathQuill.getInterface(2);\n }\n return MQI.MathField(div, config);\n}\nexports.MathField = MathField;\nexports.shared = {};\nexports.sharedDlg = {};\nexports.sharedContext = {};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GoalChecker = void 0;\nconst globals_1 = require(\"./globals\");\nclass GoalChecker {\n constructor(category, rules) {\n this.category = category;\n this.rules = rules;\n }\n accomplished(value) {\n const IB = window[\"IB\"] || {};\n if (!globals_1.cfg.HAS_IAPACE) {\n return false;\n }\n //getter\n if (!value) {\n const frame = IB.iapace.find(this.category);\n if (frame == null) {\n return false;\n }\n return frame.d; //done flag in tree\n }\n //setter\n const frame = IB.iapace.findCreate(this.category);\n frame.d = value;\n IB.iapace.save();\n return value;\n }\n reached() {\n const IB = window[\"IB\"] || {};\n if (!globals_1.cfg.HAS_IAPACE) {\n return false;\n }\n if (this.accomplished()) {\n return false;\n }\n const frame = IB.iapace.findCreate(this.category);\n let reach = false;\n const nrules = this.rules.length;\n let i = 0;\n while (!reach && i < nrules) {\n let partial = true;\n const crule = this.rules[i];\n let undecided = 0;\n if (isNaN(crule[0])) {\n undecided += 1;\n }\n else {\n //Num. questions done on category\n partial = partial && (frame.n >= parseInt(crule[0]));\n }\n if (isNaN(crule[1])) {\n undecided += 1;\n }\n else {\n //Average grade\n let grade = 0.0;\n if (frame.n > 0) {\n grade = frame.s / (1.0 * frame.n);\n }\n partial = partial && (grade >= parseFloat(crule[1]));\n }\n if (isNaN(crule[2])) {\n undecided += 1;\n }\n else {\n //current level\n partial = partial && (IB.iapace.inference(this.category) >= parseInt(crule[2]));\n }\n if (undecided < 3) {\n reach = partial;\n }\n i += 1;\n }\n if (reach) {\n this.accomplished(true);\n }\n return reach;\n }\n}\nexports.GoalChecker = GoalChecker;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createQuillFromDataAttr = exports.processMqIni = void 0;\nconst createQuill_1 = require(\"./createQuill\");\nconst globals_1 = require(\"./globals\");\nfunction processMqIni(ini) {\n ini = ini || '';\n ini = ini.replace(/\\?\\d*?/g, '\\\\MathQuillMathField{}');\n ini = ini.replace(/M\\[(\\d+)x(\\d+)\\]/g, function ($0, $1, $2) {\n const nrows = parseInt($1);\n const ncols = parseInt($2);\n const mtex = [];\n const aRow = new Array(ncols);\n for (let i = 0; i < nrows; i++) {\n mtex.push(aRow.join(' & '));\n }\n return '\\\\begin{pmatrix} ' + mtex.join(' \\\\\\\\ ') + ' \\\\end{pmatrix}';\n });\n return ini;\n}\nexports.processMqIni = processMqIni;\nfunction createQuillFromDataAttr($el, gid) {\n const qtype = $el.attr(\"data-mq\") || 'simple';\n const engine = $el.attr(\"data-mq-engine\");\n let ans = $el.attr(\"data-mq-ans\");\n // If not ans then it cannot be checked, so.\n let ansType = 'ans';\n if (!ans) {\n ans = $el.attr(\"data-mq-anse\");\n ansType = 'anse';\n if (!ans) {\n console.error(\"> MQ has no data-mq-ans/e!\");\n return;\n }\n }\n // Support arrays in answers (always as str)\n ans = ans.trim();\n if (ans.startsWith('[') && ans.endsWith(']')) {\n ans = JSON.parse(ans);\n for (let kk = 0, lenkk = ans.length; kk < lenkk; kk++) {\n ans[kk] = '' + ans[kk];\n }\n }\n const ini = processMqIni($el.attr(\"data-mq-ini\"));\n const symbolsRaw = $el.attr(\"data-mq-symbols\"); // a := valor; b := valor; c := valor; \n if (qtype === globals_1.cfg.QTYPES.C && !ini) {\n console.error(\"> MQ \", $el, \" is of type cloze but it has no data-mq-ini!\");\n return;\n }\n let ra = '';\n if ($el.attr(\"data-mq-ra\")) {\n // Base64 conversion\n ra = atob($el.attr(\"data-mq-ra\") || '');\n }\n const symbols = [];\n if (symbolsRaw) {\n const parts = symbolsRaw.split(\";\");\n for (let r = 0, lenr = parts.length; r < lenr; r++) {\n const epart = parts[r];\n if (epart.trim()) {\n symbols.push(epart.trim());\n }\n }\n }\n const rulesRaw = $el.attr(\"data-mq-rules\");\n let rules = [];\n if (rulesRaw) {\n rules = JSON.parse(rulesRaw);\n }\n let palettes = [];\n const palettesRaw = $el.attr(\"data-mq-palettes\");\n if (palettesRaw) {\n const parts = palettesRaw.split(\",\");\n parts.forEach(function (e) {\n palettes.push(e.trim());\n });\n }\n const obj = {\n engine: engine,\n editor: qtype,\n symbols: symbols,\n right_answer: ra,\n initial_latex: ini,\n rules: rules,\n palettes: palettes,\n ans: ans,\n ansType: ansType\n };\n if ($el.attr(\"data-mq-formulation\")) {\n obj.formulation = $el.attr(\"data-mq-formulation\");\n }\n (0, createQuill_1.createQuillFromObject)($el, gid, obj);\n}\nexports.createQuillFromDataAttr = createQuillFromDataAttr;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findQuillGroups = void 0;\nconst actions_1 = require(\"./actions\");\nconst createQuill_1 = require(\"./createQuill\");\nconst globals_1 = require(\"./globals\");\nconst mq_parsing_1 = require(\"./mq-parsing\");\nconst utils_1 = require(\"./utils\");\nconst keysDef = [\"editor\",\n \"engine\",\n \"formulation\",\n \"initial_latex\",\n \"ansType\",\n \"ans\",\n \"anse\",\n \"right_answer\",\n \"symbols\",\n \"rules\",\n \"palettes\"];\nconst findQuills = function ($eg, gid, widgets) {\n // Precedence of the widgets defined throught the init method\n if (widgets) {\n (0, utils_1.items)(widgets, function (id, b64) {\n //check if 'id' is found\n const $el = $('#' + id);\n if ($el.length) {\n // ignore the mq attribute that might include in sucsessive parsing\n $el.removeAttr(\"data-mq\");\n try {\n const json_raw = atob(b64);\n const json_obj = JSON.parse(json_raw);\n //Make sure to process initial_latex attribute\n json_obj.initial_latex = (0, mq_parsing_1.processMqIni)(json_obj.initial_latex || '');\n (0, createQuill_1.createQuillFromObject)($el, gid, json_obj);\n }\n catch (ex) {\n console.error(\"Invalid or corrupted MQ definition:: \", b64);\n console.error(ex);\n }\n }\n else {\n console.error(\"The element with id=\" + id + \" does not exist.\");\n }\n });\n }\n $eg.find(\"[data-mq]\").each(function (i, el) {\n const $el = $(el);\n const qtype = $(el).attr(\"data-mq\") || 'simple'; //s=simple, b=basic, p=panel, c=cloze (requires data-mq-ini)\n if ((0, utils_1.hasValue)(globals_1.cfg.QTYPES, qtype)) {\n //create from data-attributes\n console.error(\"Definition via data-attributes in deprecated since version 2.0. \"\n + \"Please encode the definition in a single data-mq field.\");\n (0, mq_parsing_1.createQuillFromDataAttr)($el, gid);\n }\n else {\n // Assume that everything is encoded in data-mq atribute\n // Use the MQ-editor online\n try {\n const json_raw = atob(qtype);\n let json_obj = {};\n const parsedDef = JSON.parse(json_raw);\n // if json_obj is an array, then we should parse it to an object\n if (Array.isArray(parsedDef)) {\n if (parsedDef.length < keysDef.length) {\n console.error(\"The definition does not contain all the fields. Is it corrupted?\");\n }\n (0, utils_1.zip)(keysDef, parsedDef).forEach((pair) => {\n const [key, value] = pair;\n json_obj[key] = value;\n });\n }\n else {\n json_obj = parsedDef;\n }\n //Make sure to process initial_latex attribute\n json_obj.initial_latex = (0, mq_parsing_1.processMqIni)(json_obj.initial_latex || '');\n (0, createQuill_1.createQuillFromObject)($el, gid, json_obj);\n }\n catch (ex) {\n console.error(\"Invalid or corrupted MQ definition:: \", qtype);\n console.error(ex);\n }\n }\n });\n};\nfunction parseContext($eg, gid) {\n const ctx = {}; // Hold the context of this group\n //TODO with other properties of a group\n globals_1.sharedContext[gid] = ctx;\n}\nfunction findQuillGroups(widgets, parent) {\n parent = parent || $('body');\n parent.find(\".pw-mq-group\").each(function (j, eg) {\n const $eg = $(eg);\n if ($eg.hasClass(\"pw-mq-done\")) {\n return;\n }\n //Prevent reprocessing\n $eg.addClass(\"pw-mq-done\");\n let gid = $eg.attr(\"id\");\n if (!gid) {\n gid = 'g_' + Math.random().toString(32).substring(2);\n $eg.attr(\"id\", gid);\n }\n globals_1.shared[gid] = {}; //Hold all the editors\n parseContext($eg, gid);\n findQuills($eg, gid, widgets);\n const check_btn = (0, actions_1.createSubmitButtonForGroup)(gid);\n $eg.append(check_btn);\n // solve problem of display by redrawing\n if (parent == null) {\n window.setTimeout(function () {\n (0, utils_1.items)(globals_1.shared, function (gid, groupContainer) {\n (0, utils_1.items)(groupContainer, function (qid, editor) {\n editor.reflow && editor.reflow();\n });\n });\n }, 800);\n }\n });\n}\nexports.findQuillGroups = findQuillGroups;\n;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.applyPolyfills = void 0;\nfunction applyPolyfills() {\n if (!Array.prototype.forEach) {\n Array.prototype.forEach = function forEach(callback, thisArg) {\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n var array = this;\n thisArg = thisArg || this;\n for (var i = 0, l = array.length; i !== l; ++i) {\n callback.call(thisArg, array[i], i, array);\n }\n };\n }\n if (!Array.prototype.map) {\n Array.prototype.map = function (callback) {\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n var arr = [];\n for (var i = 0; i < this.length; i++) {\n arr.push(callback(this[i], i, this));\n }\n return arr;\n };\n }\n if (!Array.prototype.filter) {\n Array.prototype.filter = function (callback) {\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n var arr = [];\n for (var i = 0; i < this.length; i++) {\n if (callback.call(this, this[i], i, this)) {\n arr.push(this[i]);\n }\n }\n return arr;\n };\n }\n if (!Array.isArray) {\n Array.isArray = function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n };\n }\n !(typeof Number.isNaN == 'function') ||\n (Number.isNaN = function (value) {\n return value !== null // Number(null) => 0\n && (value != value // NaN != NaN\n || +value != value // Number(falsy) => 0 && falsy == 0...\n );\n });\n}\nexports.applyPolyfills = applyPolyfills;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeqBasic = void 0;\nclass SeqBasic {\n constructor(lpygens) {\n this.lpygens = lpygens;\n }\n next() {\n return this.lpygens[0];\n }\n}\nexports.SeqBasic = SeqBasic;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeqRandomWeighted = void 0;\nconst utils_1 = require(\"../utils\");\nconst seqBasic_1 = require(\"./seqBasic\");\nclass SeqRandomWeighted extends seqBasic_1.SeqBasic {\n constructor(lpygens, definition) {\n super(lpygens);\n definition = (definition || \"random\").trim().toLowerCase();\n this.definition = definition;\n let weights = [];\n if (definition.startsWith(\"weighted:\")) {\n definition = definition.replace(\"weighted:\", \"\");\n const parts = definition.split(\",\");\n weights = parts.map(function (e) { return parseFloat(e); });\n }\n else {\n //Assume equally distributed\n const vran = 1.0 / lpygens.length;\n for (let i = 0, len = lpygens.length; i < len; i++) {\n weights.push(vran);\n }\n }\n this.lpygens = lpygens;\n //fix the problem of wrong length\n if (this.lpygens.length > weights.length) {\n console.log(\"SeqRandomWeighted:: lpygens and weights have different length\");\n while (this.lpygens != weights.length) {\n weights.push(1.0);\n }\n }\n while (weights.length > lpygens.length) {\n weights.pop();\n }\n //Normalize and aggregate weigths\n const total = (0, utils_1.sum)(weights);\n let old = 0.0;\n weights.forEach(function (w, i) {\n w = w / total;\n old = w + old;\n weights[i] = old;\n });\n this.weights = weights;\n }\n ;\n next() {\n //Optimization\n if (this.definition == 'random') {\n const pos = Math.floor(Math.random() * this.lpygens.length);\n return this.lpygens[pos];\n }\n const rnd = Math.random();\n let pos = 0;\n let val = this.weights[pos];\n while (val < rnd) {\n pos += 1;\n val = this.weights[pos];\n }\n return this.lpygens[pos];\n }\n}\nexports.SeqRandomWeighted = SeqRandomWeighted;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SeqSequence = void 0;\nconst utils_1 = require(\"../utils\");\nconst seqBasic_1 = require(\"./seqBasic\");\nconst seqRandomWeighted_1 = require(\"./seqRandomWeighted\");\nclass SeqSequence extends seqBasic_1.SeqBasic {\n constructor(lpygens, definition) {\n super(lpygens);\n this.lpygens = lpygens;\n definition = definition.replace(\"sequence:\", \"\").trim().toLowerCase();\n this.positions = [];\n this.terminalGen = undefined;\n const placeholders = definition.split(\",\");\n const self = this;\n placeholders.forEach(function (p, i) {\n if ((0, utils_1.isNumeric)(p) && self.terminalGen == null) {\n const e = parseInt(p);\n for (let k = 0; k < e; k++) {\n self.positions.push(i);\n }\n }\n else if (p.startsWith('*') && self.terminalGen == null) {\n //all the remaining lpygens are *\n //Apply weights!!!!\n const remainingLpygens = lpygens.slice(i);\n const def2 = [];\n let isWeighted = false;\n for (let k = i; k < placeholders.length; k++) {\n let e2 = placeholders[k];\n if (e2.indexOf(\"*\") >= 0 && e2.indexOf(\"(\") > 0) {\n e2 = e2.replace(\"*\", \"\").replace(\"(\", \"\").replace(\")\", \"\");\n def2.push(parseFloat(e2));\n isWeighted = true;\n }\n else {\n def2.push(1);\n }\n }\n let typeRan = \"random\";\n if (isWeighted) {\n typeRan = \"weighted: \" + def2.join(\",\");\n }\n self.terminalGen = new seqRandomWeighted_1.SeqRandomWeighted(remainingLpygens, typeRan);\n }\n });\n this.pointer = 0;\n }\n ;\n next() {\n if (this.pointer >= this.positions.length && this.terminalGen) {\n return this.terminalGen.next();\n }\n this.pointer = this.pointer % this.positions.length;\n const indx = this.positions[this.pointer];\n this.pointer += 1;\n return this.lpygens[indx];\n }\n}\nexports.SeqSequence = SeqSequence;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.urlJoin = exports.isNumeric = exports.createLinkSheet = exports.createStyleSheet = exports.insertScript = exports.MD5 = exports.copyPropsFromTo = exports.hasValue = exports.zip = exports.items = exports.sum = exports.sanitizeLaTeX = exports.reflowLatex = void 0;\nfunction reflowLatex() {\n if (window.MathJax) {\n window.MathJax.typesetPromise && window.MathJax.typesetPromise();\n window.MathJax.Hub && window.MathJax.Hub.Queue && window.MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);\n }\n}\nexports.reflowLatex = reflowLatex;\nfunction sanitizeLaTeX(tex) {\n return tex.replace(/·/g, '*');\n}\nexports.sanitizeLaTeX = sanitizeLaTeX;\nfunction sum(iter) {\n let total = 0;\n for (let i = 0, len = iter.length; i < len; i++) {\n total += iter[i];\n }\n return total;\n}\nexports.sum = sum;\n;\nfunction items(obj, cb) {\n if (Array.isArray(obj)) {\n for (var i = 0, len = obj.length; i < len; i++) {\n cb(i, obj[i]);\n }\n }\n else {\n var keys = Object.keys(obj);\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n cb(key, obj[key]);\n }\n }\n}\nexports.items = items;\nfunction zip(l1, l2) {\n const n = Math.min(l1.length, l2.length);\n const l = [];\n for (let i = 0; i < n; i++) {\n l.push([l1[i], l2[i]]);\n }\n return l;\n}\nexports.zip = zip;\nfunction hasValue(dict, target) {\n let found = false;\n const keys = Object.keys(dict);\n let i = 0;\n while (!found && i < keys.length) {\n const k = keys[i];\n found = (dict[k] == target);\n i++;\n }\n return found;\n}\nexports.hasValue = hasValue;\nfunction copyPropsFromTo(source, target) {\n var props = Object.keys(source);\n for (var i = 0, len = props.length; i < len; i++) {\n var prop = props[i];\n target[prop] = source[prop];\n }\n}\nexports.copyPropsFromTo = copyPropsFromTo;\nfunction MD5(d) { var r = M(V(Y(X(d), 8 * d.length))); return r.toLowerCase(); }\nexports.MD5 = MD5;\n;\nfunction M(d) { for (var _, m = \"0123456789ABCDEF\", f = \"\", r = 0; r < d.length; r++)\n _ = d.charCodeAt(r), f += m.charAt(_ >>> 4 & 15) + m.charAt(15 & _); return f; }\nfunction X(d) { for (var _ = Array(d.length >> 2), m = 0; m < _.length; m++)\n _[m] = 0; for (m = 0; m < 8 * d.length; m += 8)\n _[m >> 5] |= (255 & d.charCodeAt(m / 8)) << m % 32; return _; }\nfunction V(d) { for (var _ = \"\", m = 0; m < 32 * d.length; m += 8)\n _ += String.fromCharCode(d[m >> 5] >>> m % 32 & 255); return _; }\nfunction Y(d, _) { d[_ >> 5] |= 128 << _ % 32, d[14 + (_ + 64 >>> 9 << 4)] = _; for (var m = 1732584193, f = -271733879, r = -1732584194, i = 271733878, n = 0; n < d.length; n += 16) {\n var h = m, t = f, g = r, e = i;\n f = md5_ii(f = md5_ii(f = md5_ii(f = md5_ii(f = md5_hh(f = md5_hh(f = md5_hh(f = md5_hh(f = md5_gg(f = md5_gg(f = md5_gg(f = md5_gg(f = md5_ff(f = md5_ff(f = md5_ff(f = md5_ff(f, r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 0], 7, -680876936), f, r, d[n + 1], 12, -389564586), m, f, d[n + 2], 17, 606105819), i, m, d[n + 3], 22, -1044525330), r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 4], 7, -176418897), f, r, d[n + 5], 12, 1200080426), m, f, d[n + 6], 17, -1473231341), i, m, d[n + 7], 22, -45705983), r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 8], 7, 1770035416), f, r, d[n + 9], 12, -1958414417), m, f, d[n + 10], 17, -42063), i, m, d[n + 11], 22, -1990404162), r = md5_ff(r, i = md5_ff(i, m = md5_ff(m, f, r, i, d[n + 12], 7, 1804603682), f, r, d[n + 13], 12, -40341101), m, f, d[n + 14], 17, -1502002290), i, m, d[n + 15], 22, 1236535329), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 1], 5, -165796510), f, r, d[n + 6], 9, -1069501632), m, f, d[n + 11], 14, 643717713), i, m, d[n + 0], 20, -373897302), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 5], 5, -701558691), f, r, d[n + 10], 9, 38016083), m, f, d[n + 15], 14, -660478335), i, m, d[n + 4], 20, -405537848), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 9], 5, 568446438), f, r, d[n + 14], 9, -1019803690), m, f, d[n + 3], 14, -187363961), i, m, d[n + 8], 20, 1163531501), r = md5_gg(r, i = md5_gg(i, m = md5_gg(m, f, r, i, d[n + 13], 5, -1444681467), f, r, d[n + 2], 9, -51403784), m, f, d[n + 7], 14, 1735328473), i, m, d[n + 12], 20, -1926607734), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 5], 4, -378558), f, r, d[n + 8], 11, -2022574463), m, f, d[n + 11], 16, 1839030562), i, m, d[n + 14], 23, -35309556), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 1], 4, -1530992060), f, r, d[n + 4], 11, 1272893353), m, f, d[n + 7], 16, -155497632), i, m, d[n + 10], 23, -1094730640), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 13], 4, 681279174), f, r, d[n + 0], 11, -358537222), m, f, d[n + 3], 16, -722521979), i, m, d[n + 6], 23, 76029189), r = md5_hh(r, i = md5_hh(i, m = md5_hh(m, f, r, i, d[n + 9], 4, -640364487), f, r, d[n + 12], 11, -421815835), m, f, d[n + 15], 16, 530742520), i, m, d[n + 2], 23, -995338651), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 0], 6, -198630844), f, r, d[n + 7], 10, 1126891415), m, f, d[n + 14], 15, -1416354905), i, m, d[n + 5], 21, -57434055), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 12], 6, 1700485571), f, r, d[n + 3], 10, -1894986606), m, f, d[n + 10], 15, -1051523), i, m, d[n + 1], 21, -2054922799), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 8], 6, 1873313359), f, r, d[n + 15], 10, -30611744), m, f, d[n + 6], 15, -1560198380), i, m, d[n + 13], 21, 1309151649), r = md5_ii(r, i = md5_ii(i, m = md5_ii(m, f, r, i, d[n + 4], 6, -145523070), f, r, d[n + 11], 10, -1120210379), m, f, d[n + 2], 15, 718787259), i, m, d[n + 9], 21, -343485551), m = safe_add(m, h), f = safe_add(f, t), r = safe_add(r, g), i = safe_add(i, e);\n} return Array(m, f, r, i); }\nfunction md5_cmn(d, _, m, f, r, i) { return safe_add(bit_rol(safe_add(safe_add(_, d), safe_add(f, i)), r), m); }\nfunction md5_ff(d, _, m, f, r, i, n) { return md5_cmn(_ & m | ~_ & f, d, _, r, i, n); }\nfunction md5_gg(d, _, m, f, r, i, n) { return md5_cmn(_ & f | m & ~f, d, _, r, i, n); }\nfunction md5_hh(d, _, m, f, r, i, n) { return md5_cmn(_ ^ m ^ f, d, _, r, i, n); }\nfunction md5_ii(d, _, m, f, r, i, n) { return md5_cmn(m ^ (_ | ~f), d, _, r, i, n); }\nfunction safe_add(d, _) { var m = (65535 & d) + (65535 & _); return (d >> 16) + (_ >> 16) + (m >> 16) << 16 | 65535 & m; }\nfunction bit_rol(d, _) { return d << _ | d >>> 32 - _; }\nfunction insertScript(url) {\n var tag = document.createElement('script');\n tag.src = url;\n tag.type = \"text/javascript\";\n tag.async = true;\n const p = new Promise((resolve, reject) => {\n tag.onload = function () {\n resolve();\n };\n tag.onerror = function () {\n reject();\n };\n tag.onabort = function () {\n reject();\n };\n });\n document.head.appendChild(tag);\n return p;\n}\nexports.insertScript = insertScript;\nfunction createStyleSheet(src, id) {\n if (id && document.getElementById(id)) {\n return;\n }\n var style = document.createElement('style');\n style.innerHTML = src;\n if (id) {\n style.id = id;\n }\n document.getElementsByTagName('head')[0].appendChild(style);\n}\nexports.createStyleSheet = createStyleSheet;\nfunction createLinkSheet(href, id) {\n var link = document.createElement('link');\n link.rel = 'stylesheet';\n link.type = 'text/css';\n link.href = href;\n document.getElementsByTagName('head')[0].appendChild(link);\n}\nexports.createLinkSheet = createLinkSheet;\nfunction isNumeric(str) {\n return (str || '').replace(/\\s+/g, '').match(/^[+\\-]?[0-9]+\\.?[0-9]*$/) != null;\n}\nexports.isNumeric = isNumeric;\nfunction urlJoin(url1, url2) {\n url1 = url1.trim();\n url2 = url2.trim();\n if (!url1.endsWith('/')) {\n url1 += '/';\n }\n if (url2.startsWith('/')) {\n url2 = url2.substring(1);\n }\n return url1 + url2;\n}\nexports.urlJoin = urlJoin;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var style = document.createElement('style'); \nstyle.innerHTML = 'div[data-pygen]{min-height:100px;margin:10px;padding:10px;background:#f8f8ff;box-shadow:3px 3px gray}.pw-mq-feedback{margin:10px;padding:10px;background-color:#cbe9f4;color:#121228}@keyframes blinker{50%{color:#e4cfe4}}.pw-goal-reached{font-weight:bold;margin:0 15px;padding:3px;border-radius:3px;font-size:90%;color:#3b1d3b;animation:blinker .5s linear 4}.pw-me-blocker{background:gray;opacity:.5;pointer-events:none}.pw-refresh{cursor:pointer;float:left;margin-right:15px}.pw-refresh>i{color:#1e90ff}.pw-mq-group{margin-bottom:60px;border-left:1px solid #1e90ff;padding-left:20px}.pw-me-dlg{display:flex;flex-direction:column;position:fixed;margin:auto;top:0;right:0;bottom:0;left:0;border:2px solid #d3d3d3;z-index:100;background:#fff;box-shadow:4px 4px 4px #888;border-radius:5px}.pw-me-dlg-header{background:#f5f5f5;width:100%;height:23px;border-bottom:2px solid #d3d3d3}.pw-me-dlg-headertitle{color:#000;margin-left:8px}.pw-me-dlg-controls{background:#fff;display:flex;flex-direction:row;justify-content:space-between;margin:5px}.pw-me-btn-openeditor{background:#f5f5f5;vertical-align:top}.pw-me-btn-openeditor:hover{background:#fff}.pw-me-btn-openeditor>i.fas{color:darkred}.pw-me-tabmenu{width:100%}.pw-me-tabspanel{width:100%;height:25px;background:#d3d3d3}.pw-me-tabcontents{width:100%;background:#e3e3e3}.pw-me-btn-tab{background:#d3d3d3;padding:0 5px}.pw-me-btn-active{background:#fff}.pw-me-tabcontainer{width:100%;display:none;flex-direction:row;flex-wrap:wrap}.pw-me-submitgroup{margin:auto}.pw-me-btn-dlgclose{color:gray;width:23px;height:23px;float:right;padding:0}.pw-me-editorpanel{display:flex;flex-direction:column;background:#fff;flex-grow:1;border:1px solid #d3d3d3}.pw-me-editorpanel-mathinput{width:97%;margin:5px auto;padding:15px;background:#fff;flex-grow:1}.pw-me-btn-toolbar{height:35px;overflow:hidden;font-weight:bold}.pw-me-btn-toolbar>span{cursor:pointer;font-size:90%}.pw-me-btn-toolbar:hover{background:#fff}.pw-me-editorinput{display:inline-flex;margin:4px;padding:4px;background:#d5edff;border-radius:5px}.pw-me-editorinput>div>span{background:#fff;min-width:100px}.pw-quill-group{margin:5px 5px 80px 5px;border-left:1px solid gray;padding-left:10px}.pw-me-check{align-self:center}.pw-me-editorinput.pw-me-wrong,.pw-me-mchoice.pw-me-wrong{background:#fddcdc}.pw-me-editorinput.pw-me-wrong>.pw-me-check>span,.pw-me-mchoice.pw-me-wrong>.pw-me-check>span{color:#fff;margin:5px;background:darkred;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px 6px}.pw-me-editorinput.pw-me-right,.pw-me-mchoice.pw-me-right{background:#f0fddc}.pw-me-editorinput.pw-me-right>.pw-me-check>span,.pw-me-mchoice.pw-me-right>.pw-me-check>span{color:#fff;margin:5px;background:#358a24;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-editorinput.pw-me-alert,.pw-me-mchoice.pw-me-alert{background:#f2dcfd}.pw-me-editorinput.pw-me-alert>.pw-me-check>span,.pw-me-mchoice.pw-me-alert>.pw-me-check>span{color:#fff;margin:5px;background:#681733;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-btn-showanswer>i{color:darkred}.pw-answer-holder{margin:15px;overflow:auto;height:150px}.mq-editable-field{background:#fff}.pw-me-btn-dropdownmenu{display:none;position:absolute;top:65px;left:140px;padding:5px;border:1px solid gray;z-index:1000;background:#fff}.pw-me-mchoice{display:inline-flex;vertical-align:middle}.pw-square-root{background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;background-image:url(\"https://piworld.es/iedib/mqwidgets2/pw-square-root.png\");display:inline-block;width:16px;height:16px}@font-face{font-family:Symbola;src:url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.eot);src:local(\"Symbola Regular\"),local(\"Symbola\"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff2) format(\"woff2\"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff) format(\"woff\"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.ttf) format(\"truetype\"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.svg#Symbola) format(\"svg\")}.mq-editable-field{display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor{border-left:1px solid #000;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor.mq-blink{visibility:hidden}.mq-editable-field,.mq-math-mode .mq-editable-field{border:1px solid gray}.mq-editable-field.mq-focused,.mq-math-mode .mq-editable-field.mq-focused{box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;border-color:#709ac0;border-radius:1px}.mq-math-mode .mq-editable-field{margin:1px}.mq-editable-field .mq-latex-command-input{color:inherit;font-family:\"Courier New\",monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.mq-editable-field .mq-latex-command-input.mq-empty{background:rgba(0,0,0,0)}.mq-editable-field .mq-latex-command-input.mq-hasCursor{border-color:ActiveBorder}.mq-editable-field.mq-empty:after,.mq-editable-field.mq-text-mode:after,.mq-math-mode .mq-empty:after{visibility:hidden;content:\"c\"}.mq-editable-field .mq-cursor:only-child:after,.mq-editable-field .mq-textarea+.mq-cursor:last-child:after{visibility:hidden;content:\"c\"}.mq-editable-field .mq-text-mode .mq-cursor:only-child:after{content:\"\"}.mq-editable-field.mq-text-mode{overflow-x:auto;overflow-y:hidden}.mq-root-block,.mq-math-mode .mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.mq-math-mode{font-variant:normal;font-weight:normal;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-non-leaf,.mq-math-mode .mq-scaled{display:-moz-inline-box;display:inline-block}.mq-math-mode var,.mq-math-mode .mq-text-mode,.mq-math-mode .mq-nonSymbola{font-family:\"Times New Roman\",Symbola,serif;line-height:.9}.mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.mq-math-mode .mq-empty{background:#ccc}.mq-math-mode .mq-empty.mq-root-block{background:rgba(0,0,0,0)}.mq-math-mode.mq-empty{background:rgba(0,0,0,0)}.mq-math-mode .mq-text-mode{display:inline-block;white-space:pre}.mq-math-mode .mq-text-mode.mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -0.1em;min-width:1ex}.mq-math-mode .mq-font{font:1em \"Times New Roman\",Symbola,serif}.mq-math-mode .mq-font *{font-family:inherit;font-style:inherit}.mq-math-mode b,.mq-math-mode b.mq-font{font-weight:bolder}.mq-math-mode var,.mq-math-mode i,.mq-math-mode i.mq-font{font-style:italic}.mq-math-mode var.mq-f{margin-right:.2em;margin-left:.1em}.mq-math-mode .mq-roman var.mq-f{margin:0}.mq-math-mode big{font-size:200%}.mq-math-mode .mq-int>big{display:inline-block;transform:scaleX(0.7);vertical-align:-0.16em}.mq-math-mode .mq-int>.mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.mq-math-mode .mq-int>.mq-supsub>.mq-sup>.mq-sup-inner{vertical-align:1.3em}.mq-math-mode .mq-int>.mq-supsub>.mq-sub{margin-left:-0.35em}.mq-math-mode .mq-roman{font-style:normal}.mq-math-mode .mq-sans-serif{font-family:sans-serif,Symbola,serif}.mq-math-mode .mq-monospace{font-family:monospace,Symbola,serif}.mq-math-mode .mq-overline{border-top:1px solid #000;margin-top:1px}.mq-math-mode .mq-underline{border-bottom:1px solid #000;margin-bottom:1px}.mq-math-mode .mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-supsub{text-align:left;font-size:90%;vertical-align:-0.5em}.mq-math-mode .mq-supsub.mq-sup-only{vertical-align:.5em}.mq-math-mode .mq-supsub.mq-sup-only .mq-sup{display:inline-block;vertical-align:text-bottom}.mq-math-mode .mq-supsub .mq-sup{display:block}.mq-math-mode .mq-supsub .mq-sub{display:block;float:left}.mq-math-mode .mq-supsub .mq-binary-operator{padding:0 .1em}.mq-math-mode .mq-supsub .mq-fraction{font-size:70%}.mq-math-mode sup.mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-0.6em;margin-left:.2em;min-width:.5em}.mq-math-mode .mq-paren{padding:0 .1em;vertical-align:top;transform-origin:center .06em}.mq-math-mode .mq-paren.mq-ghost{color:silver}.mq-math-mode .mq-paren+span{margin-top:.1em;margin-bottom:.1em}.mq-math-mode .mq-array{vertical-align:middle;text-align:center}.mq-math-mode .mq-array>span{display:block}.mq-math-mode .mq-operator-name{font-family:Symbola,\"Times New Roman\",serif;line-height:.9;font-style:normal}.mq-math-mode var.mq-operator-name.mq-first{padding-left:.2em}.mq-math-mode var.mq-operator-name.mq-last,.mq-math-mode .mq-supsub.mq-after-operator-name{padding-right:.2em}.mq-math-mode .mq-fraction{font-size:90%;text-align:center;vertical-align:-0.4em;padding:0 .2em}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link{display:-moz-groupbox}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link,.mq-math-mode x:default{display:inline-block}.mq-math-mode .mq-numerator,.mq-math-mode .mq-denominator,.mq-math-mode .mq-dot-recurring{display:block}.mq-math-mode .mq-numerator{padding:0 .1em}.mq-math-mode .mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.mq-math-mode .mq-dot-recurring{text-align:center;height:.3em}.mq-math-mode .mq-sqrt-prefix{padding-top:0;position:relative;top:.1em;vertical-align:top;transform-origin:top}.mq-math-mode .mq-sqrt-stem{border-top:1px solid;margin-top:1px;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.mq-math-mode .mq-diacritic-above{display:block;text-align:center;line-height:.4em}.mq-math-mode .mq-diacritic-stem{display:block;text-align:center}.mq-math-mode .mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-0.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.mq-math-mode .mq-hat-stem{display:block}.mq-math-mode .mq-large-operator{vertical-align:-0.2em;padding:.2em;text-align:center}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator big,.mq-math-mode .mq-large-operator .mq-to{display:block}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator .mq-to{font-size:80%}.mq-math-mode .mq-large-operator .mq-from{float:right;width:100%}.mq-math-mode,.mq-math-mode .mq-editable-field{cursor:text;font-family:Symbola,\"Times New Roman\",serif}.mq-math-mode .mq-overarc{border-top:1px solid #000;border-top-right-radius:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.mq-math-mode .mq-overarrow{min-width:.5em;border-top:1px solid #000;margin-top:1px;padding-top:.2em;text-align:center}.mq-math-mode .mq-overarrow:before{display:block;position:relative;top:-0.34em;font-size:.5em;line-height:0em;content:\"➤\";text-align:right}.mq-math-mode .mq-overarrow.mq-arrow-left:before{transform:scaleX(-1);filter:FlipH;-ms-filter:\"FlipH\"}.mq-math-mode .mq-overarrow.mq-arrow-both{vertical-align:text-bottom}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty{min-height:1.23em}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after{top:-0.34em}.mq-math-mode .mq-overarrow.mq-arrow-both:before{transform:scaleX(-1);filter:FlipH;-ms-filter:\"FlipH\"}.mq-math-mode .mq-overarrow.mq-arrow-both:after{display:block;position:relative;top:-2.3em;font-size:.5em;line-height:0em;content:\"➤\";visibility:visible;text-align:right}.mq-math-mode .mq-matrix{vertical-align:middle;margin-left:.1em;margin-right:.1em}.mq-math-mode .mq-matrix table{width:auto;border-bottom:none;border-spacing:3px;border-collapse:separate}.mq-math-mode .mq-matrix table.mq-rows-1{vertical-align:middle;margin-bottom:1px}.mq-math-mode .mq-matrix td{border:none;width:auto;padding:.1em .3em;vertical-align:baseline}.mq-math-mode .mq-selection,.mq-editable-field .mq-selection,.mq-math-mode .mq-selection .mq-non-leaf,.mq-editable-field .mq-selection .mq-non-leaf,.mq-math-mode .mq-selection .mq-scaled,.mq-editable-field .mq-selection .mq-scaled{background:#b4d5fe !important;background:Highlight !important;color:HighlightText;border-color:HighlightText}.mq-math-mode .mq-selection .mq-matrixed,.mq-editable-field .mq-selection .mq-matrixed{background:#39f !important}.mq-math-mode .mq-selection .mq-matrixed-container,.mq-editable-field .mq-selection .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color=\"#3399FF\") !important}.mq-math-mode .mq-selection.mq-blur,.mq-editable-field .mq-selection.mq-blur,.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,.mq-math-mode .mq-selection.mq-blur .mq-scaled,.mq-editable-field .mq-selection.mq-blur .mq-scaled,.mq-math-mode .mq-selection.mq-blur .mq-matrixed,.mq-editable-field .mq-selection.mq-blur .mq-matrixed{background:#d4d4d4 !important;color:#000;border-color:#000}.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color=\"#D4D4D4\") !important}.mq-editable-field .mq-textarea,.mq-math-mode .mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.mq-editable-field .mq-textarea *,.mq-math-mode .mq-textarea *,.mq-editable-field .mq-selectable,.mq-math-mode .mq-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.mq-math-mode .mq-matrixed{background:#fff;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color=\"white\");margin-top:-0.1em}table.mq-non-leaf td[mathquill-block-id]{padding:4px 8px;text-align:center}.mq-math-mode sup.mq-nthroot{font-size:75%;vertical-align:.4em}.mq-root-block{padding:5px}.mq-root-block,.mq-math-mode .mq-root-block{padding:5px}.mq-math-mode .mq-supsub.mq-sup-only>.mq-sup{font-size:90%}.mq-nthroot.mq-non-leaf{padding:8px 0 !important}div[data-pygen] span.mq-editable-field{min-width:250px}div[data-pygen] .pygen-cloze span.mq-editable-field{min-width:initial}div[data-pygen] .pw-me-editorinput{margin-bottom:40px}div.pw-me-tabmenu .mq-supsub.mq-non-leaf.mq-sup-only{vertical-align:super !important}';\nstyle.id = 'mqwidgets_css';\ndocument.getElementsByTagName('head')[0].appendChild(style);\n/**\n * MathQuill v0.10.1, by Han, Jeanine, and Mary\n * http://mathquill.com | maintainers@mathquill.com\n *\n * This Source Code Form is subject to the terms of the\n * Mozilla Public License, v. 2.0. If a copy of the MPL\n * was not distributed with this file, You can obtain\n * one at http://mozilla.org/MPL/2.0/.\n */\n!function(){function t(){}function e(t){var e=t.length-1;return function(){var n=g.call(arguments,0,e),i=g.call(arguments,e);return t.apply(this,n.concat([i]))}}function n(t){return e(function(e,n){\"function\"!=typeof e&&(e=b(e));var i=function(t){return e.apply(t,[t].concat(n))};return t.call(this,i)})}function i(t){var e=g.call(arguments,1);return function(){return t.apply(this,e)}}function s(t,e){if(!e)throw new Error(\"prayer failed: \"+t)}function r(t){s(\"a direction was passed\",t===w||t===q)}function o(t,e,n){s(\"a parent is always present\",t),s(\"leftward is properly set up\",function(){return e?e[q]===n&&e.parent===t:t.ends[w]===n}()),s(\"rightward is properly set up\",function(){return n?n[w]===e&&n.parent===t:t.ends[q]===e}())}function a(){window.console&&console.warn('You are using the MathQuill API without specifying an interface version, which will fail in v1.0.0. Easiest fix is to do the following before doing anything else:\\n\\n MathQuill = MathQuill.getInterface(1);\\n // now MathQuill.MathField() works like it used to\\n\\nSee also the \"`dev` branch (2014–2015) → v0.10.0 Migration Guide\" at\\n https://github.com/mathquill/mathquill/wiki/%60dev%60-branch-(2014%E2%80%932015)-%E2%86%92-v0.10.0-Migration-Guide')}function l(t){return a(),zt(t)}function c(e){function n(t){var e,n;return t&&t.nodeType?(e=x(t).children(\".mq-root-block\").attr(Ft),n=e&&O.byId[e].controller,n?s[n.KIND_OF_MQ](n):null):null}function i(t,e){var n,i,r;e&&e.handlers&&(e.handlers={fns:e.handlers,APIClasses:s});for(n in e)e.hasOwnProperty(n)&&(i=e[n],r=E[n],t[n]=r?r(i):i)}var s,r,o;if(!(R<=e&&e<=z))throw\"Only interface versions between \"+R+\" and \"+z+\" supported. You specified: \"+e;s={},n.L=w,n.R=q,n.saneKeyboardEvents=M,n.config=function(t){return i(D.p,t),this},n.registerEmbed=function(t,e){if(!/^[a-z][a-z0-9]*$/i.test(t))throw\"Embed name must start with letter and be only letters and digits\";A[t]=e},r=s.AbstractMathQuill=v(L,function(t){t.init=function(t){this.__controller=t,this.__options=t.options,this.id=t.id,this.data=t.data},t.__mathquillify=function(t){var e,n=this.__controller,i=n.root,s=n.container;n.createTextarea(),e=s.addClass(t).contents().detach(),i.jQ=x('').attr(Ft,i.id).appendTo(s),this.latex(e.text()),this.revert=function(){return s.empty().unbind(\".mathquill\").removeClass(\"mq-editable-field mq-math-mode mq-text-mode\").append(e)}},t.config=function(t){return i(this.__options,t),this},t.el=function(){return this.__controller.container[0]},t.text=function(){return this.__controller.exportText()},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexMath(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()},t.html=function(){return this.__controller.root.jQ.html().replace(/ mathquill-(?:command|block)-id=\"?\\d+\"?/g,\"\").replace(/.?<\\/span>/i,\"\").replace(/ mq-hasCursor|mq-hasCursor ?/,\"\").replace(/ class=(\"\"|(?= |>))/g,\"\")},t.reflow=function(){return this.__controller.root.postOrder(\"reflow\"),this}}),n.prototype=r.prototype,s.EditableField=v(r,function(e,n){e.__mathquillify=function(){return n.__mathquillify.apply(this,arguments),this.__controller.editable=!0,this.__controller.delegateMouseEvents(),this.__controller.editablesTextareaEvents(),this},e.focus=function(){return this.__controller.textarea.focus(),this},e.blur=function(){return this.__controller.textarea.blur(),this},e.write=function(t){return this.__controller.writeLatex(t),this.__controller.scrollHoriz(),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this},e.empty=function(){var t=this.__controller.root,e=this.__controller.cursor;return t.eachChild(\"postOrder\",\"dispose\"),t.ends[w]=t.ends[q]=0,t.jQ.empty(),delete e.selection,e.insAtRightEnd(t),this},e.cmd=function(t){var e,n=this.__controller.notify(),i=n.cursor;return/^\\\\[a-z]+$/i.test(t)?(t=t.slice(1),(e=j[t]||bt[t])&&(t=e(t),i.selection&&t.replaces(i.replaceSelection()),t.createLeftOf(i.show()),this.__controller.scrollHoriz())):i.parent.write(i,t),n.blurred&&i.hide().parent.blur(),this},e.select=function(){var t=this.__controller;for(t.notify(\"move\").cursor.insAtRightEnd(t.root);t.cursor[w];)t.selectLeft();return this},e.clearSelection=function(){return this.__controller.cursor.clearSelection(),this},e.moveToDirEnd=function(t){return this.__controller.notify(\"move\").cursor.insAtDirEnd(t,this.__controller.root),this},e.moveToLeftEnd=function(){return this.moveToDirEnd(w)},e.moveToRightEnd=function(){return this.moveToDirEnd(q)},e.keystroke=function(e){var n;for(e=e.replace(/^\\s+|\\s+$/g,\"\").split(/\\s+/),n=0;n&0\"})}function f(t){var e=this.parent,n=t;do{if(n[q])return t.insLeftOf(e);n=n.parent.parent}while(n!==e);t.insRightOf(e)}function p(t,e){t.jQadd=function(){e.jQadd.apply(this,arguments),this.delimjQs=this.jQ.children(\":first\").add(this.jQ.children(\":last\")),this.contentjQ=this.jQ.children(\":eq(1)\")},t.reflow=function(){var t=this.contentjQ.outerHeight()/parseFloat(this.contentjQ.css(\"fontSize\"));Z(this.delimjQs,$t(1+.2*(t-1),1.2),1.2*t)}}function d(t,e){var e=e||t,n=dt[t],s=dt[e];Q[t]=i(pt,w,t,n,e,s),Q[n]=i(pt,q,t,n,e,s)}var m,g,b,v,w,q,x,y,O,k,j,Q,T,C,S,_,D,E,L,A,R,z,I,M,B,F,$,P,N,W,U,V,H,G,K,Y,X,Z,J,tt,et,nt,it,st,rt,ot,at,lt,ct,ht,ut,ft,pt,dt,mt,gt,bt,vt,wt,qt,xt,yt,Ot,kt,jt,Qt,Tt,Ct,St,_t,Dt,Et,Lt,At,Rt,zt,It,Mt=window.jQuery,Bt=\"mathquill-command-id\",Ft=\"mathquill-block-id\",$t=Math.min,Pt=Math.max;if(!Mt)throw\"MathQuill requires jQuery 1.5.2+ to be loaded first\";g=[].slice,b=e(function(t,n){return e(function(e,i){if(t in e)return e[t].apply(e,n.concat(i))})}),v=function(t,e,n){function i(t){return\"object\"==typeof t}function s(t){return\"function\"==typeof t}function r(){}return function t(n,o){function a(){var t=new l;return s(t.init)&&t.init.apply(t,arguments),t}function l(){}var c,h,u;return void 0===o&&(o=n,n=Object),a.Bare=l,c=r.prototype=n.prototype,h=l.prototype=a.prototype=a.p=new r,h.constructor=a,a.extend=function(e){return t(a,e)},(a.open=function(t){if(u={},s(t)?u=t.call(a,h,c,a,n):i(t)&&(u=t),i(u))for(var r in u)e.call(u,r)&&(h[r]=u[r]);return s(h.init)||(h.init=n),a})(o)}}(0,{}.hasOwnProperty),w=-1,q=1,x=v(Mt,function(t){t.insDirOf=function(t,e){return t===w?this.insertBefore(e.first()):this.insertAfter(e.last())},t.insAtDirEnd=function(t,e){return t===w?this.prependTo(e):this.appendTo(e)}}),y=v(function(t){t.parent=0,t[w]=0,t[q]=0,t.init=function(t,e,n){this.parent=t,this[w]=e,this[q]=n},this.copy=function(t){return y(t.parent,t[w],t[q])}}),O=v(function(t){function e(){return i+=1}t[w]=0,t[q]=0,t.parent=0;var i=0;this.byId={},t.init=function(){this.id=e(),O.byId[this.id]=this,this.ends={},this.ends[w]=0,this.ends[q]=0},t.dispose=function(){delete O.byId[this.id]},t.toString=function(){return\"{{ MathQuill Node #\"+this.id+\" }}\"},t.jQ=x(),t.jQadd=function(t){return this.jQ=this.jQ.add(t)},t.jQize=function(t){function e(t){var n,i;for(t.getAttribute&&(n=t.getAttribute(\"mathquill-command-id\"),i=t.getAttribute(\"mathquill-block-id\"),n&&O.byId[n].jQadd(t),i&&O.byId[i].jQadd(t)),t=t.firstChild;t;t=t.nextSibling)e(t)}var n;for(t=x(t||this.html()),n=0;n');this.blink=function(){n.toggleClass(\"mq-blink\")},this.upDownCache={}},t.show=function(){return this.jQ=this._jQ.removeClass(\"mq-blink\"),\"intervalId\"in this?clearInterval(this.intervalId):(this[q]?this.selection&&this.selection.ends[w][w]===this[w]?this.jQ.insertBefore(this.selection.jQ):this.jQ.insertBefore(this[q].jQ.first()):this.jQ.appendTo(this.parent.jQ),this.parent.focus()),this.intervalId=setInterval(this.blink,500),this},t.hide=function(){return\"intervalId\"in this&&clearInterval(this.intervalId),delete this.intervalId,this.jQ.detach(),this.jQ=x(),this},t.withDirInsertAt=function(t,e,n,i){var s=this.parent;this.parent=e,this[t]=n,this[-t]=i,s!==e&&s.blur&&s.blur(this)},t.insDirOf=function(t,e){return r(t),this.jQ.insDirOf(t,e.jQ),this.withDirInsertAt(t,e.parent,e[t],e),this.parent.jQ.addClass(\"mq-hasCursor\"),this},t.insLeftOf=function(t){return this.insDirOf(w,t)},t.insRightOf=function(t){return this.insDirOf(q,t)},t.insAtDirEnd=function(t,e){return r(t),this.jQ.insAtDirEnd(t,e.jQ),this.withDirInsertAt(t,e,0,e.ends[t]),e.focus(),this},t.insAtLeftEnd=function(t){return this.insAtDirEnd(w,t)},t.insAtRightEnd=function(t){return this.insAtDirEnd(q,t)},t.jumpUpDown=function(t,e){var n,i,s=this;s.upDownCache[t.id]=y.copy(s),n=s.upDownCache[e.id],n?n[q]?s.insLeftOf(n[q]):s.insAtRightEnd(n.parent):(i=s.offset().left,e.seek(i,s))},t.offset=function(){var t=this,e=t.jQ.removeClass(\"mq-cursor\").offset();return t.jQ.addClass(\"mq-cursor\"),e},t.unwrapGramp=function(){var t=this.parent.parent,e=t.parent,n=t[q],i=this,s=t[w];if(t.disown().eachChild(function(i){i.isEmpty()||(i.children().adopt(e,s,n).each(function(e){e.jQ.insertBefore(t.jQ.first())}),s=i.ends[q])}),!this[q])if(this[w])this[q]=this[w][q];else for(;!this[q];){if(this.parent=this.parent[q],!this.parent){this[q]=t[q],this.parent=e;break}this[q]=this.parent.ends[w]}this[q]?this.insLeftOf(this[q]):this.insAtRightEnd(e),t.jQ.remove(),t[w].siblingDeleted&&t[w].siblingDeleted(i.options,q),t[q].siblingDeleted&&t[q].siblingDeleted(i.options,w)},t.startSelection=function(){var t,e=this.anticursor=y.copy(this),n=e.ancestors={};for(t=e;t.parent;t=t.parent)n[t.parent.id]=t},t.endSelection=function(){delete this.anticursor},t.select=function(){var t,e,n,i,r,o,a,l=this.anticursor;if(this[w]===l[w]&&this.parent===l.parent)return!1;for(t=this;t.parent;t=t.parent)if(t.parent.id in l.ancestors){e=t.parent;break}if(s(\"cursor and anticursor in the same tree\",e),n=l.ancestors[e.id],o=q,t[w]!==n)for(a=t;a;a=a[q])if(a[q]===n[q]){o=w,i=t,r=n;break}return o===q&&(i=n,r=t),i instanceof y&&(i=i[q]),r instanceof y&&(r=r[w]),this.hide().selection=e.selectChildren(i,r),this.insDirOf(o,this.selection.ends[o]),this.selectionChanged(),!0},t.clearSelection=function(){return this.selection&&(this.selection.clear(),delete this.selection,this.selectionChanged()),this},t.deleteSelection=function(){this.selection&&(this[w]=this.selection.ends[w][w],this[q]=this.selection.ends[q][q],this.selection.remove(),this.selectionChanged(),delete this.selection)},t.replaceSelection=function(){var t=this.selection;return t&&(this[w]=t.ends[w][w],this[q]=t.ends[q][q],delete this.selection),t}}),C=v(k,function(t,e){t.init=function(){e.init.apply(this,arguments),this.jQ=this.jQ.wrapAll('').parent()},t.adopt=function(){return this.jQ.replaceWith(this.jQ=this.jQ.children()),e.adopt.apply(this,arguments)},t.clear=function(){return this.jQ.replaceWith(this.jQ[0].childNodes),this},t.join=function(t){return this.fold(\"\",function(e,n){return e+n[t]()})}}),S=v(function(t){t.init=function(t,e,n){this.id=t.id,this.data={},this.root=t,this.container=e,this.options=n,t.controller=this,this.cursor=t.cursor=T(t,n)},t.handle=function(t,e){var n,i=this.options.handlers;i&&i.fns[t]&&(n=i.APIClasses[this.KIND_OF_MQ](this),e===w||e===q?i.fns[t](e,n):i.fns[t](n))};var e=[];this.onNotify=function(t){e.push(t)},t.notify=function(){for(var t=0;t\")[0]},t.createTextarea=function(){var t,e=this.textareaSpan=x(''),n=this.options.substituteTextarea();if(!n.nodeType)throw\"substituteTextarea() must return a DOM element, got \"+n;n=this.textarea=x(n).appendTo(e),t=this,t.cursor.selectionChanged=function(){t.selectionChanged()}},t.selectionChanged=function(){var t=this;J(t.container[0]),t.textareaSelectionTimeout===m&&(t.textareaSelectionTimeout=setTimeout(function(){t.setTextareaSelection()}))},t.setTextareaSelection=function(){this.textareaSelectionTimeout=m;var t=\"\";this.cursor.selection&&(t=this.cursor.selection.join(\"latex\"),this.options.statelessClipboard&&(t=\"$\"+t+\"$\")),this.selectFn(t)},t.staticMathTextareaEvents=function(){function t(){s.detach(),e.blurred=!0}var e=this,n=(e.root,e.cursor),i=e.textarea,s=e.textareaSpan;this.container.prepend(Mt('').text(\"$\"+e.exportLatex()+\"$\")),e.blurred=!0,i.bind(\"cut paste\",!1).bind(\"copy\",function(){e.setTextareaSelection()}).focus(function(){e.blurred=!1}).blur(function(){n.selection&&n.selection.clear(),setTimeout(t)}),e.selectFn=function(t){i.val(t),t&&i.select()}},D.p.substituteKeyboardEvents=M,t.editablesTextareaEvents=function(){var t=this,e=t.textarea,n=t.textareaSpan,i=this.options.substituteKeyboardEvents(e,this);this.selectFn=function(t){i.select(t)},this.container.prepend(n),this.focusBlurEvents()},t.typedText=function(t){if(\"\\n\"===t)return this.handle(\"enter\");var e=this.notify().cursor;e.parent.write(e,t),this.scrollHoriz()},t.cut=function(){var t=this,e=t.cursor;e.selection&&setTimeout(function(){t.notify(\"edit\"),e.parent.bubble(\"reflow\")})},t.copy=function(){this.setTextareaSelection()},t.paste=function(t){this.options.statelessClipboard&&(t=\"$\"===t.slice(0,1)&&\"$\"===t.slice(-1)?t.slice(1,-1):\"\\\\text{\"+t+\"}\"),this.writeLatex(t).cursor.show()}}),S.open(function(e){D.p.ignoreNextMousedown=t,e.delegateMouseEvents=function(){var e=this.root.jQ;this.container.bind(\"mousedown.mathquill\",function(n){function i(t){o=x(t.target)}function s(t){h.anticursor||h.startSelection(),c.seek(o,t.pageX,t.pageY).cursor.select(),o=m}function r(t){h.blink=u,h.selection||(c.editable?h.show():f.detach()),a.unbind(\"mousemove\",i),x(t.target.ownerDocument).unbind(\"mousemove\",s).unbind(\"mouseup\",r)}var o,a=x(n.target).closest(\".mq-root-block\"),l=O.byId[a.attr(Ft)||e.attr(Ft)],c=l.controller,h=c.cursor,u=h.blink,f=c.textareaSpan,p=c.textarea;n.preventDefault(),n.target.unselectable=!0,h.options.ignoreNextMousedown(n)||(h.options.ignoreNextMousedown=t,c.blurred&&(c.editable||a.prepend(f),p.focus()),h.blink=t,c.seek(x(n.target),n.pageX,n.pageY).cursor.startSelection(),a.mousemove(i),x(n.target.ownerDocument).mousemove(s).mouseup(r))})}}),S.open(function(t){t.seek=function(t,e,n){var i,r,o,a=this.notify(\"select\").cursor;return t&&((i=t.attr(Ft)||t.attr(Bt))||(r=t.parent(),i=r.attr(Ft)||r.attr(Bt))),o=i?O.byId[i]:this.root,s(\"nodeId is the id of some Node that exists\",o),a.clearSelection().show(),o.seek(e,a),this.scrollHoriz(),this}}),S.open(function(t){t.scrollHoriz=function(){var t,e,n,i,s,r=this.cursor,o=r.selection,a=this.root.jQ[0].getBoundingClientRect();if(o)if(n=o.jQ[0].getBoundingClientRect(),i=n.left-(a.left+20),s=n.right-(a.right-20),o.ends[w]===r[q])if(i<0)e=i;else{if(!(s>0))return;e=n.left-s0)e=s;else{if(!(i<0))return;e=n.right-i>a.right-20?s:i}else if((t=r.jQ[0].getBoundingClientRect().left)>a.right-20)e=t-(a.right-20);else{if(!(tr[q]?e.insRightOf(s):(i=r[w],void s.eachChild(function(o){var a=n(o);return ta[q]?void(o[q]?i=a[q]:r[q]-t]+>|[^<>]+/g);for(s(\"no unmatched angle brackets\",a.join(\"\")===this.htmlTemplate),t=0,e=a[0];e;t+=1,e=a[t])if(\"/>\"===e.slice(-2))a[t]=e.slice(0,-2)+o+\"/>\";else if(\"<\"===e.charAt(0)){s(\"not an unmatched top-level close tag\",\"/\"!==e.charAt(1)),a[t]=e.slice(0,-1)+o+\">\",n=1;do{t+=1,e=a[t],s(\"no missing close tags\",e),\"\"!==e.slice(-2)&&(n+=1)}while(n>0)}return a.join(\"\").replace(/>&(\\d+)/g,function(t,e){return\" mathquill-block-id=\"+r[e].id+\">\"+r[e].join(\"html\")})},t.latex=function(){return this.foldChildren(this.ctrlSeq,function(t,e){return t+\"{\"+(e.latex()||\" \")+\"}\"})},t.textTemplate=[\"\"],t.text=function(){var t=this,e=0;return t.foldChildren(t.textTemplate[e],function(n,i){e+=1;var s=i.text();return n&&\"(\"===t.textTemplate[e]&&\"(\"===s[0]&&\")\"===s.slice(-1)?n+s.slice(1,-1)+t.textTemplate[e]:n+i.text()+(t.textTemplate[e]||\"\")})}}),N=v(P,function(e,n){e.init=function(t,e,i){i||(i=t&&t.length>1?t.slice(1):t),n.init.call(this,t,e,[i])},e.parser=function(){return B.succeed(this)},e.numBlocks=function(){return 0},e.replaces=function(t){t.remove()},e.createBlocks=t,e.moveTowards=function(t,e){e.jQ.insDirOf(t,this.jQ),e[-t]=this,e[t]=this[t]},e.deleteTowards=function(t,e){e[t]=this.remove()[t]},e.seek=function(t,e){t-this.jQ.offset().left\"+(n||t)+\"\")}}),U=v(N,function(t,e){t.init=function(t,n,i){e.init.call(this,t,''+n+\"\",i)}}),V=v($,function(t,e){t.join=function(t){return this.foldChildren(\"\",function(e,n){return e+n[t]()})},t.html=function(){return this.join(\"html\")},t.latex=function(){return this.join(\"latex\")},t.text=function(){return this.ends[w]===this.ends[q]&&0!==this.ends[w]?this.ends[w].text():this.join(\"text\")},t.keystroke=function(t,n,i){return!i.options.spaceBehavesLikeTab||\"Spacebar\"!==t&&\"Shift-Spacebar\"!==t?e.keystroke.apply(this,arguments):(n.preventDefault(),void i.escapeDir(\"Shift-Spacebar\"===t?w:q,t,n))},t.moveOutOf=function(t,e,n){n&&this.parent[n+\"Into\"]||!this[t]?e.insDirOf(t,this.parent):e.insAtDirEnd(-t,this[t])},t.selectOutOf=function(t,e){e.insDirOf(t,this.parent)},t.deleteOutOf=function(t,e){e.unwrapGramp()},t.seek=function(t,e){var n=this.ends[q];if(!n||n.jQ.offset().left+n.jQ.outerWidth()0&&this.__controller.root.postOrder(\"registerInnerField\",this.innerFields=[],t.MathField),e}})},H=v(V,h),_.MathField=function(e){return v(e.EditableField,function(e,n){this.RootBlock=H,e.__mathquillify=function(e,i){return this.config(e),i>1&&(this.__controller.root.reflow=t),n.__mathquillify.call(this,\"mq-editable-field mq-math-mode\"),delete this.__controller.root.reflow,this}})},G=v(O,function(t,e){function n(t){var e,n;if(t.jQ[0].normalize(),e=t.jQ[0].firstChild)return s(\"only node in TextBlock span is Text node\",3===e.nodeType),n=K(e.data),n.jQadd(e),t.children().disown(),n.adopt(t,0,0)}t.ctrlSeq=\"\\\\text\",t.replaces=function(t){t instanceof k?this.replacedText=t.remove().jQ.text():\"string\"==typeof t&&(this.replacedText=t)},t.jQadd=function(t){e.jQadd.call(this,t),this.ends[w]&&this.ends[w].jQadd(this.jQ[0].firstChild)},t.createLeftOf=function(t){var n,i=this;if(e.createLeftOf.call(this,t),i[q].siblingCreated&&i[q].siblingCreated(t.options,w),i[w].siblingCreated&&i[w].siblingCreated(t.options,q),i.bubble(\"reflow\"),t.insAtRightEnd(i),i.replacedText)for(n=0;n&0',t.createBlocks=function(){e.createBlocks.call(this),this.ends[w].cursor=this.cursor,this.ends[w].write=function(t,e){\"$\"!==e?V.prototype.write.call(this,t,e):this.isEmpty()?(t.insRightOf(this.parent),this.parent.deleteTowards(dir,t),W(\"\\\\$\",\"$\").createLeftOf(t.show())):t[q]?t[w]?V.prototype.write.call(this,t,e):t.insLeftOf(this.parent):t.insRightOf(this.parent)}},t.latex=function(){return\"$\"+this.ends[w].latex()+\"$\"}}),X=v(H,function(t,e){t.keystroke=function(t){if(\"Spacebar\"!==t&&\"Shift-Spacebar\"!==t)return e.keystroke.apply(this,arguments)},t.write=function(t,e){if(t.show().deleteSelection(),\"$\"===e)Y(t).createLeftOf(t);else{var n;\"<\"===e?n=\"<\":\">\"===e&&(n=\">\"),W(e,n).createLeftOf(t)}}}),_.TextField=function(t){return v(t.EditableField,function(t,e){this.RootBlock=X,t.__mathquillify=function(){return e.__mathquillify.call(this,\"mq-editable-field mq-text-mode\")},t.latex=function(t){return arguments.length>0?(this.__controller.renderLatexText(t),this.__controller.blurred&&this.__controller.cursor.hide().parent.blur(),this):this.__controller.exportLatex()}})},Q[\"\\\\\"]=v(P,function(t,e){t.ctrlSeq=\"\\\\\",t.replaces=function(t){this._replacedFragment=t.disown(),this.isEmpty=function(){return!1}},t.htmlTemplate='\\\\&0',t.textTemplate=[\"\\\\\"],t.createBlocks=function(){e.createBlocks.call(this),this.ends[w].focus=function(){return this.parent.jQ.addClass(\"mq-hasCursor\"),this.isEmpty()&&this.parent.jQ.removeClass(\"mq-empty\"),this},this.ends[w].blur=function(){return this.parent.jQ.removeClass(\"mq-hasCursor\"),this.isEmpty()&&this.parent.jQ.addClass(\"mq-empty\"),this},this.ends[w].write=function(t,e){t.show().deleteSelection(),e.match(/[a-z]/i)?W(e).createLeftOf(t):(this.parent.renderCommand(t),\"\\\\\"===e&&this.isEmpty()||t.parent.write(t,e))},this.ends[w].keystroke=function(t,n,i){return\"Tab\"===t||\"Enter\"===t||\"Spacebar\"===t?(this.parent.renderCommand(i.cursor),void n.preventDefault()):e.keystroke.apply(this,arguments)}},t.createLeftOf=function(t){if(e.createLeftOf.call(this,t),this._replacedFragment){var n=this.jQ[0];this.jQ=this._replacedFragment.jQ.addClass(\"mq-blur\").bind(\"mousedown mousemove\",function(t){return x(t.target=n).trigger(t),!1}).insertBefore(this.jQ).add(this.jQ)}},t.latex=function(){return\"\\\\\"+this.ends[w].latex()+\" \"},t.renderCommand=function(t){var e,n;this.jQ=this.jQ.last(),this.remove(),this[q]?t.insLeftOf(this[q]):t.insAtRightEnd(this.parent),e=this.ends[w].latex(),e||(e=\" \"),n=j[e]||bt[e],n?(n=n(e),this._replacedFragment&&n.replaces(this._replacedFragment),n.createLeftOf(t)):(n=G(),n.replaces(e),n.createLeftOf(t),t.insRightOf(n),this._replacedFragment&&this._replacedFragment.remove())}}),J=t,tt=document.createElement(\"div\"),et=tt.style,nt={transform:1,WebkitTransform:1,MozTransform:1,OTransform:1,msTransform:1};for(st in nt)if(st in et){it=st;break}it?Z=function(t,e,n){t.css(it,\"scale(\"+e+\",\"+n+\")\")}:\"filter\"in et?(J=function(t){t.className=t.className},Z=function(t,e,n){function i(){t.css(\"marginRight\",(s.width()-1)*(e-1)/e+\"px\")}var s,r;e/=1+(n-1)/2,t.css(\"fontSize\",n+\"em\"),t.hasClass(\"mq-matrixed-container\")||t.addClass(\"mq-matrixed-container\").wrapInner(''),s=t.children().css(\"filter\",\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+e+\",SizingMethod='auto expand')\"),i(),r=setInterval(i),x(window).load(function(){clearTimeout(r),i()})}):Z=function(t,e,n){t.css(\"fontSize\",n+\"em\")},rt=v(P,function(t,e){t.init=function(t,n,i){e.init.call(this,t,\"<\"+n+\" \"+i+\">&0\")}}),j.mathrm=i(rt,\"\\\\mathrm\",\"span\",'class=\"mq-roman mq-font\"'),j.mathit=i(rt,\"\\\\mathit\",\"i\",'class=\"mq-font\"'),j.mathbf=i(rt,\"\\\\mathbf\",\"b\",'class=\"mq-font\"'),j.mathsf=i(rt,\"\\\\mathsf\",\"span\",'class=\"mq-sans-serif mq-font\"'),j.mathtt=i(rt,\"\\\\mathtt\",\"span\",'class=\"mq-monospace mq-font\"'),j.underline=i(rt,\"\\\\underline\",\"span\",'class=\"mq-non-leaf mq-underline\"'),j.overline=j.bar=i(rt,\"\\\\overline\",\"span\",'class=\"mq-non-leaf mq-overline\"'),j.overrightarrow=i(rt,\"\\\\overrightarrow\",\"span\",'class=\"mq-non-leaf mq-overarrow mq-arrow-right\"'),j.overleftarrow=i(rt,\"\\\\overleftarrow\",\"span\",'class=\"mq-non-leaf mq-overarrow mq-arrow-left\"'),j.overleftrightarrow=i(rt,\"\\\\overleftrightarrow\",\"span\",'class=\"mq-non-leaf mq-overarrow mq-arrow-both\"'),j.overarc=i(rt,\"\\\\overarc\",\"span\",'class=\"mq-non-leaf mq-overarc\"'),j.dot=v(P,function(t,e){t.init=function(){e.init.call(this,\"\\\\dot\",'˙&0')}}),j.textcolor=v(P,function(t,e){t.setColor=function(t){this.color=t,this.htmlTemplate='&0'},t.latex=function(){return\"\\\\textcolor{\"+this.color+\"}{\"+this.blocks[0].latex()+\"}\"},t.parser=function(){var t=this,n=B.optWhitespace,i=B.string,s=B.regex;return n.then(i(\"{\")).then(s(/^[#\\w\\s.,()%-]*/)).skip(i(\"}\")).then(function(n){return t.setColor(n),e.parser.call(t)})},t.isStyleBlock=function(){return!0}}),j.class=v(P,function(t,e){t.parser=function(){var t=this,n=B.string,i=B.regex;return B.optWhitespace.then(n(\"{\")).then(i(/^[-\\w\\s\\\\\\xA0-\\xFF]*/)).skip(n(\"}\")).then(function(n){return t.cls=n||\"\",t.htmlTemplate='&0',e.parser.call(t)})},t.latex=function(){return\"\\\\class{\"+this.cls+\"}{\"+this.blocks[0].latex()+\"}\"},t.isStyleBlock=function(){return!0}}),ot=v(P,function(t,e){t.ctrlSeq=\"_{...}^{...}\",t.createLeftOf=function(t){if(this.replacedFragment||t[w]||!t.options.supSubsRequireOperand)return e.createLeftOf.apply(this,arguments)},t.contactWeld=function(t){var e,n,i,s,r,o;for(e=w;e;e=e===w&&q)if(this[e]instanceof ot){for(n=\"sub\";n;n=\"sub\"===n&&\"sup\")i=this[n],s=this[e][n],i&&(s?i.isEmpty()?o=y(s,0,s.ends[w]):(i.jQ.children().insAtDirEnd(-e,s.jQ),r=i.children().disown(),o=y(s,r.ends[q],s.ends[w]),e===w?r.adopt(s,s.ends[q],0):r.adopt(s,0,s.ends[w])):this[e].addBlock(i.disown()),this.placeCursor=function(t,n){return function(i){i.insAtDirEnd(-e,t||n)}}(s,i));this.remove(),t&&t[w]===this&&(e===q&&o?o[w]?t.insRightOf(o[w]):t.insAtLeftEnd(o.parent):t.insRightOf(this[e]));break}},D.p.charsThatBreakOutOfSupSub=\"\",t.finalizeTree=function(){this.ends[w].write=function(t,e){if(t.options.autoSubscriptNumerals&&this===this.parent.sub){if(\"_\"===e)return;var n=this.chToCmd(e,t.options);return n instanceof N?t.deleteSelection():t.clearSelection().insRightOf(this.parent),n.createLeftOf(t.show())}t[w]&&!t[q]&&!t.selection&&t.options.charsThatBreakOutOfSupSub.indexOf(e)>-1&&t.insRightOf(this.parent),V.p.write.apply(this,arguments)}},t.moveTowards=function(t,n,i){n.options.autoSubscriptNumerals&&!this.sup?n.insDirOf(t,this):e.moveTowards.apply(this,arguments)},t.deleteTowards=function(t,n){if(n.options.autoSubscriptNumerals&&this.sub){var i=this.sub.ends[-t];i instanceof N?i.remove():i&&i.deleteTowards(t,n.insAtDirEnd(-t,this.sub)),this.sub.isEmpty()&&(this.sub.deleteOutOf(w,n.insAtLeftEnd(this.sub)),this.sup&&n.insDirOf(-t,this))}else e.deleteTowards.apply(this,arguments)},t.latex=function(){function t(t,e){var n=e&&e.latex();return e?t+(1===n.length?n:\"{\"+(n||\" \")+\"}\"):\"\"}return t(\"_\",this.sub)+t(\"^\",this.sup)},t.addBlock=function(t){\"sub\"===this.supsub?(this.sup=this.upInto=this.sub.upOutOf=t,t.adopt(this,this.sub,0).downOutOf=this.sub,t.jQ=x('').append(t.jQ.children()).attr(Ft,t.id).prependTo(this.jQ)):(this.sub=this.downInto=this.sup.downOutOf=t,t.adopt(this,0,this.sup).upOutOf=this.sup,t.jQ=x('').append(t.jQ.children()).attr(Ft,t.id).appendTo(this.jQ.removeClass(\"mq-sup-only\")),this.jQ.append(''));for(var e=0;e<2;e+=1)!function(t,e,n,i){t[e].deleteOutOf=function(s,r){if(r.insDirOf(this[s]?-s:s,this.parent),!this.isEmpty()){var o=this.ends[s];this.children().disown().withDirAdopt(s,r.parent,r[s],r[-s]).jQ.insDirOf(-s,r.jQ),r[-s]=o}t.supsub=n,delete t[e],delete t[i+\"Into\"],t[n][i+\"OutOf\"]=f,delete t[n].deleteOutOf,\"sub\"===e&&x(t.jQ.addClass(\"mq-sup-only\")[0].lastChild).remove(),this.remove()}}(this,\"sub sup\".split(\" \")[e],\"sup sub\".split(\" \")[e],\"down up\".split(\" \")[e])}}),j.subscript=j._=v(ot,function(t,e){t.supsub=\"sub\",t.htmlTemplate='&0',t.textTemplate=[\"_\"],t.finalizeTree=function(){this.downInto=this.sub=this.ends[w],this.sub.upOutOf=f,e.finalizeTree.call(this)}}),j.superscript=j.supscript=j[\"^\"]=v(ot,function(t,e){t.supsub=\"sup\",t.htmlTemplate='&0',t.textTemplate=[\"^\"],t.finalizeTree=function(){this.upInto=this.sup=this.ends[q],this.sup.downOutOf=f,e.finalizeTree.call(this)},t.reflow=function(){var t=this.jQ,e=t.prev().innerHeight();e*=.6,t.css(\"vertical-align\",e+\"px\")}}),at=v(P,function(t,e){t.init=function(t,e){var n='&1'+e+'&0';N.prototype.init.call(this,t,n)},t.createLeftOf=function(t){e.createLeftOf.apply(this,arguments),t.options.sumStartsWithNEquals&&(Ot(\"n\").createLeftOf(t),Rt().createLeftOf(t))},t.latex=function(){function t(t){return 1===t.length?t:\"{\"+(t||\" \")+\"}\"}return this.ctrlSeq+\"_\"+t(this.ends[w].latex())+\"^\"+t(this.ends[q].latex())},t.parser=function(){var t,e=B.string,n=B.optWhitespace,i=B.succeed,s=F.block,r=this,o=r.blocks=[V(),V()];for(t=0;t&1&0')},t.createLeftOf=P.p.createLeftOf}),lt=j.frac=j.dfrac=j.cfrac=j.fraction=v(P,function(t,e){t.ctrlSeq=\"\\\\frac\",t.htmlTemplate='&0&1',t.textTemplate=[\"(\",\")/(\",\")\"],t.finalizeTree=function(){this.upInto=this.ends[q].upOutOf=this.ends[w],this.downInto=this.ends[w].downOutOf=this.ends[q]}}),ct=j.over=Q[\"/\"]=v(lt,function(e,n){e.createLeftOf=function(e){if(!this.replacedFragment){for(var i=e[w];i&&!(i instanceof U||i instanceof(j.text||t)||i instanceof at||\"\\\\ \"===i.ctrlSeq||/^[,;:]$/.test(i.ctrlSeq));)i=i[w];i instanceof at&&i[q]instanceof ot&&(i=i[q],i[q]instanceof ot&&i[q].ctrlSeq!=i.ctrlSeq&&(i=i[q])),i!==e[w]&&(this.replaces(k(i[q]||e.parent.ends[w],e[w])),e[w]=i)}n.createLeftOf.call(this,e)}}),ht=j.sqrt=j[\"√\"]=v(P,function(t,e){t.ctrlSeq=\"\\\\sqrt\",t.htmlTemplate='&0',t.textTemplate=[\"sqrt(\",\")\"],t.parser=function(){return F.optBlock.then(function(t){return F.block.map(function(e){var n=ut();return n.blocks=[t,e],t.adopt(n,0,0),e.adopt(n,t,0),n})}).or(e.parser.call(this))},t.reflow=function(){var t=this.ends[q].jQ;Z(t.prev(),1,t.innerHeight()/+t.css(\"fontSize\").slice(0,-2)-.1)}}),j.hat=v(P,function(t,e){t.ctrlSeq=\"\\\\hat\",t.htmlTemplate='^&0',t.textTemplate=[\"hat(\",\")\"]}),ut=j.nthroot=v(ht,function(t,e){t.htmlTemplate='&0&1',t.textTemplate=[\"sqrt[\",\"](\",\")\"],t.latex=function(){return\"\\\\sqrt[\"+this.ends[w].latex()+\"]{\"+this.ends[q].latex()+\"}\"}}),ft=v(P,function(t,e){t.init=function(t,n,i){var s=''+n+'&0';e.init.call(this,t,s,i)}}),j.vec=i(ft,\"\\\\vec\",\"→\",[\"vec(\",\")\"]),j.tilde=i(ft,\"\\\\tilde\",\"~\",[\"tilde(\",\")\"]),pt=v(v(P,p),function(e,n){e.init=function(t,e,i,s,r){n.init.call(this,\"\\\\left\"+s,m,[e,i]),this.side=t,this.sides={},this.sides[w]={ch:e,ctrlSeq:s},this.sides[q]={ch:i,ctrlSeq:r}},e.numBlocks=function(){return 1},e.html=function(){return this.htmlTemplate=''+this.sides[w].ch+'&0'+this.sides[q].ch+\"\",n.html.call(this)},e.latex=function(){return\"\\\\left\"+this.sides[w].ctrlSeq+this.ends[w].latex()+\"\\\\right\"+this.sides[q].ctrlSeq},e.matchBrack=function(t,e,n){return n instanceof pt&&n.side&&n.side!==-e&&(!t.restrictMismatchedBrackets||dt[this.sides[this.side].ch]===n.sides[n.side].ch||{\"(\":\"]\",\"[\":\")\"}[this.sides[w].ch]===n.sides[q].ch)&&n},e.closeOpposing=function(t){t.side=0,t.sides[this.side]=this.sides[this.side],t.delimjQs.eq(this.side===w?0:1).removeClass(\"mq-ghost\").html(this.sides[this.side].ch)},e.createLeftOf=function(t){var e,i,s;this.replacedFragment||(e=t.options,i=\"|\"===this.sides[w].ch?this.matchBrack(e,q,t[q])||this.matchBrack(e,w,t[w])||this.matchBrack(e,0,t.parent.parent):this.matchBrack(e,-this.side,t[-this.side])||this.matchBrack(e,-this.side,t.parent.parent)),i?(s=this.side=-i.side,this.closeOpposing(i),i===t.parent.parent&&t[s]&&k(t[s],t.parent.ends[s],-s).disown().withDirAdopt(-s,i.parent,i,i[s]).jQ.insDirOf(s,i.jQ),i.bubble(\"reflow\")):(i=this,s=i.side,i.replacedFragment?i.side=0:t[-s]&&(i.replaces(k(t[-s],t.parent.ends[-s],s)),t[-s]=0),n.createLeftOf.call(i,t)),s===w?t.insAtLeftEnd(i.ends[w]):t.insRightOf(i)},e.placeCursor=t,e.unwrap=function(){this.ends[w].children().disown().adopt(this.parent,this,this[q]).jQ.insertAfter(this.jQ),this.remove()},e.deleteSide=function(t,e,n){var i,s,r,o=this.parent,a=this[t],l=o.ends[t];if(t===this.side)return this.unwrap(),void(a?n.insDirOf(-t,a):n.insAtDirEnd(t,o));if(i=n.options,s=!this.side,this.side=-t,this.matchBrack(i,t,this.ends[w].ends[this.side]))this.closeOpposing(this.ends[w].ends[this.side]),r=this.ends[w].ends[t],this.unwrap(),r.siblingCreated&&r.siblingCreated(n.options,t),a?n.insDirOf(-t,a):n.insAtDirEnd(t,o);else{if(this.matchBrack(i,t,this.parent.parent))this.parent.parent.closeOpposing(this),this.parent.parent.unwrap();else{if(e&&s)return this.unwrap(),void(a?n.insDirOf(-t,a):n.insAtDirEnd(t,o));this.sides[t]={ch:dt[this.sides[this.side].ch],ctrlSeq:dt[this.sides[this.side].ctrlSeq]},this.delimjQs.removeClass(\"mq-ghost\").eq(t===w?0:1).addClass(\"mq-ghost\").html(this.sides[t].ch)}a?(r=this.ends[w].ends[t],k(a,l,-t).disown().withDirAdopt(-t,this.ends[w],r,0).jQ.insAtDirEnd(t,this.ends[w].jQ.removeClass(\"mq-empty\")),r.siblingCreated&&r.siblingCreated(n.options,t),n.insDirOf(-t,a)):e?n.insDirOf(t,this):n.insAtDirEnd(t,this.ends[w])}},e.deleteTowards=function(t,e){this.deleteSide(-t,!1,e)},e.finalizeTree=function(){this.ends[w].deleteOutOf=function(t,e){this.parent.deleteSide(t,!0,e)},this.finalizeTree=this.intentionalBlur=function(){this.delimjQs.eq(this.side===w?1:0).removeClass(\"mq-ghost\"),this.side=0}},e.siblingCreated=function(t,e){e===-this.side&&this.finalizeTree()}}),dt={\"(\":\")\",\")\":\"(\",\"[\":\"]\",\"]\":\"[\",\"{\":\"}\",\"}\":\"{\",\"\\\\{\":\"\\\\}\",\"\\\\}\":\"\\\\{\",\"⟨\":\"⟩\",\"⟩\":\"⟨\",\"\\\\langle \":\"\\\\rangle \",\"\\\\rangle \":\"\\\\langle \",\"|\":\"|\",\"\\\\lVert \":\"\\\\rVert \",\"\\\\rVert \":\"\\\\lVert \"},d(\"(\"),d(\"[\"),d(\"{\",\"\\\\{\"),j.langle=i(pt,w,\"⟨\",\"⟩\",\"\\\\langle \",\"\\\\rangle \"),j.rangle=i(pt,q,\"⟨\",\"⟩\",\"\\\\langle \",\"\\\\rangle \"),Q[\"|\"]=i(pt,w,\"|\",\"|\",\"|\",\"|\"),j.lVert=i(pt,w,\"∥\",\"∥\",\"\\\\lVert \",\"\\\\rVert \"),j.rVert=i(pt,q,\"∥\",\"∥\",\"\\\\lVert \",\"\\\\rVert \"),j.left=v(P,function(t){t.parser=function(){var t=B.regex,e=B.string,n=(B.succeed,B.optWhitespace);return n.then(t(/^(?:[([|]|\\\\\\{|\\\\langle\\b|\\\\lVert\\b)/)).then(function(i){var s=\"\\\\\"===i.charAt(0)?i.slice(1):i;return\"\\\\langle\"==i&&(s=\"⟨\",i+=\" \"),\"\\\\lVert\"==i&&(s=\"∥\",i+=\" \"),F.then(function(r){return e(\"\\\\right\").skip(n).then(t(/^(?:[\\])|]|\\\\\\}|\\\\rangle\\b|\\\\rVert\\b)/)).map(function(t){var e,n=\"\\\\\"===t.charAt(0)?t.slice(1):t;return\"\\\\rangle\"==t&&(n=\"⟩\",t+=\" \"),\"\\\\rVert\"==t&&(n=\"∥\",t+=\" \"),e=pt(0,s,n,i,t),e.blocks=[r],r.adopt(e,0,0),e})})})}}),j.right=v(P,function(t){t.parser=function(){return B.fail(\"unmatched \\\\right\")}}),mt=j.binom=j.binomial=v(v(P,p),function(t,e){t.ctrlSeq=\"\\\\binom\",t.htmlTemplate='(&0&1)',t.textTemplate=[\"choose(\",\",\",\")\"]}),j.choose=v(mt,function(t){t.createLeftOf=ct.prototype.createLeftOf}),j.editable=j.MathQuillMathField=v(P,function(t,e){t.ctrlSeq=\"\\\\MathQuillMathField\",t.htmlTemplate='&0',t.parser=function(){var t=this,n=B.string,i=B.regex,s=B.succeed;return n(\"[\").then(i(/^[a-z][a-z0-9]*/i)).skip(n(\"]\")).map(function(e){t.name=e}).or(s()).then(e.parser.call(t))},t.finalizeTree=function(t){var e=S(this.ends[w],this.jQ,t);e.KIND_OF_MQ=\"MathField\",e.editable=!0,e.createTextarea(),e.editablesTextareaEvents(),e.cursor.insAtRightEnd(e.root),h(e.root)},t.registerInnerField=function(t,e){t.push(t[this.name]=e(this.ends[w].controller))},t.latex=function(){return this.ends[w].latex()},t.text=function(){return this.ends[w].text()}}),gt=j.embed=v(N,function(t,e){t.setOptions=function(t){function e(){return\"\"}return this.text=t.text||e,this.htmlTemplate=t.htmlString||\"\",this.latex=t.latex||e,this},t.parser=function(){var t=this,e=B.string,n=B.regex,i=B.succeed;return e(\"{\").then(n(/^[a-z][a-z0-9]*/i)).skip(e(\"}\")).then(function(s){return e(\"[\").then(n(/^[-\\w\\s]*/)).skip(e(\"]\")).or(i()).map(function(e){return t.setOptions(A[s](e))})})}}),bt={},j.begin=v(P,function(t,e){t.parser=function(){var t=B.string,e=B.regex;return t(\"{\").then(e(/^[a-z]+/i)).skip(t(\"}\")).then(function(e){return(bt[e]?bt[e]().parser():B.fail(\"unknown environment type: \"+e)).skip(t(\"\\\\end{\"+e+\"}\"))})}}),vt=v(P,function(t,e){t.template=[[\"\\\\begin{\",\"}\"],[\"\\\\end{\",\"}\"]],t.wrappers=function(){return[t.template[0].join(this.environment),t.template[1].join(this.environment)]}}),wt=bt.matrix=v(vt,function(t,e){var n={column:\"&\",row:\"\\\\\\\\\"};t.parentheses={left:null,right:null},t.environment=\"matrix\",t.reflow=function(){var t=this.jQ.children(\"table\"),e=t.outerHeight()/+t.css(\"fontSize\").slice(0,-2),n=this.jQ.children(\".mq-paren\");n.length&&Z(n,$t(1+.2*(e-1),1.2),1.05*e)},t.latex=function(){var t,e=\"\";return this.eachChild(function(i){void 0!==t&&(e+=t!==i.row?n.row:n.column),t=i.row,e+=i.latex()}),this.wrappers().join(e)},t.html=function(){function t(t){return t?''+t+\"\":\"\"}var n,i=[],s=\"\",r=0;return this.eachChild(function(t){n!==t.row&&(n=t.row,s+=\"$tds\",i[n]=[]),i[n].push(\"&\"+r+++\"\")}),this.htmlTemplate=''+t(this.parentheses.left)+''+s.replace(/\\$tds/g,function(){return i.shift().join(\"\")})+\"
\"+t(this.parentheses.right)+\"
\",e.html.call(this)},t.createBlocks=function(){this.blocks=[qt(0,this),qt(0,this),qt(1,this),qt(1,this)]},t.parser=function(){var t=this,e=B.optWhitespace,i=B.string;return e.then(i(n.column).or(i(n.row)).or(F.block)).many().skip(e).then(function(e){function i(){t.blocks.push(qt(o,t,r)),r=[]}var s,r=[],o=0;for(t.blocks=[],s=0;s-1&&(t[e].remove(),c.splice(c.indexOf(t[e]),1))}var i,s,r=[],o=[],a=[],l=[],c=this.blocks;this.eachChild(function(e){i!==e.row&&(i=e.row,r[i]=[],s=0),o[s]=o[s]||[],o[s].push(e),r[i].push(e),e===t&&(a=r[i],l=o[s]),s+=1}),e(a)&&l.length>1&&(i=r.indexOf(a),this.eachChild(function(t){t.row>i&&(t.row-=1)}),n(a),this.jQ.find(\"tr\").eq(i).remove()),e(l)&&a.length>1&&n(l),this.finalizeTree()},t.addRow=function(t){var e,n,i,s=[],r=[],o=[],a=x(\"\"),l=t.row,c=0;for(this.eachChild(function(e){e.row<=l&&s.push(e),e.row===l&&(e===t&&(n=c),c+=1),e.row>l&&(e.row+=1,o.push(e))}),i=0;i').attr(Ft,e.id).appendTo(a);return this.jQ.find(\"tr\").eq(l).after(a),this.blocks=s.concat(r,o),r[n]},t.addColumn=function(t){var e,n,i,s=[],r=[];for(this.eachChild(function(n){\ns[n.row]=s[n.row]||[],s[n.row].push(n),n===t&&(e=s[n.row].length)}),i=0;i').attr(Ft,n.id);return this.jQ.find(\"tr\").each(function(t){x(this).find(\"td\").eq(e-1).after(s[t][e].jQ)}),this.blocks=[].concat.apply([],s),r[t.row]},t.insert=function(t,e){var n=this[t](e);this.cursor=this.cursor||this.parent.cursor,this.finalizeTree(),this.bubble(\"reflow\").cursor.insAtRightEnd(n)},t.backspace=function(t,e,n,i){var s=t[e];if(t.isEmpty()){for(this.deleteCell(t);s&&s[e]&&-1===this.blocks.indexOf(s);)s=s[e];s&&n.insAtDirEnd(-e,s),1===this.blocks.length&&this.blocks[0].isEmpty()&&(i(),this.finalizeTree()),this.bubble(\"edited\")}}}),bt.pmatrix=v(wt,function(t,e){t.environment=\"pmatrix\",t.parentheses={left:\"(\",right:\")\"}}),bt.bmatrix=v(wt,function(t,e){t.environment=\"bmatrix\",t.parentheses={left:\"[\",right:\"]\"}}),bt.Bmatrix=v(wt,function(t,e){t.environment=\"Bmatrix\",t.parentheses={left:\"{\",right:\"}\"}}),bt.vmatrix=v(wt,function(t,e){t.environment=\"vmatrix\",t.parentheses={left:\"|\",right:\"|\"}}),bt.Vmatrix=v(wt,function(t,e){t.environment=\"Vmatrix\",t.parentheses={left:\"‖\",right:\"‖\"}}),qt=v(V,function(t,e){t.init=function(t,n,i){if(e.init.call(this),this.row=t,n&&this.adopt(n,n.ends[q],0),i)for(var s=0;s\"+(n||t)+\"\")},t.text=function(){var t=this.ctrlSeq;return this.isPartOfOperator?\"\\\\\"==t[0]?t=t.slice(1,t.length):\" \"==t[t.length-1]&&(t=t.slice(0,-1)):(!this[w]||this[w]instanceof yt||this[w]instanceof U||\"\\\\ \"===this[w].ctrlSeq||(t=\"*\"+t),!this[q]||this[q]instanceof U||this[q]instanceof ot||(t+=\"*\")),t}}),D.p.autoCommands={_maxLength:0},E.autoCommands=function(t){var e,n,i,s,r;if(!/^[a-z]+(?: [a-z]+)*$/i.test(t))throw'\"'+t+'\" not a space-delimited list of only letters';for(e=t.split(\" \"),n={},i=0,s=0;s0){for(s=\"\",r=this,o=0;r instanceof Ot&&r.ctrlSeq===r.letter&&o0;a-=1)if(l=e.slice(r,r+a),d.hasOwnProperty(l)){for(c=0,h=o;cf')},t.italicize=function(t){return this.jQ.html(\"f\").toggleClass(\"mq-f\",t),e.italicize.apply(this,arguments)}}),j[\" \"]=j.space=i(W,\"\\\\ \",\" \"),j[\"'\"]=j.prime=i(W,\"'\",\"′\"),j[\"″\"]=j.dprime=i(W,\"″\",\"″\"),j.backslash=i(W,\"\\\\backslash \",\"\\\\\"),Q[\"\\\\\"]||(Q[\"\\\\\"]=j.backslash),j.$=i(W,\"\\\\$\",\"$\"),St=v(N,function(t,e){t.init=function(t,n){e.init.call(this,t,''+(n||t)+\"\")}}),j[\"@\"]=St,j[\"&\"]=i(St,\"\\\\&\",\"&\"),j[\"%\"]=i(St,\"\\\\%\",\"%\"),j.alpha=j.beta=j.gamma=j.delta=j.zeta=j.eta=j.theta=j.iota=j.kappa=j.mu=j.nu=j.xi=j.rho=j.sigma=j.tau=j.chi=j.psi=j.omega=v(yt,function(t,e){t.init=function(t){e.init.call(this,\"\\\\\"+t+\" \",\"&\"+t+\";\")}}),j.phi=i(yt,\"\\\\phi \",\"ϕ\"),j.phiv=j.varphi=i(yt,\"\\\\varphi \",\"φ\"),j.epsilon=i(yt,\"\\\\epsilon \",\"ϵ\"),j.epsiv=j.varepsilon=i(yt,\"\\\\varepsilon \",\"ε\"),j.piv=j.varpi=i(yt,\"\\\\varpi \",\"ϖ\"),j.sigmaf=j.sigmav=j.varsigma=i(yt,\"\\\\varsigma \",\"ς\"),j.thetav=j.vartheta=j.thetasym=i(yt,\"\\\\vartheta \",\"ϑ\"),j.upsilon=j.upsi=i(yt,\"\\\\upsilon \",\"υ\"),j.gammad=j.Gammad=j.digamma=i(yt,\"\\\\digamma \",\"ϝ\"),j.kappav=j.varkappa=i(yt,\"\\\\varkappa \",\"ϰ\"),j.rhov=j.varrho=i(yt,\"\\\\varrho \",\"ϱ\"),j.pi=j[\"π\"]=i(St,\"\\\\pi \",\"π\"),j.lambda=i(St,\"\\\\lambda \",\"λ\"),j.Upsilon=j.Upsi=j.upsih=j.Upsih=i(N,\"\\\\Upsilon \",'ϒ'),j.Gamma=j.Delta=j.Theta=j.Lambda=j.Xi=j.Pi=j.Sigma=j.Phi=j.Psi=j.Omega=j.forall=v(W,function(t,e){t.init=function(t){e.init.call(this,\"\\\\\"+t+\" \",\"&\"+t+\";\")}}),_t=v(P,function(t){t.init=function(t){this.latex=t},t.createLeftOf=function(t){var e=F.parse(this.latex);e.children().adopt(t.parent,t[w],t[q]),t[w]=e.ends[q],e.jQize().insertBefore(t.jQ),e.finalizeInsert(t.options,t),e.ends[q][q].siblingCreated&&e.ends[q][q].siblingCreated(t.options,w),e.ends[w][w].siblingCreated&&e.ends[w][w].siblingCreated(t.options,q),t.parent.bubble(\"reflow\")},t.parser=function(){var t=F.parse(this.latex).children();return B.succeed(t)}}),j[\"¹\"]=i(_t,\"^1\"),j[\"²\"]=i(_t,\"^2\"),j[\"³\"]=i(_t,\"^3\"),j[\"¼\"]=i(_t,\"\\\\frac14\"),j[\"½\"]=i(_t,\"\\\\frac12\"),j[\"¾\"]=i(_t,\"\\\\frac34\"),Dt=v(U,function(t){t.init=W.prototype.init,t.contactWeld=t.siblingCreated=t.siblingDeleted=function(t,e){function n(t){return t[w]?t[w]instanceof U||/^[,;:\\(\\[]$/.test(t[w].ctrlSeq)?\"\":\"mq-binary-operator\":t.parent&&t.parent.parent&&t.parent.parent.isStyleBlock()?n(t.parent.parent):\"\"}if(e!==q)return this.jQ[0].className=n(this),this}}),j[\"+\"]=i(Dt,\"+\",\"+\"),j[\"–\"]=j[\"-\"]=i(Dt,\"-\",\"−\"),j[\"±\"]=j.pm=j.plusmn=j.plusminus=i(Dt,\"\\\\pm \",\"±\"),j.mp=j.mnplus=j.minusplus=i(Dt,\"\\\\mp \",\"∓\"),Q[\"*\"]=j.sdot=j.cdot=i(U,\"\\\\cdot \",\"·\",\"*\"),Et=v(U,function(t,e){t.init=function(t,n){this.data=t,this.strict=n;var i=n?\"Strict\":\"\";e.init.call(this,t[\"ctrlSeq\"+i],t[\"html\"+i],t[\"text\"+i])},t.swap=function(t){this.strict=t;var e=t?\"Strict\":\"\";this.ctrlSeq=this.data[\"ctrlSeq\"+e],this.jQ.html(this.data[\"html\"+e]),this.textTemplate=[this.data[\"text\"+e]]},t.deleteTowards=function(t,n){if(t===w&&!this.strict)return this.swap(!0),void this.bubble(\"reflow\");e.deleteTowards.apply(this,arguments)}}),Lt={ctrlSeq:\"\\\\le \",html:\"≤\",text:\"≤\",ctrlSeqStrict:\"<\",htmlStrict:\"<\",textStrict:\"<\"},At={ctrlSeq:\"\\\\ge \",html:\"≥\",text:\"≥\",ctrlSeqStrict:\">\",htmlStrict:\">\",textStrict:\">\"},j[\"<\"]=j.lt=i(Et,Lt,!0),j[\">\"]=j.gt=i(Et,At,!0),j[\"≤\"]=j.le=j.leq=i(Et,Lt,!1),j[\"≥\"]=j.ge=j.geq=i(Et,At,!1),Rt=v(U,function(t,e){t.init=function(){e.init.call(this,\"=\",\"=\")},t.createLeftOf=function(t){if(t[w]instanceof Et&&t[w].strict)return t[w].swap(!1),void t[w].bubble(\"reflow\");e.createLeftOf.apply(this,arguments)}}),j[\"=\"]=Rt,j[\"×\"]=j.times=i(U,\"\\\\times \",\"×\",\"[x]\"),j[\"÷\"]=j.div=j.divide=j.divides=i(U,\"\\\\div \",\"÷\",\"[/]\"),Q[\"~\"]=j.sim=i(U,\"\\\\sim \",\"~\",\"~\"),zt=c(1);for(It in zt)!function(t,e){\"function\"==typeof e?(l[t]=function(){return a(),e.apply(this,arguments)},l[t].prototype=e.prototype):l[t]=e}(It,zt[It])}();\n","\"use strict\";\n// Requires jquery\n// Other required assets are automatically inserted into page\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.reflow = exports.init = void 0;\n/**\n * Mathquill groups are marked with the class pw-mq-group\n * All data-mq inserted within a group will only have one submit button,\n * so all answers will be sent to the check server at once\n */\n/**\n * DATA-MQ ELEMENT\n * It is used to generate questions client-side\n *\n * SYNTAX on elem being p or span or div\n * \n * Text that contains the formulation...\n * \n *\n * ATTRIBUTES\n * data-mq: can either define a type (simple, basic, cloze, panel, mchoice, mchoice*) or\n * a base64 encoded definition of the whole activity. This last option is used to offuscate answers.\n * In the last case, an activity generator can be used.\n * data-mq-ans: sympy representation of the answer. It can be a boolean to assert if it is true\n * it can be an array [\"\",\"\",\"\"...] in cloze question types (it requires data-mq-ini)\n *\n * data-mq-symbols: Define symbols and default values, use := to assign values and ; to separate symbol definitions.\n * In cloze questions an special variable called ua[i], i the index of the placeholder, is the answer\n * that the user introduced at placeholder i. This can be used to construct a custom evaluator which\n * returns a boolean value in data-mq-ans.\n * Note that data-mq-ans can use any of the defined symbols. By default \"x\", \"y\", \"z\" are already defined\n * as sympy symbols. No need to add them to data-mq-symbols.\n * Define options for mchoice, mchoice* separated by comma.\n *\n * data-mq-ini: Initial latex, e.g. ?+? on every ? is a placeholder for cloze questions or\n * an initial matrix of a given size M[3x3]\n *\n * data-mq-rules: is a map which contains the options that must be passed to the evaluator\n * \"factor\": true --> the answer must be factorized\n * \"expanded\": true --> the answer must be expanded\n * \"precision\": 1e-3 --> precission of numeric answers\n * \"comma_as_decimal\": true --> The comma symbol in the answer will be interpreted as decimal part separator.\n *\n * data-mq-formulation (optional): Text that will be appended to the end of the formulation.\n */\n/**\n * DATA-PYGEN ELEMENT\n * The questions are generated server-side by a generator in pygen server. After the question is generated and rendered\n * the validation process i equivalent to the one in DATA-MQ\n *\n *
\n *\n * data-pygen:\n * The generator paths are the same as the ones defined in pygen.\n * Several generators can be used by separating them with ;.\n * Generators can be configured by setting parameters values within brackets [].\n *\n * data-pygen-category:\n * The category in iapace tree where the activity of the user will be stored\n * Only if this parameter is set, a level indicador is shown in the activity\n *\n * data-pygen-order=\"random\" //default\n * This options is discarded if only one generator is defined in data-pygen.\n * By default one activity from the ones defined in data-pygen is taken at random.\n * However other behaviours can be defined as ordering. Assume 3 generators:\n *\n * weighted: 0.2,0.6,0.2 Random but setting the probability at which every generator is used. Values must add 1.\n * In this example, most likely to generate a question from 2nd generator.\n *\n * sequence: 3,5,8 1st generator 3 questions, 2nd generator 5 questions, 3rd generator 8 questions\n * and repeat in cicles if more than 3+5+8 questions are created\n * sequence: 3,5,* 1st generator 3 questions, 2nd generator 5 questions, 3rd generator remaining questions\n * sequence: 3,*,* start with 3 questions of the first generator and after that take at random questions from generator 2 and 3.\n * sequence: 3,*(0.7),*(0.3) The same as above but with weights\n *\n * Important:\n * 1. * are only allowed at the end of the sequence\n * 2. sequences will not be mantained over page reloads. So every time the page realoads, the sequence starts again.\n *\n * data-pygen-goal:\n * The condition to set the activity as completed. Many conditions can be set\n * and if any of them is verified the goal flag is set.\n * Different conditions are separated by ;. A condition takes 3 parameters\n * ,,\n * \"5,6,4;10,5,*\" means\n * 5 or more questions answered, grade of 6 or more, current level 4 of more\n * OR\n * 10 or more questions answered, grade of 5 or more, regardless of the current level\n *\n * data-pygen-celebrate=\"none|confetti\"\n * Say whether to celebrate or not when the goal is reached!\n */\nconst polyfills_1 = require(\"./polyfills\");\nconst globals_1 = require(\"./globals\");\nconst utils_1 = require(\"./utils\");\nconst mqfy_1 = require(\"./mqfy\");\nconst findPyGenerators_1 = require(\"./findPyGenerators\");\n(0, polyfills_1.applyPolyfills)();\nfunction reflow(widgets) {\n (0, mqfy_1.findQuillGroups)(widgets); // Groups of mquills\n (0, findPyGenerators_1.findPyGenerators)(); // An interface for dynamic generated questions\n}\nexports.reflow = reflow;\n// Inject required dependencies on the page\n// On jquery ready\nlet isInitialized = false;\nfunction init(userConfig) {\n // Prevent multiple initializations\n if (isInitialized) {\n reflow(userConfig.widgets);\n return;\n }\n if (userConfig['engine'] && !userConfig.engines) {\n userConfig.engines = [userConfig['engine'] || \"\"];\n }\n if (!userConfig.engines) {\n console.error(\"The engines option in the init method is required.\");\n return;\n }\n if (!Array.isArray(userConfig.engines)) {\n userConfig.engines = [userConfig.engines];\n }\n globals_1.cfg.setUserConfig(userConfig);\n //Bundle all dependencies in this same file (except Nerdamer)\n //createLinkSheet(urlJoin(cfg.MQWIDGETS_BASEURL, \"mqwidgets2.css\"));\n //insertScript(cfg.MATHQUILL_URL)\n const dependencies = [];\n if (userConfig.engines.indexOf('nerdamer') >= 0) {\n dependencies.push((0, utils_1.insertScript)(globals_1.cfg.NERDAMER_URL));\n }\n if (dependencies.length) {\n Promise.all(dependencies).then(() => {\n reflow(userConfig === null || userConfig === void 0 ? void 0 : userConfig.widgets);\n isInitialized = true;\n }, () => {\n console.error(\"Unable to load the required dependencies\");\n });\n }\n else {\n reflow(userConfig === null || userConfig === void 0 ? void 0 : userConfig.widgets);\n isInitialized = true;\n }\n}\nexports.init = init;\n"],"names":["Object","defineProperty","exports","value","I18n","globals_1","require","TRANSLATIONS","ca","es","en","BROWSER_LANG","window","navigator","lang","languages","language","browserLanguage","userLanguage","systemLanguage","toLowerCase","replace","split","getBrowserLang","key","cfg","LANG","langPack","console","error","out","i","createSubmitButtonForGroup","bindSubmitActionButton","checking_1","I18n_1","engineCAS_1","utils_1","LAST_AJAX","Date","getTime","gid","check_btn","extraActions","groupContainer","shared","qids","keys","map","e","parseInt","off","on","ev","preventDefault","now","k","len","length","qid","editor","getStatus","STATUS","MODIFIED","ual","latex","has_empty_answers","checkMsg","getDefinition","right_answer","getWrong_attemps","MAX_ATTEMPTS","isPigen","showAnswer","getQType","QTYPES","M","Ms","score10","isComodiUsed","ans","increment_wrong","postObj","anse","atob","isNumeric","pfual","parseFloat","difference","maxError","rules","precision","Math","abs","copyPropsFromTo","pageInfo","getHash","setHash","MD5","formulation","bookId","chapterId","hash","engineCAS","compare","then","datos","correct","msg","errors","$","extractMatrices","regexMatrices","tex","matrices","m","mat","forEach","alinia","linia","push","exec","has_empty_elements","matrix","rows","arow","cols","j","v","trim","lenmat","LevelIndicator","numLevels","this","container","levelIcons","elem","append","n","css","attr","removeAttr","visible","PwDialog","title","width","height","id","random","toString","substring","topBar","headerTitle","closeBtn","self","currentX","currentY","initialX","initialY","active","xOffset","yOffset","dragStart","type","touches","clientX","clientY","target","dragEnd","setTranslate","xPos","yPos","el","style","transform","drag","addEventListener","element","remove","removeEventListener","EditorDialog","editorPanel_1","qtype","P","editorPanel","EditorPanel","controlButtons","acceptBtn","cancelBtn","acceptFn","close","cancelFn","sanitizeLaTeX","focus","dispose","find","reflow","def","setDefinition","EditorBase","parent","status","UNMODIFIED","wrong_attemps","isAnswerShown","pigen","comodi","ansType","EditorCloze","dialog_1","ini","dlg_btn_el","quill_el_container","quill_el","check_el","mathInput","StaticMath","innerFields","__controller","textarea","html","removeClass","parts","lenv","msg2","addClass","revert","sharedDlg","dlg","answerHolder","prop","reflowLatex","show","EditorInput","editorDialog_1","quill_blocker","isBtn","S","MathField","handlers","edit","self2","RIGHT_ICON","WRONG_ICON","rescueBtn","evt","getAnswer","EditorMChoice","options","selectedIndex","floor","btn_group","btn_action","dropdown_menu","opt","dropdown_item","EditorMChoiceCheckbox","multipleAnswers","symbols","radios_group","radiosGroupId","allRadios","radioId","radio_wrapper","radio_item","radio_label","wsel","join","__importDefault","mod","__esModule","pwTabMenu_1","createToolbarButton_1","toolbar_config_1","editorBase_1","standalone","panel","palettes","PwTabMenu","spanMathInput","feedback_el","items","default","button_meta","name","btnInfo","tabName","default_toolbar_tabs","tab","addTab","aButton","createToolbarButton","addContentsToTab","setVisible","indexOf","setTab","firstSelected","num_visible","found","_a","setEnabled","btn_meta","btn","icon","panell","controls","lenk","vars","varObj","minmax","min","max","control","val","alab","okButtton","varsmap","$c","real_latex","write","moveto","keystroke","panell_shown","$panel","tabs","currentTab","tabsPanel","contentsPanel","contents","visibility","enabled","children","default_toolbar_buttons","movefor","lat","latrow","keyboard_keys","createQuillFromObject","editorCloze_1","editorInput_1","editorMChoice_1","editorMChoiceCheckbox_1","$el","obj","created","spanEl","C","initial_latex","Array","isArray","B","get_qid","setStatus","nerdamerCAS_1","sympyCAS_1","payload","engine","DEFAULT_ENGINE","sympyCAS","nerdamerCAS","parseLatex_1","is_set","expr","elements","firstElem","is_matrix","txt","text","startsWith","nerdamer","NerdamerCAS","JSON","parse","stringify","str","p","rules_checks","latex_code","fo_symb","un_sym","match","RegExp","cas","clone","Promise","resolve","reject","flush","clearVars","getCore","Symbol","scope","checkRules","user_sympy","parseLatex","filter","x","ex","setVar","symb","pos","symb_name","symb_raw","ans_sympy","decrypt","msgs","zip","pair","ans_obj","parsed_input","dims1","dims2","toDecimal","delta","subtract","isZero","each","is_zero_matrix","eq","simplify","isPolynomial","unt","coeffs","nexpect","expand","nterms_diff","err","ra","btoa","pmatrix_re","mcount","$0","$1","row","col","varName","convertFromLaTeX","SympyCAS","ajax","url","CAS_URL","data","dataType","success","GETANSWER_URL","findPyGenerators","actions_1","LevelIndicator_1","createQuill_1","goalChecker_1","mq_parsing_1","seqBasic_1","seqRandomWeighted_1","seqSequence_1","IB","eg","$eg","topPanel","centralPanel","bottomPanel","copyrightPanel","levelIndicator","category","HAS_IAPACE","currentLevel","iapace","inference","setLevel","goalChecker","goalRules","GoalChecker","accomplished","rawDataPygens","dataPygen","z","lenz","genpart","genname","genparams","paramspart","t","lent","aparm","param_parts","sequenciador","SeqBasic","order","SeqRandomWeighted","SeqSequence","checkBtn","comodiBtn","currentDatos","currentEditor","createDynamicMathquill","nextButton","showmeBtn","nextGenerator","next","PYGEN_URL","pregunta","json_raw","mq64","json_obj","frame","findCreate","sum","h","processMqIni","r","lenr","epart","addScore","save","reached","Confetti","play","CORRECT","lin","comodiUsed","ccSpan","sharedContext","parseUrlParams","params","nv","MQWidgets","Cfg","NERDAMER_URL","BACKEND_BASEURL","MQWIDGETS_BASEURL","_b","document","querySelector","userId","userFullname","dataUserId","getAttribute","userText","innerText","location","search","ele","cookie","eq_cookie_pos","moodleSession","substr","courseName","courseId","footer","hrefVal","href","isTeacher","site","assignNum","iedibAPI","lliurament","assignName","loadPageInfo","WRONG","urlJoin","uc","engines","remotes","mqwBaseurl","MQI","div","MathQuill","getInterface","config","d","reach","nrules","partial","crule","undecided","isNaN","grade","s","createQuillFromDataAttr","$2","nrows","ncols","mtex","aRow","endsWith","kk","lenkk","symbolsRaw","rulesRaw","palettesRaw","findQuillGroups","keysDef","widgets","hasClass","parseContext","b64","hasValue","parsedDef","findQuills","setTimeout","applyPolyfills","prototype","callback","thisArg","TypeError","array","l","call","arr","arg","Number","lpygens","definition","weights","vran","pop","total","old","w","rnd","positions","terminalGen","undefined","placeholders","remainingLpygens","slice","def2","isWeighted","e2","typeRan","pointer","indx","md5_cmn","_","f","safe_add","bit_rol","md5_ff","md5_gg","md5_hh","md5_ii","createLinkSheet","createStyleSheet","insertScript","MathJax","typesetPromise","Hub","Queue","iter","cb","l1","l2","dict","source","props","charCodeAt","charAt","String","fromCharCode","V","g","Y","X","tag","createElement","src","async","onload","onerror","onabort","head","appendChild","getElementById","innerHTML","getElementsByTagName","link","rel","url1","url2","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","arguments","apply","concat","b","Error","q","o","ends","a","zt","c","nodeType","Ft","O","byId","controller","KIND_OF_MQ","fns","APIClasses","hasOwnProperty","E","R","L","saneKeyboardEvents","D","registerEmbed","test","A","AbstractMathQuill","init","__options","__mathquillify","root","createTextarea","detach","jQ","appendTo","empty","unbind","exportText","renderLatexMath","blurred","cursor","hide","blur","exportLatex","postOrder","EditableField","editable","delegateMouseEvents","editablesTextareaEvents","writeLatex","scrollHoriz","eachChild","selection","insAtRightEnd","cmd","notify","bt","replaces","replaceSelection","createLeftOf","select","selectLeft","clearSelection","moveToDirEnd","insAtDirEnd","moveToLeftEnd","moveToRightEnd","typedText","dropEmbedded","scrollLeft","scrollTop","elementFromPoint","seek","gt","setOptions","clickAt","Mt","contains","pageXOffset","pageYOffset","ignoreNextMousedown","RootBlock","handle","u","G","ctrlSeq","htmlTemplate","insLeftOf","insRightOf","jQadd","delimjQs","add","contentjQ","outerHeight","Z","$t","dt","Q","pt","y","T","I","F","N","W","U","H","K","J","et","it","st","rt","ot","at","lt","ct","ht","ut","ft","mt","vt","wt","qt","xt","yt","Ot","kt","jt","Qt","Tt","Ct","St","_t","Dt","Et","Lt","At","Rt","It","jQuery","Bt","Pt","Bare","constructor","extend","open","insDirOf","insertBefore","first","insertAfter","last","prependTo","copy","jQize","firstChild","nextSibling","createDir","adopt","selectChildren","bubble","isEmpty","isStyleBlock","foldChildren","fold","withDirAdopt","disown","get","disowned","_jQ","blink","toggleClass","upDownCache","clearInterval","intervalId","setInterval","withDirInsertAt","insAtLeftEnd","jumpUpDown","offset","left","unwrapGramp","siblingDeleted","startSelection","anticursor","ancestors","endSelection","selectionChanged","clear","deleteSelection","wrapAll","replaceWith","childNodes","onNotify","VERSION","interfaceVersion","MIN","MAX","noConflict","which","keyCode","ctrlKey","originalEvent","metaKey","altKey","shiftKey","clearTimeout","selectionStart","selectionEnd","paste","bind","keydown","keypress","keyup","focusout","cut","skip","or","many","times","result","atMost","atLeast","string","regex","succeed","fail","letter","letters","digit","digits","whitespace","optWhitespace","any","all","eof","parser","block","optBlock","finalizeInsert","siblingCreated","renderLatexText","createBlocks","focusBlurEvents","ctrlDeleteDir","backspace","escapeDir","selectRight","moveLeft","moveRight","moveUp","moveDown","deleteForward","moveOutOf","moveTowards","deleteOutOf","deleteTowards","unselectInto","selectOutOf","selectTowards","leftRightIntoCmdGoes","moveDir","deleteDir","selectDir","substituteTextarea","textareaSpan","textareaSelectionTimeout","setTextareaSelection","statelessClipboard","selectFn","staticMathTextareaEvents","prepend","substituteKeyboardEvents","pageX","pageY","closest","unselectable","mousemove","ownerDocument","mouseup","getBoundingClientRect","right","stop","animate","textTemplate","replacedFragment","numBlocks","blocks","placeCursor","outerWidth","spaceBehavesLikeTab","chToCmd","typingSlashWritesDivisionSymbol","typingAsteriskWritesTimesSymbol","normalize","replacedText","textContents","appendText","round","splitRight","anticursorPosition","dom","createTextNode","appendData","prependText","insertData","insTextAtDirEnd","splitText","deleteData","textnormal","textrm","textup","textmd","em","italic","italics","emph","textit","textsl","strong","bold","textbf","sf","textsf","tt","texttt","textsc","uppercase","lowercase","dir","TextField","_replacedFragment","renderCommand","trigger","WebkitTransform","MozTransform","OTransform","msTransform","className","wrapInner","load","mathrm","mathit","mathbf","mathsf","mathtt","underline","overline","bar","overrightarrow","overleftarrow","overleftrightarrow","overarc","dot","textcolor","setColor","color","class","cls","supSubsRequireOperand","contactWeld","addBlock","charsThatBreakOutOfSupSub","finalizeTree","autoSubscriptNumerals","sub","sup","supsub","upInto","upOutOf","downOutOf","downInto","lastChild","subscript","superscript","supscript","prev","innerHeight","sumStartsWithNEquals","summation","prod","product","coprod","coproduct","int","integral","frac","dfrac","cfrac","fraction","over","sqrt","hat","nthroot","vec","tilde","side","sides","ch","matchBrack","restrictMismatchedBrackets","closeOpposing","unwrap","deleteSide","intentionalBlur","langle","rangle","lVert","rVert","binom","binomial","choose","MathQuillMathField","registerInnerField","embed","htmlString","begin","template","wrappers","environment","parentheses","shift","autocorrect","relink","getEntryPoint","rowSize","atExitPoint","splice","deleteCell","addRow","after","addColumn","insert","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","notin","cong","equiv","oplus","otimes","ne","neq","ast","star","loast","lowast","therefor","therefore","cuz","because","propto","asymp","approx","isin","in","ni","notni","niton","notcontains","doesnotcontain","subset","supset","superset","nsub","notsub","nsubset","notsubset","nsup","notsup","nsupset","notsupset","nsuperset","notsuperset","sube","subeq","subsete","subseteq","supe","supeq","supsete","supseteq","supersete","superseteq","nsube","nsubeq","notsube","notsubeq","nsubsete","nsubseteq","notsubsete","notsubseteq","nsupe","nsupeq","notsupe","notsupeq","nsupsete","nsupseteq","notsupsete","notsupseteq","nsupersete","nsuperseteq","notsupersete","notsuperseteq","naturals","Naturals","primes","Primes","projective","Projective","probability","Probability","integers","Integers","rationals","Rationals","reals","Reals","complex","Complex","complexes","Complexes","complexplane","Complexplane","ComplexPlane","Hamiltonian","quaternions","Quaternions","quad","emsp","qquad","diamond","bigtriangleup","ominus","uplus","bigtriangledown","sqcap","triangleleft","sqcup","triangleright","odot","circledot","bigcirc","dagger","ddagger","wr","amalg","models","prec","succ","preceq","succeq","simeq","mid","ll","gg","parallel","nparallel","bowtie","sqsubset","sqsupset","smile","sqsubseteq","sqsupseteq","doteq","frown","vdash","dashv","nless","ngtr","longleftarrow","longrightarrow","Longleftarrow","Longrightarrow","longleftrightarrow","updownarrow","Longleftrightarrow","Updownarrow","mapsto","nearrow","hookleftarrow","hookrightarrow","searrow","leftharpoonup","rightharpoonup","swarrow","leftharpoondown","rightharpoondown","nwarrow","ldots","cdots","vdots","ddots","surd","triangle","ell","top","flat","natural","sharp","wp","bot","clubsuit","diamondsuit","heartsuit","spadesuit","parallelogram","square","oint","bigcap","bigcup","bigsqcup","bigvee","bigwedge","bigodot","bigotimes","bigoplus","biguplus","lfloor","rfloor","lceil","rceil","opencurlybrace","lbrace","closecurlybrace","rbrace","lbrack","rbrack","slash","vert","perp","perpendicular","nabla","del","hbar","AA","Angstrom","angstrom","ring","circ","circle","bull","bullet","setminus","smallsetminus","not","neg","dots","ellip","hellip","ellipsis","hellipsis","converges","darr","dnarr","dnarrow","downarrow","dArr","dnArr","dnArrow","Downarrow","diverges","uarr","uparrow","uArr","Uparrow","to","rarr","rightarrow","implies","rArr","Rightarrow","gets","larr","leftarrow","impliedby","lArr","Leftarrow","harr","lrarr","leftrightarrow","iff","hArr","lrArr","Leftrightarrow","Re","Real","real","Im","imag","image","imagin","imaginary","Imaginary","part","infty","infin","infinity","alef","alefsym","aleph","alephsym","xist","xists","exist","exists","nexists","nexist","and","land","wedge","lor","vee","emptyset","oslash","Oslash","nothing","varnothing","cup","union","cap","intersect","intersection","deg","degree","ang","angle","measuredangle","isItalic","isPartOfOperator","autoCommands","_maxLength","italicize","autoUnItalicize","autoOperatorNames","limsup","liminf","projlim","injlim","operatorname","space","prime","dprime","backslash","alpha","beta","gamma","zeta","eta","theta","iota","kappa","mu","nu","xi","rho","sigma","tau","chi","psi","omega","phi","phiv","varphi","epsilon","epsiv","varepsilon","piv","varpi","sigmaf","sigmav","varsigma","thetav","vartheta","thetasym","upsilon","upsi","gammad","Gammad","digamma","kappav","varkappa","rhov","varrho","pi","lambda","Upsilon","Upsi","upsih","Upsih","Gamma","Delta","Theta","Lambda","Xi","Pi","Sigma","Phi","Psi","Omega","forall","pm","plusmn","plusminus","mp","mnplus","minusplus","sdot","cdot","strict","swap","ctrlSeqStrict","htmlStrict","textStrict","le","leq","ge","geq","divide","divides","sim","polyfills_1","mqfy_1","findPyGenerators_1","isInitialized","userConfig","setUserConfig","dependencies"],"sourceRoot":""} \ No newline at end of file diff --git a/src/styles/index.css b/src/styles/index.css index 0f7f3bc..891d347 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -1 +1 @@ -div[data-pygen]{min-height:100px;margin:10px;padding:10px;background:#f8f8ff;box-shadow:3px 3px gray}.pw-mq-feedback{margin:10px;padding:10px;background-color:#cbe9f4;color:#121228}@keyframes blinker{50%{color:#e4cfe4}}.pw-goal-reached{font-weight:bold;margin:0 15px;padding:3px;border-radius:3px;font-size:90%;color:#3b1d3b;animation:blinker .5s linear 4}.pw-me-blocker{background:gray;opacity:.5;pointer-events:none}.pw-refresh{cursor:pointer;float:left;margin-right:15px}.pw-refresh>i{color:#1e90ff}.pw-mq-group{margin-bottom:60px;border-left:1px solid #1e90ff;padding-left:20px}.pw-me-dlg{display:flex;flex-direction:column;position:fixed;margin:auto;top:0;right:0;bottom:0;left:0;border:2px solid #d3d3d3;z-index:100;background:#fff;box-shadow:4px 4px 4px #888;border-radius:5px}.pw-me-dlg-header{background:#f5f5f5;width:100%;height:23px;border-bottom:2px solid #d3d3d3}.pw-me-dlg-headertitle{color:#000;margin-left:8px}.pw-me-dlg-controls{background:#fff;display:flex;flex-direction:row;justify-content:space-between;margin:5px}.pw-me-btn-openeditor{background:#f5f5f5;vertical-align:top}.pw-me-btn-openeditor:hover{background:#fff}.pw-me-btn-openeditor>i.fas{color:darkred}.pw-me-tabmenu{width:100%}.pw-me-tabspanel{width:100%;height:25px;background:#d3d3d3}.pw-me-tabcontents{width:100%;background:#e3e3e3}.pw-me-btn-tab{background:#d3d3d3;padding:0 5px}.pw-me-btn-active{background:#fff}.pw-me-tabcontainer{width:100%;display:none;flex-direction:row;flex-wrap:wrap}.pw-me-submitgroup{margin:auto}.pw-me-btn-dlgclose{color:gray;width:23px;height:23px;float:right;padding:0}.pw-me-editorpanel{display:flex;flex-direction:column;background:#fff;flex-grow:1;border:1px solid #d3d3d3}.pw-me-editorpanel-mathinput{width:97%;margin:5px auto;padding:15px;background:#fff;flex-grow:1}.pw-me-btn-toolbar{height:35px;overflow:hidden;font-weight:bold}.pw-me-btn-toolbar>span{cursor:pointer;font-size:90%}.pw-me-btn-toolbar:hover{background:#fff}.pw-me-editorinput{display:inline-flex;margin:4px;padding:4px;background:#d5edff;border-radius:5px}.pw-me-editorinput>div>span{background:#fff;min-width:100px}.pw-quill-group{margin:5px 5px 80px 5px;border-left:1px solid gray;padding-left:10px}.pw-me-check{align-self:center}.pw-me-editorinput.pw-me-wrong,.pw-me-mchoice.pw-me-wrong{background:#fddcdc}.pw-me-editorinput.pw-me-wrong>.pw-me-check>span,.pw-me-mchoice.pw-me-wrong>.pw-me-check>span{color:#fff;margin:5px;background:darkred;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px 6px}.pw-me-editorinput.pw-me-right,.pw-me-mchoice.pw-me-right{background:#f0fddc}.pw-me-editorinput.pw-me-right>.pw-me-check>span,.pw-me-mchoice.pw-me-right>.pw-me-check>span{color:#fff;margin:5px;background:#358a24;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-editorinput.pw-me-alert,.pw-me-mchoice.pw-me-alert{background:#f2dcfd}.pw-me-editorinput.pw-me-alert>.pw-me-check>span,.pw-me-mchoice.pw-me-alert>.pw-me-check>span{color:#fff;margin:5px;background:#681733;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-btn-showanswer>i{color:darkred}.pw-answer-holder{margin:15px;overflow:auto;height:150px}.mq-editable-field{background:#fff}.pw-me-btn-dropdownmenu{display:none;position:absolute;top:65px;left:140px;padding:5px;border:1px solid gray;z-index:1000;background:#fff}.pw-me-mchoice{display:inline-flex;vertical-align:middle}.pw-square-root{background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;background-image:url("https://piworld.es/iedib/mqwidgets2/pw-square-root.png");display:inline-block;width:16px;height:16px}@font-face{font-family:Symbola;src:url(fonts/Symbola.eot);src:local("Symbola Regular"),local("Symbola"),url(fonts/Symbola.woff2) format("woff2"),url(fonts/Symbola.woff) format("woff"),url(fonts/Symbola.ttf) format("truetype"),url(fonts/Symbola.svg#Symbola) format("svg")}.mq-editable-field{display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor{border-left:1px solid #000;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor.mq-blink{visibility:hidden}.mq-editable-field,.mq-math-mode .mq-editable-field{border:1px solid gray}.mq-editable-field.mq-focused,.mq-math-mode .mq-editable-field.mq-focused{box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;border-color:#709ac0;border-radius:1px}.mq-math-mode .mq-editable-field{margin:1px}.mq-editable-field .mq-latex-command-input{color:inherit;font-family:"Courier New",monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.mq-editable-field .mq-latex-command-input.mq-empty{background:rgba(0,0,0,0)}.mq-editable-field .mq-latex-command-input.mq-hasCursor{border-color:ActiveBorder}.mq-editable-field.mq-empty:after,.mq-editable-field.mq-text-mode:after,.mq-math-mode .mq-empty:after{visibility:hidden;content:"c"}.mq-editable-field .mq-cursor:only-child:after,.mq-editable-field .mq-textarea+.mq-cursor:last-child:after{visibility:hidden;content:"c"}.mq-editable-field .mq-text-mode .mq-cursor:only-child:after{content:""}.mq-editable-field.mq-text-mode{overflow-x:auto;overflow-y:hidden}.mq-root-block,.mq-math-mode .mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.mq-math-mode{font-variant:normal;font-weight:normal;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-non-leaf,.mq-math-mode .mq-scaled{display:-moz-inline-box;display:inline-block}.mq-math-mode var,.mq-math-mode .mq-text-mode,.mq-math-mode .mq-nonSymbola{font-family:"Times New Roman",Symbola,serif;line-height:.9}.mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.mq-math-mode .mq-empty{background:#ccc}.mq-math-mode .mq-empty.mq-root-block{background:rgba(0,0,0,0)}.mq-math-mode.mq-empty{background:rgba(0,0,0,0)}.mq-math-mode .mq-text-mode{display:inline-block;white-space:pre}.mq-math-mode .mq-text-mode.mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -0.1em;min-width:1ex}.mq-math-mode .mq-font{font:1em "Times New Roman",Symbola,serif}.mq-math-mode .mq-font *{font-family:inherit;font-style:inherit}.mq-math-mode b,.mq-math-mode b.mq-font{font-weight:bolder}.mq-math-mode var,.mq-math-mode i,.mq-math-mode i.mq-font{font-style:italic}.mq-math-mode var.mq-f{margin-right:.2em;margin-left:.1em}.mq-math-mode .mq-roman var.mq-f{margin:0}.mq-math-mode big{font-size:200%}.mq-math-mode .mq-int>big{display:inline-block;transform:scaleX(0.7);vertical-align:-0.16em}.mq-math-mode .mq-int>.mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.mq-math-mode .mq-int>.mq-supsub>.mq-sup>.mq-sup-inner{vertical-align:1.3em}.mq-math-mode .mq-int>.mq-supsub>.mq-sub{margin-left:-0.35em}.mq-math-mode .mq-roman{font-style:normal}.mq-math-mode .mq-sans-serif{font-family:sans-serif,Symbola,serif}.mq-math-mode .mq-monospace{font-family:monospace,Symbola,serif}.mq-math-mode .mq-overline{border-top:1px solid #000;margin-top:1px}.mq-math-mode .mq-underline{border-bottom:1px solid #000;margin-bottom:1px}.mq-math-mode .mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-supsub{text-align:left;font-size:90%;vertical-align:-0.5em}.mq-math-mode .mq-supsub.mq-sup-only{vertical-align:.5em}.mq-math-mode .mq-supsub.mq-sup-only .mq-sup{display:inline-block;vertical-align:text-bottom}.mq-math-mode .mq-supsub .mq-sup{display:block}.mq-math-mode .mq-supsub .mq-sub{display:block;float:left}.mq-math-mode .mq-supsub .mq-binary-operator{padding:0 .1em}.mq-math-mode .mq-supsub .mq-fraction{font-size:70%}.mq-math-mode sup.mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-0.6em;margin-left:.2em;min-width:.5em}.mq-math-mode .mq-paren{padding:0 .1em;vertical-align:top;transform-origin:center .06em}.mq-math-mode .mq-paren.mq-ghost{color:silver}.mq-math-mode .mq-paren+span{margin-top:.1em;margin-bottom:.1em}.mq-math-mode .mq-array{vertical-align:middle;text-align:center}.mq-math-mode .mq-array>span{display:block}.mq-math-mode .mq-operator-name{font-family:Symbola,"Times New Roman",serif;line-height:.9;font-style:normal}.mq-math-mode var.mq-operator-name.mq-first{padding-left:.2em}.mq-math-mode var.mq-operator-name.mq-last,.mq-math-mode .mq-supsub.mq-after-operator-name{padding-right:.2em}.mq-math-mode .mq-fraction{font-size:90%;text-align:center;vertical-align:-0.4em;padding:0 .2em}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link{display:-moz-groupbox}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link,.mq-math-mode x:default{display:inline-block}.mq-math-mode .mq-numerator,.mq-math-mode .mq-denominator,.mq-math-mode .mq-dot-recurring{display:block}.mq-math-mode .mq-numerator{padding:0 .1em}.mq-math-mode .mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.mq-math-mode .mq-dot-recurring{text-align:center;height:.3em}.mq-math-mode .mq-sqrt-prefix{padding-top:0;position:relative;top:.1em;vertical-align:top;transform-origin:top}.mq-math-mode .mq-sqrt-stem{border-top:1px solid;margin-top:1px;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.mq-math-mode .mq-diacritic-above{display:block;text-align:center;line-height:.4em}.mq-math-mode .mq-diacritic-stem{display:block;text-align:center}.mq-math-mode .mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-0.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.mq-math-mode .mq-hat-stem{display:block}.mq-math-mode .mq-large-operator{vertical-align:-0.2em;padding:.2em;text-align:center}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator big,.mq-math-mode .mq-large-operator .mq-to{display:block}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator .mq-to{font-size:80%}.mq-math-mode .mq-large-operator .mq-from{float:right;width:100%}.mq-math-mode,.mq-math-mode .mq-editable-field{cursor:text;font-family:Symbola,"Times New Roman",serif}.mq-math-mode .mq-overarc{border-top:1px solid #000;border-top-right-radius:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.mq-math-mode .mq-overarrow{min-width:.5em;border-top:1px solid #000;margin-top:1px;padding-top:.2em;text-align:center}.mq-math-mode .mq-overarrow:before{display:block;position:relative;top:-0.34em;font-size:.5em;line-height:0em;content:"➤";text-align:right}.mq-math-mode .mq-overarrow.mq-arrow-left:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both{vertical-align:text-bottom}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty{min-height:1.23em}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after{top:-0.34em}.mq-math-mode .mq-overarrow.mq-arrow-both:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both:after{display:block;position:relative;top:-2.3em;font-size:.5em;line-height:0em;content:"➤";visibility:visible;text-align:right}.mq-math-mode .mq-matrix{vertical-align:middle;margin-left:.1em;margin-right:.1em}.mq-math-mode .mq-matrix table{width:auto;border-bottom:none;border-spacing:3px;border-collapse:separate}.mq-math-mode .mq-matrix table.mq-rows-1{vertical-align:middle;margin-bottom:1px}.mq-math-mode .mq-matrix td{border:none;width:auto;padding:.1em .3em;vertical-align:baseline}.mq-math-mode .mq-selection,.mq-editable-field .mq-selection,.mq-math-mode .mq-selection .mq-non-leaf,.mq-editable-field .mq-selection .mq-non-leaf,.mq-math-mode .mq-selection .mq-scaled,.mq-editable-field .mq-selection .mq-scaled{background:#b4d5fe !important;background:Highlight !important;color:HighlightText;border-color:HighlightText}.mq-math-mode .mq-selection .mq-matrixed,.mq-editable-field .mq-selection .mq-matrixed{background:#39f !important}.mq-math-mode .mq-selection .mq-matrixed-container,.mq-editable-field .mq-selection .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#3399FF") !important}.mq-math-mode .mq-selection.mq-blur,.mq-editable-field .mq-selection.mq-blur,.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,.mq-math-mode .mq-selection.mq-blur .mq-scaled,.mq-editable-field .mq-selection.mq-blur .mq-scaled,.mq-math-mode .mq-selection.mq-blur .mq-matrixed,.mq-editable-field .mq-selection.mq-blur .mq-matrixed{background:#d4d4d4 !important;color:#000;border-color:#000}.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#D4D4D4") !important}.mq-editable-field .mq-textarea,.mq-math-mode .mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.mq-editable-field .mq-textarea *,.mq-math-mode .mq-textarea *,.mq-editable-field .mq-selectable,.mq-math-mode .mq-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.mq-math-mode .mq-matrixed{background:#fff;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="white");margin-top:-0.1em}table.mq-non-leaf td[mathquill-block-id]{padding:4px 8px;text-align:center}.mq-math-mode sup.mq-nthroot{font-size:75%;vertical-align:.4em}.mq-root-block{padding:5px}.mq-root-block,.mq-math-mode .mq-root-block{padding:5px}.mq-math-mode .mq-supsub.mq-sup-only>.mq-sup{font-size:90%}.mq-nthroot.mq-non-leaf{padding:8px 0 !important}div[data-pygen] span.mq-editable-field{min-width:250px}div[data-pygen] .pygen-cloze span.mq-editable-field{min-width:initial}div[data-pygen] .pw-me-editorinput{margin-bottom:40px}div.pw-me-tabmenu .mq-supsub.mq-non-leaf.mq-sup-only{vertical-align:super !important} \ No newline at end of file +div[data-pygen]{min-height:100px;margin:10px;padding:10px;background:#f8f8ff;box-shadow:3px 3px gray}.pw-mq-feedback{margin:10px;padding:10px;background-color:#cbe9f4;color:#121228}@keyframes blinker{50%{color:#e4cfe4}}.pw-goal-reached{font-weight:bold;margin:0 15px;padding:3px;border-radius:3px;font-size:90%;color:#3b1d3b;animation:blinker .5s linear 4}.pw-me-blocker{background:gray;opacity:.5;pointer-events:none}.pw-refresh{cursor:pointer;float:left;margin-right:15px}.pw-refresh>i{color:#1e90ff}.pw-mq-group{margin-bottom:60px;border-left:1px solid #1e90ff;padding-left:20px}.pw-me-dlg{display:flex;flex-direction:column;position:fixed;margin:auto;top:0;right:0;bottom:0;left:0;border:2px solid #d3d3d3;z-index:100;background:#fff;box-shadow:4px 4px 4px #888;border-radius:5px}.pw-me-dlg-header{background:#f5f5f5;width:100%;height:23px;border-bottom:2px solid #d3d3d3}.pw-me-dlg-headertitle{color:#000;margin-left:8px}.pw-me-dlg-controls{background:#fff;display:flex;flex-direction:row;justify-content:space-between;margin:5px}.pw-me-btn-openeditor{background:#f5f5f5;vertical-align:top}.pw-me-btn-openeditor:hover{background:#fff}.pw-me-btn-openeditor>i.fas{color:darkred}.pw-me-tabmenu{width:100%}.pw-me-tabspanel{width:100%;height:25px;background:#d3d3d3}.pw-me-tabcontents{width:100%;background:#e3e3e3}.pw-me-btn-tab{background:#d3d3d3;padding:0 5px}.pw-me-btn-active{background:#fff}.pw-me-tabcontainer{width:100%;display:none;flex-direction:row;flex-wrap:wrap}.pw-me-submitgroup{margin:auto}.pw-me-btn-dlgclose{color:gray;width:23px;height:23px;float:right;padding:0}.pw-me-editorpanel{display:flex;flex-direction:column;background:#fff;flex-grow:1;border:1px solid #d3d3d3}.pw-me-editorpanel-mathinput{width:97%;margin:5px auto;padding:15px;background:#fff;flex-grow:1}.pw-me-btn-toolbar{height:35px;overflow:hidden;font-weight:bold}.pw-me-btn-toolbar>span{cursor:pointer;font-size:90%}.pw-me-btn-toolbar:hover{background:#fff}.pw-me-editorinput{display:inline-flex;margin:4px;padding:4px;background:#d5edff;border-radius:5px}.pw-me-editorinput>div>span{background:#fff;min-width:100px}.pw-quill-group{margin:5px 5px 80px 5px;border-left:1px solid gray;padding-left:10px}.pw-me-check{align-self:center}.pw-me-editorinput.pw-me-wrong,.pw-me-mchoice.pw-me-wrong{background:#fddcdc}.pw-me-editorinput.pw-me-wrong>.pw-me-check>span,.pw-me-mchoice.pw-me-wrong>.pw-me-check>span{color:#fff;margin:5px;background:darkred;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px 6px}.pw-me-editorinput.pw-me-right,.pw-me-mchoice.pw-me-right{background:#f0fddc}.pw-me-editorinput.pw-me-right>.pw-me-check>span,.pw-me-mchoice.pw-me-right>.pw-me-check>span{color:#fff;margin:5px;background:#358a24;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-editorinput.pw-me-alert,.pw-me-mchoice.pw-me-alert{background:#f2dcfd}.pw-me-editorinput.pw-me-alert>.pw-me-check>span,.pw-me-mchoice.pw-me-alert>.pw-me-check>span{color:#fff;margin:5px;background:#681733;border-radius:50%;width:22px;height:22px;text-align:center;vertical-align:middle;padding:3px}.pw-me-btn-showanswer>i{color:darkred}.pw-answer-holder{margin:15px;overflow:auto;height:150px}.mq-editable-field{background:#fff}.pw-me-btn-dropdownmenu{display:none;position:absolute;top:65px;left:140px;padding:5px;border:1px solid gray;z-index:1000;background:#fff}.pw-me-mchoice{display:inline-flex;vertical-align:middle}.pw-square-root{background-position:50% 50%;background-size:20px 20px;background-repeat:no-repeat;background-image:url("https://piworld.es/iedib/mqwidgets2/pw-square-root.png");display:inline-block;width:16px;height:16px}@font-face{font-family:Symbola;src:url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.eot);src:local("Symbola Regular"),local("Symbola"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff2) format("woff2"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff) format("woff"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.ttf) format("truetype"),url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.svg#Symbola) format("svg")}.mq-editable-field{display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor{border-left:1px solid #000;margin-left:-1px;position:relative;z-index:1;padding:0;display:-moz-inline-box;display:inline-block}.mq-editable-field .mq-cursor.mq-blink{visibility:hidden}.mq-editable-field,.mq-math-mode .mq-editable-field{border:1px solid gray}.mq-editable-field.mq-focused,.mq-math-mode .mq-editable-field.mq-focused{box-shadow:#8bd 0 0 1px 2px,inset #6ae 0 0 2px 0;border-color:#709ac0;border-radius:1px}.mq-math-mode .mq-editable-field{margin:1px}.mq-editable-field .mq-latex-command-input{color:inherit;font-family:"Courier New",monospace;border:1px solid gray;padding-right:1px;margin-right:1px;margin-left:2px}.mq-editable-field .mq-latex-command-input.mq-empty{background:rgba(0,0,0,0)}.mq-editable-field .mq-latex-command-input.mq-hasCursor{border-color:ActiveBorder}.mq-editable-field.mq-empty:after,.mq-editable-field.mq-text-mode:after,.mq-math-mode .mq-empty:after{visibility:hidden;content:"c"}.mq-editable-field .mq-cursor:only-child:after,.mq-editable-field .mq-textarea+.mq-cursor:last-child:after{visibility:hidden;content:"c"}.mq-editable-field .mq-text-mode .mq-cursor:only-child:after{content:""}.mq-editable-field.mq-text-mode{overflow-x:auto;overflow-y:hidden}.mq-root-block,.mq-math-mode .mq-root-block{display:-moz-inline-box;display:inline-block;width:100%;padding:2px;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle}.mq-math-mode{font-variant:normal;font-weight:normal;font-style:normal;font-size:115%;line-height:1;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-non-leaf,.mq-math-mode .mq-scaled{display:-moz-inline-box;display:inline-block}.mq-math-mode var,.mq-math-mode .mq-text-mode,.mq-math-mode .mq-nonSymbola{font-family:"Times New Roman",Symbola,serif;line-height:.9}.mq-math-mode *{font-size:inherit;line-height:inherit;margin:0;padding:0;border-color:#000;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.mq-math-mode .mq-empty{background:#ccc}.mq-math-mode .mq-empty.mq-root-block{background:rgba(0,0,0,0)}.mq-math-mode.mq-empty{background:rgba(0,0,0,0)}.mq-math-mode .mq-text-mode{display:inline-block;white-space:pre}.mq-math-mode .mq-text-mode.mq-hasCursor{box-shadow:inset #a9a9a9 0 .1em .2em;padding:0 .1em;margin:0 -0.1em;min-width:1ex}.mq-math-mode .mq-font{font:1em "Times New Roman",Symbola,serif}.mq-math-mode .mq-font *{font-family:inherit;font-style:inherit}.mq-math-mode b,.mq-math-mode b.mq-font{font-weight:bolder}.mq-math-mode var,.mq-math-mode i,.mq-math-mode i.mq-font{font-style:italic}.mq-math-mode var.mq-f{margin-right:.2em;margin-left:.1em}.mq-math-mode .mq-roman var.mq-f{margin:0}.mq-math-mode big{font-size:200%}.mq-math-mode .mq-int>big{display:inline-block;transform:scaleX(0.7);vertical-align:-0.16em}.mq-math-mode .mq-int>.mq-supsub{font-size:80%;vertical-align:-1.1em;padding-right:.2em}.mq-math-mode .mq-int>.mq-supsub>.mq-sup>.mq-sup-inner{vertical-align:1.3em}.mq-math-mode .mq-int>.mq-supsub>.mq-sub{margin-left:-0.35em}.mq-math-mode .mq-roman{font-style:normal}.mq-math-mode .mq-sans-serif{font-family:sans-serif,Symbola,serif}.mq-math-mode .mq-monospace{font-family:monospace,Symbola,serif}.mq-math-mode .mq-overline{border-top:1px solid #000;margin-top:1px}.mq-math-mode .mq-underline{border-bottom:1px solid #000;margin-bottom:1px}.mq-math-mode .mq-binary-operator{padding:0 .2em;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-supsub{text-align:left;font-size:90%;vertical-align:-0.5em}.mq-math-mode .mq-supsub.mq-sup-only{vertical-align:.5em}.mq-math-mode .mq-supsub.mq-sup-only .mq-sup{display:inline-block;vertical-align:text-bottom}.mq-math-mode .mq-supsub .mq-sup{display:block}.mq-math-mode .mq-supsub .mq-sub{display:block;float:left}.mq-math-mode .mq-supsub .mq-binary-operator{padding:0 .1em}.mq-math-mode .mq-supsub .mq-fraction{font-size:70%}.mq-math-mode sup.mq-nthroot{font-size:80%;vertical-align:.8em;margin-right:-0.6em;margin-left:.2em;min-width:.5em}.mq-math-mode .mq-paren{padding:0 .1em;vertical-align:top;transform-origin:center .06em}.mq-math-mode .mq-paren.mq-ghost{color:silver}.mq-math-mode .mq-paren+span{margin-top:.1em;margin-bottom:.1em}.mq-math-mode .mq-array{vertical-align:middle;text-align:center}.mq-math-mode .mq-array>span{display:block}.mq-math-mode .mq-operator-name{font-family:Symbola,"Times New Roman",serif;line-height:.9;font-style:normal}.mq-math-mode var.mq-operator-name.mq-first{padding-left:.2em}.mq-math-mode var.mq-operator-name.mq-last,.mq-math-mode .mq-supsub.mq-after-operator-name{padding-right:.2em}.mq-math-mode .mq-fraction{font-size:90%;text-align:center;vertical-align:-0.4em;padding:0 .2em}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link{display:-moz-groupbox}.mq-math-mode .mq-fraction,.mq-math-mode .mq-large-operator,.mq-math-mode x:-moz-any-link,.mq-math-mode x:default{display:inline-block}.mq-math-mode .mq-numerator,.mq-math-mode .mq-denominator,.mq-math-mode .mq-dot-recurring{display:block}.mq-math-mode .mq-numerator{padding:0 .1em}.mq-math-mode .mq-denominator{border-top:1px solid;float:right;width:100%;padding:.1em}.mq-math-mode .mq-dot-recurring{text-align:center;height:.3em}.mq-math-mode .mq-sqrt-prefix{padding-top:0;position:relative;top:.1em;vertical-align:top;transform-origin:top}.mq-math-mode .mq-sqrt-stem{border-top:1px solid;margin-top:1px;padding-left:.15em;padding-right:.2em;margin-right:.1em;padding-top:1px}.mq-math-mode .mq-diacritic-above{display:block;text-align:center;line-height:.4em}.mq-math-mode .mq-diacritic-stem{display:block;text-align:center}.mq-math-mode .mq-hat-prefix{display:block;text-align:center;line-height:.95em;margin-bottom:-0.7em;transform:scaleX(1.5);-moz-transform:scaleX(1.5);-o-transform:scaleX(1.5);-webkit-transform:scaleX(1.5)}.mq-math-mode .mq-hat-stem{display:block}.mq-math-mode .mq-large-operator{vertical-align:-0.2em;padding:.2em;text-align:center}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator big,.mq-math-mode .mq-large-operator .mq-to{display:block}.mq-math-mode .mq-large-operator .mq-from,.mq-math-mode .mq-large-operator .mq-to{font-size:80%}.mq-math-mode .mq-large-operator .mq-from{float:right;width:100%}.mq-math-mode,.mq-math-mode .mq-editable-field{cursor:text;font-family:Symbola,"Times New Roman",serif}.mq-math-mode .mq-overarc{border-top:1px solid #000;border-top-right-radius:50% .3em;border-top-left-radius:50% .3em;margin-top:1px;padding-top:.15em}.mq-math-mode .mq-overarrow{min-width:.5em;border-top:1px solid #000;margin-top:1px;padding-top:.2em;text-align:center}.mq-math-mode .mq-overarrow:before{display:block;position:relative;top:-0.34em;font-size:.5em;line-height:0em;content:"➤";text-align:right}.mq-math-mode .mq-overarrow.mq-arrow-left:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both{vertical-align:text-bottom}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty{min-height:1.23em}.mq-math-mode .mq-overarrow.mq-arrow-both.mq-empty:after{top:-0.34em}.mq-math-mode .mq-overarrow.mq-arrow-both:before{transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mq-math-mode .mq-overarrow.mq-arrow-both:after{display:block;position:relative;top:-2.3em;font-size:.5em;line-height:0em;content:"➤";visibility:visible;text-align:right}.mq-math-mode .mq-matrix{vertical-align:middle;margin-left:.1em;margin-right:.1em}.mq-math-mode .mq-matrix table{width:auto;border-bottom:none;border-spacing:3px;border-collapse:separate}.mq-math-mode .mq-matrix table.mq-rows-1{vertical-align:middle;margin-bottom:1px}.mq-math-mode .mq-matrix td{border:none;width:auto;padding:.1em .3em;vertical-align:baseline}.mq-math-mode .mq-selection,.mq-editable-field .mq-selection,.mq-math-mode .mq-selection .mq-non-leaf,.mq-editable-field .mq-selection .mq-non-leaf,.mq-math-mode .mq-selection .mq-scaled,.mq-editable-field .mq-selection .mq-scaled{background:#b4d5fe !important;background:Highlight !important;color:HighlightText;border-color:HighlightText}.mq-math-mode .mq-selection .mq-matrixed,.mq-editable-field .mq-selection .mq-matrixed{background:#39f !important}.mq-math-mode .mq-selection .mq-matrixed-container,.mq-editable-field .mq-selection .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#3399FF") !important}.mq-math-mode .mq-selection.mq-blur,.mq-editable-field .mq-selection.mq-blur,.mq-math-mode .mq-selection.mq-blur .mq-non-leaf,.mq-editable-field .mq-selection.mq-blur .mq-non-leaf,.mq-math-mode .mq-selection.mq-blur .mq-scaled,.mq-editable-field .mq-selection.mq-blur .mq-scaled,.mq-math-mode .mq-selection.mq-blur .mq-matrixed,.mq-editable-field .mq-selection.mq-blur .mq-matrixed{background:#d4d4d4 !important;color:#000;border-color:#000}.mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,.mq-editable-field .mq-selection.mq-blur .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="#D4D4D4") !important}.mq-editable-field .mq-textarea,.mq-math-mode .mq-textarea{position:relative;-webkit-user-select:text;-moz-user-select:text;user-select:text}.mq-editable-field .mq-textarea *,.mq-math-mode .mq-textarea *,.mq-editable-field .mq-selectable,.mq-math-mode .mq-selectable{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:absolute;clip:rect(1em 1em 1em 1em);transform:scale(0);resize:none;width:1px;height:1px;box-sizing:content-box}.mq-math-mode .mq-matrixed{background:#fff;display:-moz-inline-box;display:inline-block}.mq-math-mode .mq-matrixed-container{filter:progid:DXImageTransform.Microsoft.Chroma(color="white");margin-top:-0.1em}table.mq-non-leaf td[mathquill-block-id]{padding:4px 8px;text-align:center}.mq-math-mode sup.mq-nthroot{font-size:75%;vertical-align:.4em}.mq-root-block{padding:5px}.mq-root-block,.mq-math-mode .mq-root-block{padding:5px}.mq-math-mode .mq-supsub.mq-sup-only>.mq-sup{font-size:90%}.mq-nthroot.mq-non-leaf{padding:8px 0 !important}div[data-pygen] span.mq-editable-field{min-width:250px}div[data-pygen] .pygen-cloze span.mq-editable-field{min-width:initial}div[data-pygen] .pw-me-editorinput{margin-bottom:40px}div.pw-me-tabmenu .mq-supsub.mq-non-leaf.mq-sup-only{vertical-align:super !important} \ No newline at end of file diff --git a/src/styles/index.scss b/src/styles/index.scss index 9e7d6a0..629ad02 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -305,8 +305,8 @@ div[data-pygen] { */ @font-face { font-family: Symbola; - src: url(fonts/Symbola.eot); - src: local("Symbola Regular"), local("Symbola"), url(fonts/Symbola.woff2) format("woff2"), url(fonts/Symbola.woff) format("woff"), url(fonts/Symbola.ttf) format("truetype"), url(fonts/Symbola.svg#Symbola) format("svg"); + src: url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.eot); + src: local("Symbola Regular"), local("Symbola"), url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff2) format("woff2"), url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.woff) format("woff"), url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.ttf) format("truetype"), url(https://piworld.es/iedib/mqwidgets2/fonts/Symbola.svg#Symbola) format("svg"); } .mq-editable-field {