PageSourceSearch

https://codecombat.com/javascripts/chunks/courses-3d8f034438b8d42ea452.bundle.js

js codecombat.com collected 2026-09-24 08:29:10 UTC 502,969 bytes, 3 lines download raw bytes

1/*! For license information please see courses-3d8f034438b8d42ea452.bundle.js.LICENSE.txt */
2(self.webpackChunkcodecombat=self.webpackChunkcodecombat||[]).push([[2953],{708747:(e,t,s)=>{"use strict";var a,n=s(619755);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,a=Array(t);s<t;s++)a[s]=e[s];return a}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,c(a.key),a)}}function c(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==r(t)?t:t+""}function u(e,t,s){return t=h(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,d()?Reflect.construct(t,s||[],h(e).constructor):t.apply(e,s))}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(d=function(){return!!e})()}function p(){return p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=v(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},p.apply(null,arguments)}function v(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=h(e)););return e}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}var m=s(967950),g=s(566978);e.exports=((a=function(e){function t(){return i(this,t),u(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(t,e),a=t,r=[{key:"initialize",value:function(e,s){return null==s&&(s={}),this.options=s,this.forceCourseNumbering=this.options.forceCourseNumbering,p(h(t.prototype),"initialize",this).apply(this,arguments)}},{key:"_prepareModel",value:function(e,s){return e.forceCourseNumbering=this.forceCourseNumbering,p(h(t.prototype),"_prepareModel",this).apply(this,arguments)}},{key:"fetchByType",value:function(e,t){return null==t&&(t={}),null==t.data&&(t.data={}),t.data.type=e,this.fetch(t)}},{key:"fetchCampaignsAndRelatedLevels",value:function(e,t){var a=this;null==e&&(e={}),null==t&&(t={});var r=s(318038);null==e.data&&(e.data={}),e.data.project="slug";var i=e.exclude||[];return this.fetch(e).then((function(){var e,s=a.filter((function(e){return Array.from(i).includes(e.get("slug"))}));a.remove(s),null==t.data&&(t.data={}),null==t.data.project&&(t.data.project="thangs,name,slug,campaign,tasks");for(var l=[],c=0,u=Array.from(a.models);c<u.length;c++){var d=u[c];d.levels=new r,l.push(d.levels.fetchForCampaign(d.get("slug"),t))}return(e=n).when.apply(e,function(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Array.from(l||[])))}))}}],c=[{key:"initClass",value:function(){this.prototype.model=m,this.prototype.url="/db/campaign"}}],r&&l(a.prototype,r),c&&l(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,r,c}(g)).initClass(),a)},868405:e=>{"use strict";e.exports=function(){return function(e){if(!window.filepicker){var t=e.createElement("script");t.type="text/javascript",t.async=!0,t.src=("https:"===e.location.protocol?"https:":"http:")+"//api.filepicker.io/v1/filepicker.js";var s=e.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s);for(var a={_queue:[]},n="pick,pickMultiple,pickAndStore,read,write,writeUrl,export,convert,store,storeUrl,remove,stat,setKey,constructWidget,makeDropPane".split(","),r=function(e,t){return function(){t.push([e,arguments])}},o=0;o<n.length;)a[n[o]]=r(n[o],a._queue),o++;a.setKey("AvlkNoldcTOU4PvKi2Xm7z"),window.filepicker=a}}(document)}},858775:e=>{"use strict";e.exports={recaptcha_site_key:"6LczOkMUAAAAAGIBakVQcWk2EhCzWapwC79nZbDa"}},670612:(e,t,s)=>{"use strict";var a=s(665420),n=s(619755);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o=l(s(694879)),i=l(s(727851));
vendor: 4,271 bytes, line 2
2function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!s){if(Array.isArray(e)||(s=function(e,t){if(e){if("string"==typeof e)return u(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){s&&(e=s);var a=0,n=function(){};return{s:n,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,i=!1;return{s:function(){s=s.call(e)},n:function(){var e=s.next();return o=e.done,e},e:function(e){i=!0,r=e},f:function(){try{o||null==s.return||s.return()}finally{if(i)throw r}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,a=Array(t);s<t;s++)a[s]=e[s];return a}function d(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function p(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?d(Object(s),!0).forEach((function(t){v(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):d(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function v(e,t,s){return(t=y(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function h(){h=function(){return t};var e,t={},s=Object.prototype,a=s.hasOwnProperty,n=Object.defineProperty||function(e,t,s){e[t]=s.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",l=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,s){return Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,s){return e[t]=s}}function d(e,t,s,a){var r=t&&t.prototype instanceof y?t:y,o=Object.create(r.prototype),i=new j(a||[]);return n(o,"_invoke",{value:O(e,s,i)}),o}function p(e,t,s){try{return{type:"normal",arg:e.call(t,s)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var v="suspendedStart",f="executing",m="completed",g={};function y(){}function b(){}function _(){}var w={};u(w,i,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(D([])));C&&C!==s&&a.call(C,i)&&(w=C);var S=_.prototype=y.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function s(n,o,i,l){var c=p(e[n],e,o);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==r(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){s("next",e,i,l)}),(function(e){s("throw",e,i,l)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return s("throw",e,i,l)}))}l(c.arg)}var o;n(this,"_invoke",{value:function(e,a){function n(){return new t((function(t,n){s(e,a,t,n)}))}return o=o?o.then(n,n):n()}})}function O(t,s,a){var n=v;return function(r,o){if(n===f)throw Error("Generator is already running");if(n===m){if("throw"===r)throw o;return{value:e,done:!0}}for(a.method=r,a.arg=o;;){var i=a.delegate;if(i){var l=L(i,a);if(l){if(l===g)continue;return l}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(n===v)throw n=m,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);n=f;var c=p(t,s,a);if("normal"===c.type){if(n=a.done?m:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(n=m,a.method="throw",a.arg=c.arg)}}}function L(t,s){var a=s.method,n=t.iterator[a];if(n===e)return s.delegate=null,"throw"===a&&t.iterator.return&&(s.method="return",s.arg=e,L(t,s),"throw"===s.method)||"return"!==a&&(s.method="throw",s.arg=new TypeError("The iterator does not provide a '"+a+"' method")),g;var r=p(n,t.iterator,s.arg);if("throw"===r.type)return s.method="throw",s.arg=r.arg,s.delegate=null,g;var o=r.arg;
vendor: 5,283 bytes, line 2
2return o?o.done?(s[t.resultName]=o.value,s.next=t.nextLoc,"return"!==s.method&&(s.method="next",s.arg=e),s.delegate=null,g):o:(s.method="throw",s.arg=new TypeError("iterator result is not an object"),s.delegate=null,g)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function D(t){if(t||""===t){var s=t[i];if(s)return s.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function s(){for(;++n<t.length;)if(a.call(t,n))return s.value=t[n],s.done=!1,s;return s.value=e,s.done=!0,s};return o.next=o}}throw new TypeError(r(t)+" is not iterable")}return b.prototype=_,n(S,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:b,configurable:!0}),b.displayName=u(_,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,u(e,c,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(P.prototype),u(P.prototype,l,(function(){return this})),t.AsyncIterator=P,t.async=function(e,s,a,n,r){void 0===r&&(r=Promise);var o=new P(d(e,s,a,n),r);return t.isGeneratorFunction(s)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(S),u(S,c,"Generator"),u(S,i,(function(){return this})),u(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),s=[];for(var a in t)s.push(a);return s.reverse(),function e(){for(;s.length;){var a=s.pop();if(a in t)return e.value=a,e.done=!1,e}return e.done=!0,e}},t.values=D,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var s in this)"t"===s.charAt(0)&&a.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var s=this;function n(a,n){return i.type="throw",i.arg=t,s.next=a,n&&(s.method="next",s.arg=e),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var n=this.tryEntries[s];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var o=r?r.completion:{};return o.type=e,o.arg=t,r?(this.method="next",this.next=r.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.finallyLoc===e)return this.complete(s.completion,s.afterLoc),T(s),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.tryLoc===e){var a=s.completion;if("throw"===a.type){var n=a.arg;T(s)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,s,a){return this.delegate={iterator:D(t),resultName:s,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function f(e,t,s,a,n,r,o){try{var i=e[r](o),l=i.value}catch(e){return void s(e)}i.done?t(l):Promise.resolve(l).then(a,n)}function m(e){return function(){var t=this,s=arguments;return new Promise((function(a,n){var r=e.apply(t,s);function o(e){f(r,a,n,o,i,"next",e)}function i(e){f(r,a,n,o,i,"throw",e)}o(void 0)}))}}function g(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,y(a.key),a)}}function y(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==r(t)?t:t+""}function b(e,t,s){return t=w(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,_()?Reflect.construct(t,s||[],w(e).constructor):t.apply(e,s))}function _(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_=function(){return!!e})()}
2function w(e){return w=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},w(e)}function k(e,t){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},k(e,t)}var C,S,x,P=s(299498),O=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),me.useGoogleClassroom()&&a.gplusHandler.loadAPI(),b(this,t)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&k(e,t)}(t,e),s=t,n=[{key:"loadClassroomsFromAPI",value:function(){var e=this;return new Promise((function(t,s){e.requestGoogleAccessToken((function(){gapi.client.load("classroom","v1",(function(){gapi.client.classroom.courses.list({access_token:a.gplusHandler.token(),teacherId:me.get("gplusID"),courseStates:"ACTIVE"}).then((function(e){t(e.result.courses||[])})).catch((function(e){console.error("Error in fetching from Google Classroom loadClassroom:",e),s(e)}))}))}))}))}},{key:"loadStudentsFromAPI",value:function(e){var t=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(n,r){var o=function(){return gapi.client.load("classroom","v1",(function(){gapi.client.classroom.courses.students.list({access_token:a.gplusHandler.token(),courseId:e,pageToken:s}).then((function(e){n(e.result||{})})).catch((function(e){console.error("Error in fetching from Google Classroom loadStudent:",e),r(e)}))}))};a.gplusHandler.token()?o():t.requestGoogleAccessToken(o)}))}},{key:"requestGoogleAccessToken",value:function(e){a.gplusHandler.requestGoogleAuthorization("https://www.googleapis.com/auth/classroom.courses.readonly https://www.googleapis.com/auth/classroom.profile.emails https://www.googleapis.com/auth/classroom.rosters.readonly",e)}}],n&&g(s.prototype,n),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,n}(i.default);e.exports={gcApiHandler:new O,scopes:"https://www.googleapis.com/auth/classroom.courses.readonly https://www.googleapis.com/auth/classroom.profile.emails https://www.googleapis.com/auth/classroom.rosters.readonly",markAsImported:(x=m(h().mark((function e(t){var s;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!(s=me.get("googleClassrooms").find((function(e){return e.id==t})))){e.next=8;break}return P.isCodeCombat?s.importedToCoco=!0:s.importedToOzaria=!0,e.next=6,new Promise(me.save().then);case 6:e.next=9;break;case 8:return e.abrupt("return",Promise.reject("Classroom not found in me.googleClassrooms"));case 9:e.next=15;break;case 11:return e.prev=11,e.t0=e.catch(0),console.error("Error in marking classroom as imported:",e.t0),e.abrupt("return",Promise.reject("Error in marking classroom as imported"));case 15:case"end":return e.stop()}}),e,null,[[0,11]])}))),function(e){return x.apply(this,arguments)}),importClassrooms:(S=m(h().mark((function e(){var t,s,a,n,r,o;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.gcApiHandler.loadClassroomsFromAPI();case 3:return t=e.sent,s=t.map((function(e){return{id:e.id,name:e.name}})),a=me.get("googleClassrooms")||[],n=[],s.forEach((function(e){var t=a.find((function(t){return t.id==e.id}));n.push(p(p({},t),e))})),r=n.map((function(e){return e.id})),(o=a.filter((function(e){return(e.importedToCoco||e.importedToOzaria)&&!r.includes(e.id)}
2))).forEach((function(e){return e.deletedFromGC=!0})),n=n.concat(o),me.set("googleClassrooms",n),e.next=15,new Promise(me.save().then);case 15:e.next=21;break;case 17:return e.prev=17,e.t0=e.catch(0),console.error("Error in importing classrooms",e.t0),e.abrupt("return",Promise.reject());case 21:case"end":return e.stop()}}),e,this,[[0,17]])}))),function(){return S.apply(this,arguments)}),importStudentsToClassroom:(C=m(h().mark((function e(t){var a,r,i,l,u,d,p,v,f,m,g,y,b,_,w,k;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=s(196363),e.prev=1,t=(null===(r=t)||void 0===r?void 0:r.attributes)||t,i=t.googleClassroomId,l=[],e.next=7,this.gcApiHandler.loadStudentsFromAPI(i);case 7:u=e.sent,l=l.concat(u.students||[]);case 9:if(!((u.nextPageToken||"").length>0)){e.next=17;break}return d=u.nextPageToken,e.next=13,this.gcApiHandler.loadStudentsFromAPI(i,d);case 13:u=e.sent,l=l.concat(u.students||[]),e.next=9;break;case 17:p=[],v=c(l);try{for(v.s();!(f=v.n()).done;)m=f.value,g={firstName:m.profile.name.givenName,lastName:m.profile.name.familyName,email:m.profile.emailAddress,gplusID:m.userId},p.push(o.default.users.signupFromGoogleClassroom(g))}catch(e){v.e(e)}finally{v.f()}return e.next=22,Promise.all(p.map((function(e){return e.catch((function(e){return e.isError=!0,e}))})));case 22:if(y=e.sent,b=y.filter((function(e){return!e.isError})),_=y.filter((function(e){return e.isError&&"student-account-exists"!=e.errorID})),w=y.filter((function(e){return"student-account-exists"===e.errorID})).map((function(e){return e.error})).filter((function(e){return P.isCodeCombat||"student"===e.role})),console.debug("Students created:",b),_.length>0&&console.error("Error in creating some students:",_),!((k=b.concat(w.filter((function(e){return!t.members.includes(e._id)})))).length>0)){e.next=41;break}if(!P.isCodeCombat){e.next=35;break}return e.next=33,o.default.classrooms.addMembers({classroomID:t._id,members:k});case 33:e.next=37;break;
2case 35:return e.next=37,a.dispatch("classrooms/addMembersToClassroom",{classroom:t,members:k});case 37:return noty({text:k.length+" Students imported.",layout:"topCenter",timeout:3e3,type:"success"}),e.abrupt("return",k);case 41:if(!P.isCodeCombat){e.next=46;break}return console.error("No new students imported. Error:",y),e.abrupt("return",Promise.reject("No new students imported"));case 46:if(!(_.length>0)){e.next=51;break}return console.error("No new students imported. Error:",_),e.abrupt("return",Promise.reject("No new students imported"));case 51:return noty({text:n.i18n.t("teachers.no_new_students_imported"),layout:"topCenter",type:"success",timeout:3e3}),e.abrupt("return",[]);case 53:e.next=59;break;case 55:return e.prev=55,e.t0=e.catch(1),console.error("Error in importing students",e.t0),e.abrupt("return",Promise.reject("Error in importing students: ".concat(e.t0.message)));case 59:case"end":return e.stop()}}),e,this,[[1,55]])}))),function(e){return C.apply(this,arguments)})}},807621:(e,t,s)=>{"use strict";var a=s(619755),n=s(276623),r=s(299498);null==window.saveAs&&(window.saveAs=s(178598)),window.saveAs.saveAs&&(window.saveAs=window.saveAs.saveAs),e.exports={exportStudentProgress:function(e){var t,s,o,i,l,c,u=e.classroom,d=e.sortedCourses,p=e.students,v=e.courses,h=e.courseInstances,f=e.levels,m=e.progressData;null!=window.tracker&&window.tracker.trackEvent("Teachers Class Export CSV",{category:"Teachers",classroomID:u.id});var g="",y=function(){for(var e=[],t=0,s=Array.from(d);t<s.length;t++)c=s[t],e.push(v.get(c._id));return e}(),b=n.courseLabelsArray(y);for(o=0;o<y.length;o++)s=y[o],g+="".concat(b[o]," Levels,").concat(b[o]," Playtime(humanize),").concat(b[o]," Playtime(seconds),");for(var w="Name,Username,Email,Total Levels,Total Playtime(humanize), Total Playtime(seconds),".concat(g,"Concepts\n"),k={},C={},S=null===(t=u.get("aceConfig"))||void 0===t?void 0:t.language,x=0,P=Array.from(u.getSortedCourses());x<P.length;x++){i=P[x];for(var O=0,L=Array.from(i.levels);O<L.length;O++)l=L[O],S&&l.primerLanguage===S||(l.practice?C[l.original]=!0:k[l.original]=i._id)}for(var I=0,T=Array.from(p.models);I<T.length;I++){for(var j=T[I],D=void 0,E=void 0,R=[],A=0,N=Array.from(u.getSortedCourses());A<N.length;A++)if(i=N[A],s=v.get(i._id),!r.HACKSTACK_COURSE_IDS.includes(i._id)){var M=h.findWhere({courseID:s.id,classroomID:u.id});if(M&&M.hasMember(j))for(var F=0,B=Array.from(i.levels);F<B.length;F++)if(l=B[F],!(E=f.findWhere({original:l.original})).get("assessment")){var U,z=m.get({classroom:u,course:s,level:E,user:j});if(null!=z?z.completed:void 0)R.push(null!=(U=E.get("concepts"))?U:[])}}R=_.union(_.flatten(R));for(var $=_.map(R,(function(e){return a.i18n.t("concepts."+e)})).join(", "),q={},V=0,H=0,G=0,W=Array.from(u.sessions.models);G<W.length;G++){var Z,Y=W[G];Y.get("creator")===j.id&&null!==(Z=Y.get("state"))&&void 0!==Z&&Z.complete&&(C[Y.get("level").original]||(null!=(E=f.findWhere({original:Y.get("level").original}))?E.get("assessment"):void 0)||(V++,H+=Y.get("playtime")||0,(D=k[Y.get("level").original])&&(null==q[D]&&(q[D]={levels:0,playtime:0}),q[D].levels++,q[D].playtime+=Y.get("playtime")||0)))}for(var J=0===H?"0":moment.duration(H,"seconds").humanize(),Q=0,K=Array.from(d);Q<K.length;Q++)null==q[(s=K[Q])._id]&&(q[s._id]={levels:0,playtime:0});for(var X=[],ee=0,te=Array.from(d);ee<te.length;ee++){var se=q[D=(s=te[ee])._id];X.push({id:D,levels:se.levels,playtime:se.playtime})}r.sortCourses(X);var ae="";for(o=0;o<X.length;o++){var ne=X[o];ae+="".concat(ne.levels,","),0===ne.playtime?ae+="0,0,":ae+="".concat(moment.duration(ne.playtime,"seconds").humanize(),",").concat(ne.playtime,",")}w+="".concat(j.broadName(),",").concat(j.get("name"),",").concat(j.get("email")||"",",").concat(V,",").concat(J,",").concat(H,",").concat(ae,'"').concat($,'"\n')}w=w.substring(0,w.length-1);var re=new Blob([w],{type:"text/csv;charset=utf-8"});return window.saveAs(re,"CodeCombat.csv")}}},987181:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,o(a.key),a)}}function o(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function i(e,t,s){return t=c(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,s||[],c(e).constructor):t.apply(e,s))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}
2function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}var d,p=s(246709);e.exports=((d=function(e){function t(){return n(this,t),i(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),a=t,o=[{key:"initClass",value:function(){this.className="Purchase",this.prototype.urlRoot="/db/purchase",this.schema=s(259466)}},{key:"makeFor",value:function(e){return new t({recipient:me.id,purchaser:me.id,purchased:{original:e.get("original"),collection:_.string.underscored(e.constructor.className)}})}}],null&&r(a.prototype,null),o&&r(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o}(p)).initClass(),d)},105603:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,o(a.key),a)}}function o(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function i(e,t,s){return t=c(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,s||[],c(e).constructor):t.apply(e,s))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}var d,p=s(246709);e.exports=((d=function(e){function t(){return n(this,t),i(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),a=t,o=[{key:"initClass",value:function(){this.className="Tournament",this.schema=s(83690),this.prototype.urlRoot="/db/tournament"}}],null&&r(a.prototype,null),o&&r(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o}(p)).initClass(),d)},820256:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,o(a.key),a)}}function o(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function i(e,t,s){return t=c(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,s||[],c(e).constructor):t.apply(e,s))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}
2function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}var d,p=s(246709),v=s(854035);e.exports=((d=function(e){function t(){return n(this,t),i(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),s=t,o=[{key:"initClass",value:function(){this.className="TrialRequest",this.schema=v,this.prototype.urlRoot="/db/trial.request"}}],(a=[{key:"nameString",value:function(){var e=this.get("properties");return _.filter(_.at(e,"name","email")).join(" / ")}},{key:"locationString",value:function(){var e=this.get("properties");return _.filter(_.at(e,"city","state","country")).join(" ")}},{key:"educationLevelString",value:function(){return(this.get("properties").educationLevel||[]).join(", ")}}])&&r(s.prototype,a),o&&r(s,o),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,o}(p)).initClass(),d)},259466:(e,t,s)=>{"use strict";var a=s(975434),n=a.object({title:"Purchase",required:["purchaser","recipient","purchased"]},{purchaser:a.objectId({links:[{rel:"extra",href:"/db/user/{($)}"}]}),recipient:a.objectId({links:[{rel:"extra",href:"/db/user/{($)}"}]}),purchased:a.object({title:"Target",required:["collection","original"]},{collection:{enum:["level","thang_type"]},original:a.objectId({title:"Target Original"})}),created:a.date({title:"Created",readOnly:!0}),archived:a.date({description:"Marks this record for automatic online archiving to cold storage by our cloud database."})});a.extendBasicProperties(n,"purchase"),e.exports=n},83690:(e,t,s)=>{"use strict";var a=s(975434),n=a.object({title:"Tournament",description:"A scheduled tournament with certain date, level and clan",required:["levelOriginal","name"],default:{simulationType:"round-robin"}});a.extendNamedProperties(n),_.extend(n.properties,{description:{type:"string"},created:a.date({title:"Created",readOnly:!0}),levelOriginal:a.objectId(),startDate:a.stringDate(),endDate:a.stringDate(),resultsDate:a.stringDate({description:"The date when the tournament results will be announced (hidden until then)"}),simulationType:{type:"string"},simulationPriority:{type:"number",description:"0/unset means current match queue priority, 1-5 to increase redis priority so that the matches are simulated earlier"},reviewResults:{type:"boolean",description:"if the owner want to review results before it be published"},state:{type:"string",enum:["initializing","starting","ranking","waiting","abandoned","ended","disabled"]},clan:a.objectId({links:[{rel:"db",href:"/db/clan/{($)}"}]}),displayName:{type:"string",description:"overwrites visual name of tournament"}}),a.extendBasicProperties(n,"tournament"),e.exports=n},854035:(e,t,s)=>{"use strict";var a=s(975434),n=a.object({title:"Trial request",required:["type"]});_.extend(n.properties,{applicant:a.objectId({links:[{rel:"extra",href:"/db/user/{($)}"}]}),created:a.date(),prepaidCode:a.objectId(),reviewDate:a.date({readOnly:!0}),reviewer:a.objectId({links:[{rel:"extra",href:"/db/user/{($)}"}]}),properties:{type:"object",description:"Data specific to this request."},status:{type:"string",enum:["submitted","approved","denied"]},type:{type:"string",enum:["course","subscription"]}}),a.extendBasicProperties(n,"TrialRequest"),e.exports=n},708399:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,o(a.key),a)}}function o(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function i(e,t,s){return t=d(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,s||[],d(e).constructor):t.apply(e,s))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function c(){return c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=u(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},c.apply(null,arguments)}function u(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=d(e)););return e}
2function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}var v,h=s(976911),f=s(196363),m={commit:_.noop,dispatch:_.noop};e.exports=((v=function(e){function t(){return n(this,t),i(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(t,e),s=t,a=[{key:"afterRender",value:function(){if(this.vueComponent)this.$el.find("#site-content-area").replaceWith(this.vueComponent.$el);else{if(this.vuexModule){if(!_.isFunction(this.vuexModule))throw new Error("@vuexModule should be a function");f.registerModule("page",this.vuexModule())}this.vueComponent=new this.VueComponent({el:this.$el.find("#site-content-area")[0],propsData:this.propsData,store:f}),window.rootComponent=this.vueComponent}return c(d(t.prototype),"afterRender",this).apply(this,arguments)}},{key:"destroy",value:function(){return this.vuexModule&&f.unregisterModule("page"),this.vueComponent.$destroy(),this.vueComponent.$store=m,c(d(t.prototype),"destroy",this).call(this)}}],o=[{key:"initClass",value:function(){this.prototype.VueComponent=null,this.prototype.vuexModule=null,this.prototype.propsData=null}}],a&&r(s.prototype,a),o&&r(s,o),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,o}(h)).initClass(),v)},837725:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}t.Z=void 0;var n=o(s(524549)),r=o(s(575378));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,s){return t=u(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,s||[],u(e).constructor):t.apply(e,s))}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}var p=function(e){function t(){var e,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return i(this,t),(e=l(this,t,[s])).propsData=s.propsData,e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(t,e),s=t,Object.defineProperty(s,"prototype",{writable:!1}),s;var s}(n.default);p.prototype.id="share-with-teacher-modal",p.prototype.template=s(97625),p.prototype.VueComponent=r.default,p.prototype.propsData=null,p.prototype.closesOnClickOutside=!0,p.prototype.closesOnEscape=!0,t.Z=p},855272:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}t.Z=void 0;var n=o(s(524549)),r=o(s(749873));function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t,s){return t=u(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,s||[],u(e).constructor):t.apply(e,s))}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}
2function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}var p=function(e){function t(){return i(this,t),l(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(t,e),s=t,Object.defineProperty(s,"prototype",{writable:!1}),s;var s}(n.default);p.prototype.id="teacher-details-modal",p.prototype.template=s(97625),p.prototype.VueComponent=r.default,p.prototype.propsData=null,p.prototype.closesOnClickOutside=!0,p.prototype.closesOnEscape=!0,t.Z=p},385241:(e,t,s)=>{"use strict";var a,n=s(619755),r=s(665420);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,a=Array(t);s<t;s++)a[s]=e[s];return a}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,u(a.key),a)}}function u(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function d(e,t,s){return t=f(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,p()?Reflect.construct(t,s||[],f(e).constructor):t.apply(e,s))}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(p=function(){return!!e})()}function v(){return v="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=h(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},v.apply(null,arguments)}function h(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}s(938869);var g=s(609838),y=s(921336),b=s(357529),_=s(439980),w=s(186421),k=s(670612),C=s(504015),S=s(218484);e.exports=((a=function(e){function t(){var e;l(this,t);for(var s=arguments.length,a=new Array(s),n=0;n<s;n++)a[n]=arguments[n];return(e=d(this,t,[].concat(a))).onFileChosen=e.onFileChosen.bind(e),e.onFileUploaded=e.onFileUploaded.bind(e),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(t,e),a=t,o=[{key:"initialize",value:function(e){var t,a,r=this;null==e&&(e={}),this.classroom=e.classroom||new g,this.googleClassrooms=me.get("googleClassrooms")||[],this.lmsClassrooms=[],this.isGoogleClassroom=!1,this.enableCpp=me.enableCpp(),this.enableJava=me.enableJava(),this.enableBlocks=["python","javascript","lua"].includes((null===(t=this.classroom.get("aceConfig"))||void 0===t?void 0:t.language)||"python"),this.uploadFilePath="db/classroom/".concat(this.classroom.id),C.application.isIPadApp||s(868405)(),this.shouldShowLMSButton()&&S.getEdLinkClassrooms().then((function(e){r.lmsClassrooms=e.data,r.showLMSDropDown&&(r.render(),n(".class-name").hide())})),this.showLMSDropDown=!1,this.enabledCodeFormats=(null===(a=this.classroom.get("aceConfig"))||void 0===a?void 0:a.codeFormats)||["text-code"]}}
2,{key:"afterRender",value:function(){v(f(t.prototype),"afterRender",this).call(this),_.updateSelects(this.$("form"))}},{key:"onChangeClassroomItems",value:function(e){this.hasChangedClassroomItems=!0}},{key:"onChangeProgrammingLanguage",value:function(e){var t=n(e.target).val();this.enableBlocks=["python","javascript","lua"].includes(t),this.renderSelectors(".code-formats-part")}},{key:"onChangeCodeFormats",value:function(e){var t=this.$(".codeformats-checkbox:checked").map((function(e,t){return n(t).val()})).get();this.enabledCodeFormats=t,this.renderSelectors("#default-codeformat-select")}},{key:"onSubmitForm",value:function(e){var t;this.classroom.notyErrors=!1,e.preventDefault();var s=this.$("form");_.clearFormAlerts(s);var a=_.formToObject(s,{ignoreEmptyString:!1});if(a.language)if(a.aceConfig={language:a.language},delete a.language,a.type||!me.isILK()){a.classroomItems&&this.hasChangedClassroomItems?a.classroomItems="on"===a.classroomItems[0]:delete a.classroomItems,a.liveCompletion&&(a.aceConfig.liveCompletion="on"===a.liveCompletion[0],delete a.liveCompletion),this.enableBlocks||(a.codeFormats=["text-code"],a.codeFormatDefault="text-code"),a.codeFormats&&(a.aceConfig.codeFormats=a.codeFormats,delete a.codeFormats),a.codeFormatDefault&&(a.aceConfig.codeFormatDefault=a.codeFormatDefault,delete a.codeFormatDefault);var r=a.aceConfig.codeFormats||["text-code"],o=a.aceConfig.codeFormatDefault||"text-code";if(r.includes(o)||(a.aceConfig.codeFormats=a.aceConfig.codeFormats||r,a.aceConfig.codeFormats.push(o)),a.levelChat&&(a.aceConfig.levelChat=a.levelChat[0]||"none",delete a.levelChat),this.isGoogleClassroom||this.showLMSDropDown)if(a.googleClassroomId){var l=me.get("googleClassrooms").find((function(e){return e.id===a.googleClassroomId}));a.name=l.name,delete a.lmsClassroomId}else{if(!a.lmsClassroomId)return void _.setErrorToProperty(s,"googleClassroomId",n.i18n.t("common.required_field"));a.name=this.lmsClassrooms.find((function(e){return e.id===a.lmsClassroomId})).name,delete a.googleClassroomId}else delete a.googleClassroomId,delete a.lmsClassroomId;this.classroom.set(a);var c=this.classroom.getValidationErrors();if(c){var u,d=function(e,t){var s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!s){if(Array.isArray(e)||(s=function(e,t){if(e){if("string"==typeof e)return i(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){s&&(e=s);var a=0,n=function(){};return{s:n,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){s=s.call(e)},n:function(){var e=s.next();return o=e.done,e},e:function(e){l=!0,r=e},f:function(){try{o||null==s.return||s.return()}finally{if(l)throw r}}}}(c);try{for(d.s();!(u=d.n()).done;){var p=u.value;"/properties/name/minLength"===p.schemaPath&&(p.message="Please enter a class name.")}}catch(e){d.e(e)}finally{d.f()}_.applyErrorsToForm(s,c)}else{var v=this.$("#save-settings-btn");this.oldButtonText=v.text(),v.text(n.i18n.t("common.saving")).attr("disabled",!0),this.classroom.save(),this.listenToOnce(this.classroom,"error",(function(e,t){this.stopListening(this.classroom,"sync",this.hide),v.text(this.oldButtonText).attr("disabled",!1),w.showNotyNetworkError(t)})),this.listenToOnce(this.classroom,"sync",this.hide),null===(t=window.tracker)||void 0===t||t.trackEvent("Teachers Edit Class Saved",{category:"Teachers",classroomID:this.classroom.id})}}else _.setErrorToProperty(s,"type",n.i18n.t("common.required_field"));else _.setErrorToProperty(s,"language",n.i18n.t("common.required_field"))}},{key:"onClickUpdateCoursesButton",value:function(){var e=this;this.$("#update-courses-btn").attr("disabled",!0),Promise.resolve(this.classroom.updateCourses()).then((function(){e.$("#update-courses-btn").attr("disabled",!1),noty({text:"Updated",timeout:2e3})})).catch((function(t){var s;console.log("e",t),e.$("#update-courses-btn").attr("disabled",!1),noty({text:(null===(s=t.responseJSON)||void 0===s?void 0:s.message)||t.responseText||"Error!",type:"error",timeout:5e3})}))}},{key:"shouldShowGoogleClassroomButton",value:function(){return me.useGoogleClassroom()&&this.classroom.isNew()}},{key:"shouldShowLMSButton",value:function(){return me.isEdLinkAccount()}},{key:"onClickLinkLMSClassroom",value:function(){return this.showLMSDropDown=!0,this.render(),n(".class-name").hide()}},{key:"onClickLinkGoogleClassroom",value:function(){var e=this;n("#link-google-classroom-btn").text("Linking..."),n("#link-google-classroom-btn").attr("disabled",!0),r.gplusHandler.loadAPI({success:function(){e.linkGoogleClassroom()}})}},{key:"linkGoogleClassroom",value:function(){var e=this;this.isGoogleClassroom=!0,k.importClassrooms().then((function(){e.googleClassrooms=me.get("googleClassrooms").filter((function(e){return!e.importedToCoco&&!e.deletedFromGC})),e.render(),n(".google-class-name").show(),n(".class-name").hide(),n("#link-google-classroom-btn").hide()})).catch((function(t){noty({text:t||"Error in importing classrooms",layout:"topCenter",type:"error",timeout:3e3}),e.render()}))}},{key:"onClickCreateManually",value:function(){this.isGoogleClassroom=!1,this.render(),n(".google-class-name").hide(),n(".class-name").show(),n("#link-google-classroom-btn").show()}},{key:"onPickImage",value:function(){filepicker.pick(this.onFileChosen)}},{key:"onFileChosen",value:function(e){var t={url:e.url,filename:e.filename,mimetype:e.mimetype,path:this.uploadFilePath,force:!0};this.uploadingPath=[this.uploadFilePath,e.filename].join("/"),n.ajax("/file",{type:"POST",data:t,success:this.onFileUploaded})}},{key:"onFileUploaded",value:function(e){n("textarea#classroom-announcement").append("![".concat(e.metadata.name,"](/file/").concat(this.uploadingPath,")"))}}],u=[{key:"initClass",value:function(){this.prototype.id="classroom-settings-modal",this.prototype.template=b,this.prototype.schema=s(264956),this.prototype.events={"click #save-settings-btn":"onSubmitForm","click #update-courses-btn":"onClickUpdateCoursesButton","submit form":"onSubmitForm","click #link-google-classroom-btn":"onClickLinkGoogleClassroom","click .create-manually":"onClickCreateManually","click .pick-image-button":"onPickImage","click #link-lms-classroom-btn":"onClickLinkLMSClassroom","change #classroom-items":"onChangeClassroomItems","change #programming-language-select":"onChangeProgrammingLanguage","change .codeformats-checkbox":"onChangeCodeFormats"}}}],o&&c(a.prototype,o),u&&c(a,u),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o,u}
2(y)).initClass(),a)},263354:(e,t,s)=>{"use strict";var a,n=s(665420),r=s(619755);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,c(a.key),a)}}function c(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function u(e,t,s){return t=f(t),d(e,p()?Reflect.construct(t,s||[],f(e).constructor):t.apply(e,s))}function d(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(p=function(){return!!e})()}function v(){return v="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=h(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},v.apply(null,arguments)}function h(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}s(802186),s(967950);var g=s(566978),y=s(573131),b=s(864481),w=s(609838),k=s(616865),C=s(444705),S=s(207036),x=s(318038),P=s(976911),O=s(361233),L=s(249449),I=(s(299498),s(910852),s(385241)),T=s(504457),j=s(571778),D=s(942574),E=s(399809);e.exports=((a=function(e){function t(e,s){var a;return i(this,t),a=u(this,t,arguments),me.isAnonymous()?d(a):(a.classroom=new w({_id:s}),a.supermodel.loadModel(a.classroom),a.courses=new g([],{url:"/db/course",model:y}),a.courses.comparator="_id",a.supermodel.loadCollection(a.courses),a.courses.comparator="_id",a.courseInstances=new g([],{url:"/db/course_instance",model:b}),a.courseInstances.comparator="courseID",a.supermodel.loadCollection(a.courseInstances,{data:{classroomID:s}}),a.prepaids=new S,a.prepaids.comparator="_id",a.prepaids.fetchByCreator(me.id),a.supermodel.loadCollection(a.prepaids),a.users=new g([],{url:"/db/classroom/".concat(s,"/members?memberLimit=100"),model:L}),a.users.comparator=function(e){return e.broadName().toLowerCase()},a.supermodel.loadCollection(a.users),a.listenToOnce(a.courseInstances,"sync",a.onCourseInstancesSync),a.sessions=new g([],{model:C}),a.ownedClassrooms=new k,a.ownedClassrooms.fetchMine({data:{project:"_id"}}),a.supermodel.trackCollection(a.ownedClassrooms),a.levels=new x,a.levels.fetchForClassroom(s,{data:{project:"name,original,practice,slug"}}),a.levels.on("add",(function(e){return this._byId[e.get("original")]=e})),a.supermodel.trackCollection(a.levels),window.tracker&&window.tracker.trackEvent("Students Class Loaded",{category:"Students",classroomID:s}),a)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(t,e),s=t,a=[{key:"onCourseInstancesSync",value:function(){var e,t,s=this;this.sessions=new g([],{model:C});for(var a=0,n=Array.from(this.courseInstances.models);a<n.length;a++)e=n[a],t=new g([],{url:"/db/course_instance/".concat(e.id,"/level_sessions"),model:C}),this.supermodel.loadCollection(t,{data:{project:["level","playtime","creator","changed","state.complete"].join(" ")}}),e.sessions=t,t.courseInstance=e,e.sessionsByUser={},this.listenToOnce(t,"sync",(function(t){var s=this;return this.sessions.add(t.slice()),function(){for(var t=[],a=0,n=Array.from(s.courseInstances.models);a<n.length;a++)e=n[a],t.push(e.sessionsByUser=e.sessions.groupBy("creator"));return t}()}));return function(){for(var a=[],n=0,r=Array.from(s.courses.models);n<r.length;n++){var o={courseID:r[n].id,classroomID:s.classroom.id};(e=s.courseInstances.findWhere(o))?a.push(void 0):(e=new b(o),s.courseInstances.add(e),e.sessions=new g([],{model:C}),t.courseInstance=e,a.push(e.sessionsByUser={}))}return a}()}},{key:"onLoaded",value:function(){this.teacherMode=me.isAdmin()||this.classroom.get("ownerID")===me.id;for(var e=this.sessions.groupBy("creator"),s=0,a=Array.from(this.users.models);s<a.length;s++){var n=a[s];n.sessions=new g(e[n.id],{model:C}),n.sessions.comparator="changed",n.sessions.sort()}for(var r=0,o=Array.from(this.courseInstances.models);r<o.length;r++){var i=o[r],l=i.get("courseID"),c=this.courses.get(l);i.sessions.course=c}return v(f(t.prototype),"onLoaded",this).call(this)}},{key:"afterRender",value:function(){return this.$('[data-toggle="popover"]').popover({html:!0,trigger:"hover",placement:"top"}
2),v(f(t.prototype),"afterRender",this).call(this)}},{key:"onClickActivateLicensesButton",value:function(){var e=new T({classroom:this.classroom,users:this.users});return this.openModalView(e),e.once("redeem-users",(function(){return document.location.reload()})),null!=n.tracker?n.tracker.trackEvent("Classroom started enroll students",{category:"Courses"}):void 0}},{key:"onClickActivateSingleLicenseButton",value:function(e){var t=r(e.target).closest(".btn").data("user-id");if(this.prepaids.totalMaxRedeemers()-this.prepaids.totalRedeemers()>0){var s=this.prepaids.find((function(e){return"available"===e.status()}));return r.ajax({method:"POST",url:_.result(s,"url")+"/redeemers",data:{userID:t},success:function(){return null!=n.tracker&&n.tracker.trackEvent("Classroom finished enroll student",{category:"Courses",userID:t}),document.location.reload()},error:function(e,t,s){var a;return a=402===e.status?arguments[2]:"".concat(e.status,": ").concat(e.responseText),console.err(a)}})}var a=this.users.get(t),o=new T({classroom:this.classroom,users:this.users,user:a});return this.openModalView(o),o.once("redeem-users",(function(){return document.location.reload()})),null!=n.tracker?n.tracker.trackEvent("Classroom started enroll student",{category:"Courses",userID:t}):void 0}},{key:"onClickEditClassDetailsLink",value:function(){var e=new I({classroom:this.classroom});return this.openModalView(e),this.listenToOnce(e,"hidden",this.render)}},{key:"userLastPlayedString",value:function(e){if(null==e.sessions)return"";var t=e.sessions.last();if(!t)return"";var s=t.collection.course,a=t.get("level").original,n=this.levels.findWhere({original:a}),r="";return s&&(r+=s.get("name")),n&&(r+=", ".concat(n.get("name"))),r}},{key:"userPlaytimeString",value:function(e){if(null==e.sessions)return"";var t=_.reduce(e.sessions.pluck("playtime"),(function(e,t){return(e||0)+(t||0)}));return t?moment.duration(t,"seconds").humanize():""}},{key:"classStats",value:function(){for(var e={},t=0,s=0,a=0,n=Array.from(this.sessions.models);a<n.length;a++)t+=n[a].get("playtime")||0,s+=1;e.averagePlaytime=t&&s?moment.duration(t/s,"seconds").humanize():0,e.totalPlaytime=t?moment.duration(t,"seconds").humanize():0;for(var r={},o=0,i=Array.from(this.levels.models);o<i.length;o++){var l,c=i[o];r[c.id]=null!=(l=c.get("practice"))&&l}var u=this.sessions.filter((function(e){return function(e,t){return null!=e?e.complete:void 0}(e.get("state"))&&!r[e.get("levelID")]}));e.averageLevelsComplete=this.users.size()?(_.size(u)/this.users.size()).toFixed(1):"N/A",e.totalLevelsComplete=_.size(u);var d=this.users.filter((function(e){return e.isEnrolled()}));return e.enrolledUsers=_.size(d),e}},{key:"onClickAddStudentsButton",value:function(e){var t=new j({classroom:this.classroom});return this.openModalView(t),null!=n.tracker?n.tracker.trackEvent("Classroom started add students",{category:"Courses",classroomID:this.classroom.id}):void 0}},{key:"onClickEnableButton",value:function(e){var t=this,s=r(e.target).closest(".btn"),a=this.courseInstances.get(s.data("course-instance-cid"));console.log("looking for course instance",a,"for",s.data("course-instance-cid"),"out of",this.courseInstances);var o=s.data("user-id");s.attr("disabled",!0),null!=n.tracker&&n.tracker.trackEvent("Course assign student",{category:"Courses",courseInstanceID:a.id,userID:o});var i=function(){return a.addMember(o),t.listenToOnce(a,"sync",t.render)};return a.isNew()?(a.saving||(a.save(null,{validate:!1}),a.saving=!0),a.once("sync",i)):i()}},{key:"onClickRemoveStudentLink",value:function(e){var t=this.users.get(r(e.target).closest("a").data("user-id")),s=new D({classroom:this.classroom,user:t,courseInstances:this.courseInstances});return this.openModalView(s),s.once("remove-student",this.onStudentRemoved,this)}},{key:"onStudentRemoved",value:function(e){return this.users.remove(e.user),this.render(),null!=n.tracker?n.tracker.trackEvent("Classroom removed student",{category:"Courses",classroomID:this.classroom.id,userID:e.user.id}):void 0}},{key:"levelPopoverContent",value:function(e,t,s){if(!e)return null;var a={moment,level:e,session:t,i:s,canViewSolution:this.teacherMode};return E(a)}},{key:"getLevelURL",value:function(e,t,s,a){return this.teacherMode&&_.all(arguments)?"/play/level/".concat(e.get("slug"),"?course=").concat(t.id,"&course-instance=").concat(s.id,"&session=").concat(a.id,"&observing=true"):null}}],o=[{key:"initClass",value:function(){this.prototype.id="classroom-view",this.prototype.template=O,this.prototype.teacherMode=!1,this.prototype.events={"click #edit-class-detail
2s-link":"onClickEditClassDetailsLink","click #activate-licenses-btn":"onClickActivateLicensesButton","click .activate-single-license-btn":"onClickActivateSingleLicenseButton","click #add-students-btn":"onClickAddStudentsButton","click .enable-btn":"onClickEnableButton","click .remove-student-link":"onClickRemoveStudentLink"}}}],a&&l(s.prototype,a),o&&l(s,o),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,o}(P)).initClass(),a)},812582:(e,t,s)=>{"use strict";var a,n=s(619755);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,i(a.key),a)}}function i(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==r(t)?t:t+""}function l(e,t,s){return t=p(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,s||[],p(e).constructor):t.apply(e,s))}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function u(){return u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=d(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},u.apply(null,arguments)}function d(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=p(e)););return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}s(876175);var h=s(573131),f=s(226927),m=s(759075),g=s(864481),y=s(739572),b=s(609838),w=(s(616865),s(318038)),k=s(976911),C=s(490872),S=s(249449),x=s(969278),P=s(299498);function O(e,t){return null!=e?t(e):void 0}e.exports=((a=function(e){function t(e,s,a){var r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=l(this,t,[e])).courseID=s,r.courseInstanceID=a,r.courses=new f,r.course=new h,r.levelSessions=new m,r.courseInstance=new g({_id:r.courseInstanceID}),r.owner=new S,r.classroom=new b,r.levels=new w,r.courseInstances=new y,r.supermodel.trackRequest(r.courses.fetch().then((function(){return r.course=r.courses.get(r.courseID)})));var o=r.supermodel.trackRequest(r.levelSessions.fetchForCourseInstance(r.courseInstanceID,{cache:!1}));return r.supermodel.trackRequest(r.courseInstance.fetch().then((function(){if(!r.destroyed){r.owner=new S({_id:r.courseInstance.get("ownerID")}),r.supermodel.trackRequest(r.owner.fetch());var e=r.courseInstance.get("classroomID");r.classroom=new b({_id:e}),r.supermodel.trackRequest(r.classroom.fetch());var t=r.supermodel.trackRequest(r.levels.fetchForClassroomAndCourse(e,r.courseID,{data:{project:"concepts,practice,primerLanguage,type,slug,name,original,description,shareable,i18n"}}));return r.supermodel.trackRequest(n.when(t,o).then((function(){if(r.buildSessionStats(),!r.destroyed)return(null!=r.memberStats[me.id]?r.memberStats[me.id].totalLevelsCompleted:void 0)>=r.levels.size()-1&&(r.courseComplete=!0,r.courseInstances.comparator="courseID",r.supermodel.trackRequest(r.courseInstances.fetchForClassroom(e).then((function(){if(r.nextCourseInstance=_.find(r.courseInstances.models,(function(e){return e.get("courseID")>r.courseID})),r.nextCourseInstance){var e=r.nextCourseInstance.get("courseID");return r.nextCourse=r.courses.get(e)}})))),r.promptForSchool=r.courseComplete&&!me.isAnonymous()&&!me.get("schoolName")&&!x.load("no-school")})))}}))),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}(t,e),s=t,a=[{key:"initialize",value:function(e){return null!=window.tracker&&window.tracker.trackEvent("Students Class Course Loaded",{category:"Students"}),u(p(t.prototype),"initialize",this).call(this,e)}},{key:"buildSessionStats",value:function(){var e,t,s,a=this;if(!this.destroyed){this.levelConceptMap={};for(var n=0,r=Array.from(this.levels.models);n<r.length;n++){var o,i=r[n];null==this.levelConceptMap[o=i.get("original")]&&(this.levelConceptMap[o]={});for(var l=0,c=Array.from(i.get("concepts")||[]);l<c.length;l++)e=c[l],this.levelConceptMap[i.get("original")][e]=!0;(P.isCodeCombat&&i.isLadder()||P.isOzaria&&i.isType("course-ladder"))&&(this.arenaLevel=i)}this.memberStats={},this.userConceptStateMap={},this.userLevelStateMap={};for(var u=0,d=Array.from(this.levelSessions.models);
2u<d.length;u++){var p,v=d[u];if(!v.skipMe){s=v.get("creator");var h=v.get("level").original;t=O(v.get("state"),(function(e){return e.complete}))?"complete":"started";var f=parseInt(null!=(p=v.get("playtime"))?p:0,10);for(e in function(e,s){var n,r=_.find(a.levelSessions.models,(function(t){return t.get("creator")===e&&t.get("level").original===s&&t.id!==v.id}));r&&(O(r.get("state"),(function(e){return e.complete}))&&(t="complete"),f+=parseInt(null!=(n=r.get("playtime"))?n:0,10),r.skipMe=!0)}(s,h),null==this.memberStats[s]&&(this.memberStats[s]={totalLevelsCompleted:0,totalPlayTime:0}),"complete"===t&&this.memberStats[s].totalLevelsCompleted++,this.memberStats[s].totalPlayTime+=f,null==this.userConceptStateMap[s]&&(this.userConceptStateMap[s]={}),this.levelConceptMap[h])this.userConceptStateMap[s][e]=t;null==this.userLevelStateMap[s]&&(this.userLevelStateMap[s]={}),this.userLevelStateMap[s][h]=t}}return this.conceptsCompleted={},function(){var n=[];for(s in a.userConceptStateMap){var r=a.userConceptStateMap[s];n.push(function(){var s=[];for(e in r)t=r[e],null==a.conceptsCompleted[e]&&(a.conceptsCompleted[e]=0),s.push(a.conceptsCompleted[e]++);return s}())}return n}()}}},{key:"onClickPlayLevel",value:function(e){var t,s,a,r=n(e.target).closest(".btn-play-level").data("level-slug"),o=n(e.target).closest(".btn-play-level").data("level-id"),i=this.levels.findWhere({original:o});return null!=window.tracker&&window.tracker.trackEvent("Students Class Course Play Level",{category:"Students",courseID:this.courseID,courseInstanceID:this.courseInstanceID,levelSlug:r}),i.isLadder()?(a="views/ladder/LadderView",s=[{supermodel:this.supermodel},r],t="/play/ladder/"+r,t+="/course/"+this.courseInstance.id,s=s.concat(["course",this.courseInstance.id])):(t=this.getLevelURL(r),i.get("primerLanguage")&&(t+="&codeLanguage="+i.get("primerLanguage")),a="views/play/level/PlayLevelView",s=[{courseID:this.courseID,courseInstanceID:this.courseInstanceID,supermodel:this.supermodel},r]),Backbone.Mediator.publish("router:navigate",{route:t,viewClass:a,viewArgs:s})}},{key:"getLevelURL",value:function(e){return"/play/level/".concat(e,"?course=").concat(this.courseID,"&course-instance=").concat(this.courseInstanceID)}},{key:"getOwnerName",value:function(){if(!this.owner.isNew())return this.owner.get("firstName")&&this.owner.get("lastName")?"".concat(this.owner.get("firstName")," ").concat(this.owner.get("lastName")):this.owner.get("name")||this.owner.get("email")}},{key:"getLastLevelCompleted",value:function(){for(var e=null,t=0,s=Array.from(this.levels.pluck("original"));t<s.length;t++){var a=s[t];"complete"===O(null!=this.userLevelStateMap?this.userLevelStateMap[me.id]:void 0,(function(e){return e[a]}))&&(e=a)}return e}}],r=[{key:"initClass",value:function(){this.prototype.id="course-details-view",this.prototype.template=C,this.prototype.memberSort="nameAsc",this.prototype.events={"click .btn-play-level":"onClickPlayLevel","click .btn-select-instance":"onClickSelectInstance","submit #school-form":"onSubmitSchoolForm"}}}],a&&o(s.prototype,a),r&&o(s,r),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,r}(k)).initClass(),a)},927141:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}function r(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function o(e,t,s){return t=l(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,i()?Reflect.construct(t,s||[],l(e).constructor):t.apply(e,s))}function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}
2function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}var u,d=s(708399),p=s(280816).default;e.exports=((u=function(e){function t(e,s,a){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=o(this,t,[e])).courseID=s,n.courseName=a,n.propsData={courseID:n.courseID,courseName:n.courseName},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(t,e),a=t,r=[{key:"initClass",value:function(){this.prototype.id="course-videos-view",this.prototype.template=s(848304),this.prototype.VueComponent=p}}],null&&n(a.prototype,null),r&&n(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,r}(d)).initClass(),u)},969410:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}function r(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function o(e,t,s){return t=l(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,i()?Reflect.construct(t,s||[],l(e).constructor):t.apply(e,s))}function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}var u,d=s(921336),p=s(365117),v=s(826307),h=s(64241).STARTER_LICENSE_COURSE_IDS;function f(e,t){return null!=e?t(e):void 0}e.exports=((u=function(e){function t(e){var s,a,n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(s=o(this,t,[e])).i18nData=_.pick(e,["selected","numStudentsWithoutFullLicenses","numFullLicensesAvailable"]),s.state=new p({promoteStarterLicenses:!1}),Array.from(h).includes(e.courseID)&&s.supermodel.trackRequest(me.getLeadPriority()).then((function(e){var t=e.priority;return s.state.set({promoteStarterLicenses:me.useStripe()&&"low"===t&&(a=me.get("preferredLanguage"),!["nl-BE","nl-NL"].includes(a))&&(n=me.get("country"),!["australia","taiwan","hong-kong","netherlands","indonesia","singapore","malaysia"].includes(n))&&!f(me.get("administratedTeachers"),(function(e){return e.length}))})})),s.listenTo(s.state,"change",s.render),s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(t,e),s=t,a=[{key:"initClass",value:function(){this.prototype.id="courses-not-assigned-modal",this.prototype.template=v}}],null&&n(s.prototype,null),a&&n(s,a),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a}(d)).initClass(),u)},571778:(e,t,s)=>{"use strict";var a,n=s(619755),r=s(665420);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,c(a.key),a)}}function c(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function u(e,t,s){return t=p(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,d()?Reflect.construct(t,s||[],p(e).constructor):t.apply(e,s))}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(d=function(){return!!e})()}
2function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}s(897606);var h=s(921336),f=s(222533);e.exports=((a=function(e){function t(){return i(this,t),u(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&v(e,t)}(t,e),a=t,c=[{key:"initClass",value:function(){this.prototype.id="invite-to-classroom-modal",this.prototype.template=f,this.prototype.recaptcha_site_key=s(858775).recaptcha_site_key,this.prototype.events={"click #send-invites-btn":"onClickSendInvitesButton","click #copy-url-btn, #join-url-input":"copyURL"}}}],(o=[{key:"initialize",value:function(e){this.classroom=e.classroom,this.classCode=this.classroom.get("codeCamel")||this.classroom.get("code"),this.joinURL=document.location.origin+"/students?_cc="+this.classCode,window.recaptchaCallback=this.recaptchaCallback.bind(this)}},{key:"onClickSendInvitesButton",value:function(){var e=this,t=this.$("#invite-emails-textarea").val();if(t=t.split(/[,\n]/),(t=_.filter(Array.from(t).map((function(e){return _.string.trim(e)})))).length)return this.recaptchaResponseToken?(this.$("#send-invites-btn, #invite-emails-textarea, .g-recaptcha").addClass("hide"),this.$("#invite-emails-sending-alert").removeClass("hide"),null!=r.tracker&&r.tracker.trackEvent("Classroom invite via email",{category:"Courses",classroomID:this.classroom.id,emails:t}),this.classroom.inviteMembers(t,this.recaptchaResponseToken,{success:function(){return e.$("#invite-emails-sending-alert").addClass("hide"),e.$("#invite-emails-success-alert").removeClass("hide")}})):(n("#send-invites-btn").addClass("disabled"),console.error("Tried to send student invites via email without recaptcha success token, resetting widget"),void("undefined"!=typeof grecaptcha&&null!==grecaptcha&&grecaptcha.reset()))}},{key:"copyURL",value:function(){this.$("#join-url-input").val(this.joinURL).select();try{return document.execCommand("copy"),this.$("#copied-alert").removeClass("hide"),null!=r.tracker?r.tracker.trackEvent("Classroom copy URL",{category:"Courses",classroomID:this.classroom.id,url:this.joinURL}):void 0}catch(e){return console.log("Oops, unable to copy",e),this.$("#copy-failed-alert").removeClass("hide")}}},{key:"recaptchaCallback",value:function(e){return this.$("#send-invites-btn").removeClass("disabled"),this.recaptchaResponseToken=e}}])&&l(a.prototype,o),c&&l(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o,c}(h)).initClass(),a)},692895:(e,t,s)=>{"use strict";var a,n=s(619755),r=s(665420);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,l(a.key),a)}}function l(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function c(e,t,s){return t=v(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,s||[],v(e).constructor):t.apply(e,s))}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(u=function(){return!!e})()}function d(){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=p(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},d.apply(null,arguments)}function p(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=v(e)););return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}
2function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}s(360898);var f=s(921336),m=s(365117),g=s(222733),y=s(207036),b=s(910852),w=(s(609838),s(616865)),k=(s(249449),s(455433)),C=s(299498);function S(e,t){return null!=e?t(e):void 0}e.exports=((a=function(e){function t(e){var s;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(s=c(this,t,[e])).state=new m(s.getInitialState(e)),s.classroom=e.classroom,s.users=e.users.clone(),s.users.comparator=function(e){return e.broadName().toLowerCase()},s.prepaids=new y,s.prepaids.comparator="endDate",s.supermodel.trackRequest(s.prepaids.fetchForClassroom(s.classroom)),s.classrooms=new w,s.selectedPrepaidType=null,s.prepaidByGroup={},s.teacherPrepaidIds=[],s.utils=C,s.supermodel.trackRequest(s.classrooms.fetchMine({data:{archived:!1},success:function(){return s.classrooms.each((function(e){e.users=new k;var t=e.users.fetchForClassroom(e,{removeDeleted:!0});return s.supermodel.trackRequests(t)}))}})),s.listenTo(s.state,"change",(function(){return this.renderSelectors("#submit-form-area")})),s.listenTo(s.state.get("selectedUsers"),"change add remove reset",(function(){return this.updateVisibleSelectedUsers(),this.renderSelectors("#submit-form-area")})),s.listenTo(s.users,"change add remove reset",(function(){return this.updateVisibleSelectedUsers(),this.render()})),s.listenTo(s.prepaids,"sync add remove reset",(function(){var e=this;return this.prepaidByGroup={},this.prepaids.each((function(t){e.teacherPrepaidIds.push(t.get("_id"));var s=t.typeDescriptionWithTime();return e.prepaidByGroup[s]=(null!=e.prepaidByGroup?e.prepaidByGroup[s]:void 0)||{num:0,prepaid:t},e.prepaidByGroup[s].num+=(t.get("maxRedeemers")||0)-(_.size(t.get("redeemers"))||0)}))})),s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(t,e),s=t,a=[{key:"getInitialState",value:function(e){var t,s=e.selectedUsers||e.users;return this.activeTab=null!=e.tab?e.tab:"apply",t="apply"===this.activeTab?_.filter(s.models,(function(e){return!e.isEnrolled()})):s.models,{selectedUsers:new k(t),visibleSelectedUsers:new k(t),error:null}}},{key:"onLoaded",value:function(){return this.prepaids.reset(this.prepaids.filter((function(e){return"available"===e.status()}))),this.selectedPrepaidType=Object.keys(this.prepaidByGroup)[0],this.users.length&&(this.selectedUser=this.users.models[0].id),d(v(t.prototype),"onLoaded",this).call(this)}},{key:"afterRender",value:function(){return d(v(t.prototype),"afterRender",this).call(this)}},{key:"updateSelectedStudents",value:function(e){var t=n(e.currentTarget).data("user-id"),s=this.users.get(t);return this.state.get("selectedUsers").findWhere({_id:s.id})?this.state.get("selectedUsers").remove(s.id):this.state.get("selectedUsers").add(s),this.$(".select-all-users-checkbox").prop("checked",this.areAllSelected()),this.$(".select-all-users-revoke-checkbox").prop("checked",this.areAllSelectedRevoke())}},{key:"studentsPrepaidsFromTeacher",value:function(){var e=this,t=[];return this.users.each((function(s){var a=t.map((function(e){return e.prepaid}));return t=_.union(t,_.uniq(s.activeProducts("course").filter((function(t){return!Array.from(a).includes(t.prepaid)&&_.contains(e.teacherPrepaidIds,t.prepaid)})),(function(e){return e.prepaid})))})),t.map((function(e){var t=new b({includedCourseIDs:S(null!=e?e.productOptions:void 0,(function(e){return e.includedCourseIDs})),type:"course"});return{id:e.prepaid,name:t.typeDescription()}}))}},{key:"enrolledUsers",value:function(){var e=null!=this.prepaidByGroup[this.selectedPrepaidType]?this.prepaidByGroup[this.selectedPrepaidType].prepaid:void 0;return e?this.users.filter((function(t){var s=e.numericalCourses();return!(s^s&t.prepaidNumericalCourses())})):[]}},{key:"unenrolledUsers",value:function(){var e=null!=this.prepaidByGroup[this.selectedPrepaidType]?this.prepaidByGroup[this.selectedPrepaidType].prepaid:void 0;return e?this.users.filter((function(t){var s=e.numericalCourses();return s^s&t.prepaidNumericalCourses()})):[]}},{key:"allUsers",value:function(){return this.users.toJSON()}},{key:"areAllSelected",value:function(){var e=this;return _.all(this.unenrolledUsers(),(function(t){return e.state.get("selectedUsers").get(t.id)}))}},{key:"areAllSelectedRevoke",value:function(){var e=this;return _.all(this.allUsers(),(function(t){return e.state.get("selectedUsers").get(t._id)}))}},{key:"toggleSelectAllStudents",value:function(e){var t=this;
2return this.areAllSelected()?this.unenrolledUsers().forEach((function(e,s){if(t.state.get("selectedUsers").findWhere({_id:e.id}))return t.$("[type='checkbox'][data-user-id='".concat(e.id,"']")).prop("checked",!1),t.state.get("selectedUsers").remove(e.id)})):this.unenrolledUsers().forEach((function(e,s){if(!t.state.get("selectedUsers").findWhere({_id:e.id}))return t.$("[type='checkbox'][data-user-id='".concat(e.id,"']")).prop("checked",!0),t.state.get("selectedUsers").add(e)}))}},{key:"toggleSelectAllStudentsRevoke",value:function(e){var t=this;return this.areAllSelectedRevoke()?this.users.forEach((function(e,s){if(t.state.get("selectedUsers").findWhere({_id:e.id}))return t.$("[type='checkbox'][data-user-id='".concat(e.id,"']")).prop("checked",!1),t.state.get("selectedUsers").remove(e.id)})):this.users.forEach((function(e,s){if(!t.state.get("selectedUsers").findWhere({_id:e.id}))return t.$("[type='checkbox'][data-user-id='".concat(e.id,"']")).prop("checked",!0),t.state.get("selectedUsers").add(e)}))}},{key:"replaceStudentList",value:function(e){var t,s=n(e.currentTarget).val();return this.classroom=this.classrooms.get(s),this.classroom?this.users.reset(this.classrooms.get(s).users.models):(t=_.uniq(_.flatten(this.classrooms.map((function(e){return e.users.models})))),this.users.reset(t),this.users.sort()),this.render(),null}},{key:"onSubmitForm",value:function(e){e.preventDefault(),this.state.set({error:null});var t=this.state.get("visibleSelectedUsers");return this.redeemUsers(t)}},{key:"updateVisibleSelectedUsers",value:function(){var e=this;return this.state.set({visibleSelectedUsers:new k(this.state.get("selectedUsers").filter((function(t){return e.users.get(t)})))})}},{key:"redeemUsers",value:function(e){var t=this;if(!e.size())return this.finishRedeemUsers(),void this.hide();var s=e.first(),a=this.prepaids.find((function(e){return"available"===e.status()&&e.typeDescriptionWithTime()===t.selectedPrepaidType})),n={success:function(a){var n,o=null!=(n=s.get("products"))?n:[];return s.set("products",o.concat(a.convertToProduct())),e.remove(s),t.state.get("selectedUsers").remove(s),t.updateVisibleSelectedUsers(),null!=r.tracker&&r.tracker.trackEvent("Enroll modal finished enroll student",{category:"Courses",userID:s.id}),t.redeemUsers(e)},error:function(e,s){return t.state.set({error:s.responseJSON.message})}};return!this.classroom.isOwner()&&this.classroom.hasWritePermission()&&(n.data={sharedClassroomId:this.classroom.id}),a.redeem(s,n),null!=window.tracker?window.tracker.trackEvent("Teachers Class Enrollment Enroll Student",{category:"Teachers",classroomID:this.classroom.id,userID:s.id}):void 0}},{key:"finishRedeemUsers",value:function(){return this.trigger("redeem-users",this.state.get("selectedUsers"))}},{key:"onSelectPrepaidType",value:function(e){return this.selectedPrepaidType=n(e.target).parent().children("input").val(),this.state.set({unusedEnrollments:null!=this.prepaidByGroup[this.selectedPrepaidType]?this.prepaidByGroup[this.selectedPrepaidType].num:void 0}),this.renderSelectors("#apply-page")}},{key:"onClickGetMoreLicensesButton",value:function(){return"function"==typeof this.hide?this.hide():void 0}},{key:"onChangeTab",value:function(e){return this.activeTab=n(e.target).data("tab"),this.renderSelectors(".modal-body-content"),this.renderSelectors("#tab-nav")}},{key:"onClickRevokeStudentButton",value:function(e){var t=n(e.currentTarget),s=t.data("prepaid-id"),a=this.state.get("visibleSelectedUsers");if(!a.size())return alert(n.i18n.t("teacher.revoke_alert_no_student"));var r=n.i18n.t("teacher.revoke_selected_confirm");return confirm(r)?(t.text(n.i18n.t("teacher.revoking")),this.revokeUsers(a,s)):void 0}},{key:"revokeUsers",value:function(e,t){var s=this;if(!e.size())return this.finishRedeemUsers(),void this.hide();var a=e.first(),n=a.makeCoursePrepaid(t);n||(e.remove(a),this.state.get("selectedUsers").remove(a),this.updateVisibleSelectedUsers(),this.revokeUsers(e,t));var o={success:function(){return a.set("products",a.get("products").map((function(e){return e.prepaid===t&&(e.endDate=(new Date).toISOString()),e}))),e.remove(a),s.state.get("selectedUsers").remove(a),s.updateVisibleSelectedUsers(),null!=r.tracker&&r.tracker.trackEvent("Revoke modal finished revoke student",{category:"Courses",userID:a.id}),s.revokeUsers(e,t)},error:function(e,t){return s.state.set({error:t.responseJSON.message})}};return!this.classroom.isOwner()&&this.classroom.hasWritePermission()&&(o.data={sharedClassroomId:this.classroom.id}),n.revoke(a,o)}}],o=[{key:"initClass",value:function(){this.prototype.id="manage-license-modal",this.prototype.template=g,this.prototype.events={'change input[type="checkbox"][name="user"]':"updateSelectedStudents","change .select-all-users-checkbox":"toggleSelectAllStudents","change .select-all-users-revoke-checkbox":"toggleSelectAllStudentsRevoke","change select.classroom-select":"replaceStudentList","submit form":"onSubmitForm","click #get-more-licenses-btn":"onClickGetMoreLicensesButton","click #selectPrepaidType .radio":"onSelectPrepaidType","click .change-tab":"onChangeTab","click .revoke-student-button":"onClickRevokeStudentButton"}}}],a&&i(s.prototype,a),o&&i(s,o),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,o}(f)).initClass(),a)},260820:(e,t,s)=>{"use strict";var a,n=s(619755);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,l(a.key),a)}}function l(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==r(t)?t:t+""}function c(e,t,s){return t=v(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,s||[],v(e).constructor):t.apply(e,s))}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(u=function(){return!!e})()}function d(){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=p(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},d.apply(null,arguments)}function p(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=v(e)););return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}
2function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}var f=s(250636);s(336756);var m=s(921336),g=s(76793),y=s(249449),b=s(910852),_=s(439980),w=s(207036),k=(s(616865),s(927489),s(86856),s(299498)),C=(s(694879),s(64241).LICENSE_PRESETS),S=window.moment;e.exports=((a=function(e){function t(e,s){var a;return o(this,t),(a=c(this,t,arguments)).classroom=s,a.user=me,a.supermodel.trackRequest(a.user.fetch({cache:!1})),a.prepaids=new w,a.supermodel.trackRequest(a.prepaids.fetchByCreator(me.get("_id"),{data:{includeShared:!0,onlyActivationCodes:!0}})),a.listenTo(a.prepaids,"sync",(function(){return a.prepaids.forEach((function(e){if(e.loaded&&!e.creator)return e.creator=new y,a.supermodel.trackRequest(e.creator.fetchCreatorOfPrepaid(e))}))})),a.timeZone=("undefined"!=typeof features&&null!==features?features.chinaInfra:void 0)?"Asia/Shanghai":"America/Los_Angeles",a.licenseType="all",a.licensePresets=C,a.utils=k,a.momentTimezone=window.moment,a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(t,e),s=t,a=[{key:"onLoaded",value:function(){return this.prepaidTableState={},d(v(t.prototype),"onLoaded",this).call(this)}},{key:"onClickEditPrepaidsInfoButton",value:function(e){var t=this.$(e.target).data("prepaid-id");return this.prepaidTableState[t]="editMode",this.renderSelectors("#"+t)}},{key:"onClickCancelPrepaidInfoEditButton",value:function(e){return this.prepaidTableState[this.$(e.target).data("prepaid-id")]="viewMode",this.renderSelectors("#"+this.$(e.target).data("prepaid-id"))}},{key:"onClickSavePrepaidInfo",value:function(e){var t=this,s=this.$(e.target).data("prepaid-id"),a=this.$el.find("#endDate-"+s).val(),n=this.$el.find("#startDate-"+s).val(),r=this.$el.find("#totalLicenses-"+s).val();return this.prepaids.each((function(e){if(e.get("_id")===s){if(!n||!a||!r)return;if(n>=a)return void alert("End date cannot be on or before start date");if(r<(e.get("redeemers")||[]).length)return void alert("Total number of licenses cannot be less than used licenses");e.set("startDate",S.tz(n,t.timeZone).toISOString()),e.set("endDate",S.tz(a,t.timeZone).toISOString()),e.set("maxRedeemers",r),e.patch({}),t.listenTo(e,"sync",(function(){return this.prepaidTableState[s]="viewMode",this.renderSelectors("#"+s)}))}}))}},{key:"onSelectLicenseType",value:function(e){return this.licenseType=n(e.target).parent().children("input").val(),console.log("select liscense",this.licenseType),this.renderSelectors("#license-type-select")}},{key:"onClickAddSeatsButton",value:function(){var e=_.formToObject(this.$("#prepaid-form"));if(e.maxRedeemers=parseInt(e.maxRedeemers),f.all(f.values(e))&&e.maxRedeemers>0&&e.duration>0&&e.endDate&&S().isBefore(e.endDate)){e.endDate=e.endDate+" 23:59",e.startDate=S().tz(this.timeZone).toISOString(),e.endDate=S.tz(e.endDate,this.timeZone).toISOString();var t=e.duration;if(delete e.duration,e.licenseType in this.licensePresets&&(e.includedCourseIDs=this.licensePresets[e.licenseType]),"all"===e.licenseType||e.includedCourseIDs.length){delete e.licenseType,f.extend(e,{type:"course",creator:this.user.id,generateActivationCodes:!0,properties:{adminAdded:me.id,classroom:this.classroom,days:t}});var s=new b(e);return s.save(),this.state="creating-prepaid",this.renderSelectors("#prepaid-form"),this.listenTo(s,"sync",(function(){for(var e="Code,Expires\n",t=s.get("code").toUpperCase(),a=0,n=Array.from(s.get("redeemers"));a<n.length;a++){var r=n[a];e+="".concat(t.slice(0,4),"-").concat(r.code.toUpperCase(),"-").concat(t.slice(4),",").concat(r.date,"\n")}var o=new Blob([e],{type:"text/csv;charset=utf-8"});return window.saveAs(o,"ActivationCodes.csv"),this.state="made-prepaid",this.renderSelectors("#prepaid-form")}))}}}}],r=[{key:"initClass",value:function(){this.prototype.id="administer-user-modal",this.prototype.template=g,this.prototype.events={"click .edit-prepaids-info-btn":"onClickEditPrepaidsInfoButton","click .cancel-prepaid-info-edit-btn":"onClickCancelPrepaidInfoEditButton","click .save-prepaid-info-btn":"onClickSavePrepaidInfo","click #license-type-select>.radio":"onSelectLicenseType","click #add-seats-btn":"onClickAddSeatsButton"}}}],a&&i(s.prototype,a),r&&i(s,r),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,r}(m)).initClass(),a)},481225:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.
2key),a)}}function r(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function o(e,t,s){return t=l(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,i()?Reflect.construct(t,s||[],l(e).constructor):t.apply(e,s))}function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}var u;s(170010);var d=s(708399),p=s(572269),v=s(694879),h=s(249449),f=s(523402),m=s(299498),g=s(47690),y=Vue.extend({name:"ProjectGalleryComponent",template:s(299745)(),components:{"flat-layout":p},props:{courseInstanceID:{type:String,default:function(){return null}}},data:function(){return{levelSessions:[],users:[],classroom:null,levels:null,level:null,course:null,courseInstance:null,amSchoolAdministratorOfGallery:null,amTeacherOfGallery:null,product:m.isOzaria?"ozar":"coco"}},computed:{levelName:function(){return this.level&&(m.i18n(this.level,"displayName")||m.i18n(this.level,"name"))},courseName:function(){return this.course&&m.i18n(this.course,"name")},teacherBackUrl:function(){return this.classroom&&"/teachers/classes/".concat(null!=this.classroom?this.classroom._id:void 0)},schoolAdministratorBackUrl:function(){return this.classroom&&"/school-administrator/teacher/".concat(null!=this.classroom?this.classroom.ownerID:void 0,"/classroom/").concat(null!=this.classroom?this.classroom._id:void 0)}},created:function(){var e=this;return Promise.all([v.courseInstances.getProjectGallery({courseInstanceID:this.courseInstanceID}).then((function(t){e.levelSessions=t})),v.courseInstances.get({courseInstanceID:this.courseInstanceID}).then((function(t){return e.courseInstance=t,Promise.all([v.classrooms.get({classroomID:e.courseInstance.classroomID}).then((function(t){e.classroom=t})).then((function(){return v.classrooms.getMembers({classroom:e.classroom},{removeDeleted:!0}).then((function(t){e.users=t}))})),v.courses.get({courseID:e.courseInstance.courseID}).then((function(t){e.course=t})),v.classrooms.getCourseLevels({classroomID:e.courseInstance.classroomID,courseID:e.courseInstance.courseID}).then((function(t){e.levels=t}))])}))]).then((function(){return g.isSchoolAdminOf({user:me,classroomId:e.courseInstance.classroomID}).then((function(t){return e.amSchoolAdministratorOfGallery=t})),g.isTeacherOf({user:me,classroomId:e.courseInstance.classroomID}).then((function(t){return e.amTeacherOfGallery=t})),e.level=_.find(e.levels,f.isProject),e.users.forEach((function(e){return Vue.set(e,"broadName",h.broadName(e))}))}))},methods:{getProjectViewUrl:function(e){return"/play/".concat(null!=this.level?this.level.type:void 0,"-level/").concat(null!=this.level?this.level.slug:void 0,"/").concat(e._id)},getProjectEditUrl:function(e){return"/play/level/".concat(null!=this.level?this.level.slug:void 0,"?course=").concat(null!=this.course?this.course._id:void 0,"&course-instance=").concat(null!=this.courseInstance?this.courseInstance._id:void 0)},isMyProject:function(e){return e.creator===me.id},creatorOfSession:function(e){return _.find(this.users,{_id:e.creator})}}});e.exports=((u=function(e){function t(e,s){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(a=o(this,t,[e])).courseInstanceID=s,a.propsData={courseInstanceID:a.courseInstanceID},a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(t,e),a=t,r=[{key:"initClass",value:function(){this.prototype.id="project-gallery-view",this.prototype.template=s(848304),this.prototype.VueComponent=y}}],null&&n(a.prototype,null),r&&n(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,r}(d)).initClass(),u)},942574:(e,t,s)=>{"use strict";var a,n=s(619755);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,i(a.key),a)}}function i(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==r(t)?t:t+""}function l(e,t,s){return t=u(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,s||[],u(e).constructor):t.apply(e,s))}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}
2function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}s(526550);var p=s(921336),v=s(689390);e.exports=((a=function(e){function t(e){var s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(s=l(this,t,[e])).classroom=e.classroom,s.user=e.user,s.supermodel.trackRequest(s.user.fetch()),s.courseInstances=e.courseInstances;var a=n.ajax("/db/classroom/".concat(s.classroom.id,"/members/").concat(s.user.id,"/is-auto-revokable"));return s.supermodel.trackRequest(a),a.then((function(e){return s.willRevokeLicense=e.willRevokeLicense}),(function(e){return console.error(e,arguments)})),s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(t,e),s=t,r=[{key:"initClass",value:function(){this.prototype.id="remove-student-modal",this.prototype.template=v,this.prototype.events={"click #remove-student-btn":"onClickRemoveStudentButton"}}}],(a=[{key:"onClickRemoveStudentButton",value:function(){this.$("#remove-student-buttons").addClass("hide"),this.$("#remove-student-progress").removeClass("hide");var e=this.user.id;return this.toRemove=this.courseInstances.filter((function(t){return _.contains(t.get("members"),e)})),this.toRemove.push(this.classroom),this.totalJobs=_.size(this.toRemove),this.removeStudent()}},{key:"removeStudent",value:function(){var e=this.toRemove.shift();if(!e)return this.trigger("remove-student",{user:this.user}),void this.hide();e.removeMember(this.user.id);var t=(100*(this.totalJobs-this.toRemove.length)/this.totalJobs).toFixed(1)+"%";return this.$("#remove-student-progress .progress-bar").css("width",t),this.listenToOnce(e,"sync",(function(){return this.removeStudent()}))}}])&&o(s.prototype,a),r&&o(s,r),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,r}(p)).initClass(),a)},425078:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}function r(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function o(e,t,s){return t=l(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,i()?Reflect.construct(t,s||[],l(e).constructor):t.apply(e,s))}function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function c(e,t){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},c(e,t)}var u,d=s(708399),p=s(968955).default;e.exports=((u=function(e){function t(e,s){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(a=o(this,t,[e])).classroomID=s,a.propsData={classroomID:a.classroomID},a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&c(e,t)}(t,e),a=t,r=[{key:"initClass",value:function(){this.prototype.id="student-assessments-view",this.prototype.template=s(848304),this.prototype.VueComponent=p}}],null&&n(a.prototype,null),r&&n(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,r}(d)).initClass(),u)},193765:(e,t,s)=>{"use strict";var a,n=s(619755),r=s(665420);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,a=Array(t);s<t;s++)a[s]=e[s];return a}function l(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,c(a.key),a)}}function c(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function u(e,t,s){return t=h(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,d()?Reflect.construct(t,s||[],h(e).constructor):t.apply(e,s))}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(d=function(){return!!e})()}function p(){return p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=v(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},p.apply(null,arguments)}function v(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=h(e)););return e}
2function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}s(110299);var m=s(976911),g=s(365117),y=s(276623),b=s(299498),_=s(385241),w=s(571778),k=s(692895),C=s(260820),S=s(78952),x=s(942574),P=s(969410),O=s(282131),L=s(190011),I=s(335971),T=s(609838),j=s(616865),D=s(318038),E=s(444705),R=s(759075),A=(s(249449),s(455433)),N=(s(573131),s(226927)),M=s(864481),F=s(739572),B=s(207036),U=s(580973).default,z=s(74536).default,$=s(670612),q=s(145713),V=s(137159).Z,H=s(250636),G=s(827856),W=s(807621),Z=function(e){return"selectedCourseId_"+e+"_"+me.id};function Y(e,t){return null!=e?t(e):void 0}e.exports=((a=function(e){function t(e,a){var r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),e||(e={}),(r=u(this,t,[e])).setCourseMembers=r.setCourseMembers.bind(r),r.onMyClansLoaded=r.onMyClansLoaded.bind(r),r.onClickAddStudents=r.onClickAddStudents.bind(r),r.utils=b,e.renderOnlyContent?r.template=L:r.template=I;var o=function(e,t){return n("<div />").html(e(t)).i18n().html()};return r.singleStudentCourseProgressDotTemplate=H.wrap(s(191935),o),r.singleStudentLevelProgressDotTemplate=H.wrap(s(74371),o),r.allStudentsLevelProgressDotTemplate=H.wrap(s(616429),o),r.urls=s(586369),r.debouncedRender=H.debounce(r.render),r.debouncedRenderSelectors=H.debounce(r.renderSelectors,800),r.calculateProgressAndLevels=H.debounce(r.calculateProgressAndLevelsAux,800),r.state=new g(r.getInitialState()),e.readOnly&&r.state.set("readOnly",e.readOnly),e.renderOnlyContent&&r.state.set("renderOnlyContent",e.renderOnlyContent),r.updateHash(r.state.get("activeTab")),r.classroom=new T({_id:a}),r.supermodel.trackRequest(r.classroom.fetch()),r.onKeyPressStudentSearch=H.debounce(r.onKeyPressStudentSearch,200),r.sortedCourses=[],r.latestReleasedCourses=[],r.students=new A,r.classroom.sessions=new R,r.listenTo(r.classroom,"sync",(function(){this.fetchStudents(),this.fetchSessions(),this.fetchPrepaids(),this.fetchClans(),this.classroom.language=Y(this.classroom.get("aceConfig"),(function(e){return e.language}))})),r.students.comparator=function(e,t){var s=r.state.get("sortDirection"),a=r.state.get("sortValue"),n=e.get("lastName")||e.broadName(),o=t.get("lastName")||t.broadName();if("first-name"===a)return e.broadName().toLowerCase()<t.broadName().toLowerCase()?-s:s;if("last-name"===a)return n.toLowerCase()<o.toLowerCase()?-s:s;if("progress"===a){var i=e.latestCompleteLevel,l=t.latestCompleteLevel;return i?l?s*(i.courseNumber-l.courseNumber||i.levelIndex-l.levelIndex):s:-s}if("status"===a){var c={expired:0,"not-enrolled":1,enrolled:2},u=c[e.prepaidStatus()]-c[t.prepaidStatus()];return u?s*u:n.toLowerCase()<o.toLowerCase()?-s:s}},r.courses=new N,r.supermodel.trackRequest(r.courses.fetch()),r.campaignLevelNumberMap={},r.courseInstances=new F,r.supermodel.trackRequest(r.courseInstances.fetchForClassroom(a)),r.levels=new D,r.supermodel.trackRequest(r.levels.fetchForClassroom(a,{data:{project:"original,name,primaryConcepts,concepts,primerLanguage,practice,shareable,i18n,assessment,assessmentPlacement,slug,goals"}})),Y(me.getClientCreatorPermissions(),(function(e){return e.then((function(){return"function"==typeof r.debouncedRender?r.debouncedRender():void 0}))})),r.attachMediatorEvents(),null!=window.tracker&&window.tracker.trackEvent("Teachers Class Loaded",{category:"Teachers",classroomID:r.classroom.id}),r.timeSpentOnUnitProgress=null,r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(t,e),a=t,o=[{key:"getInitialState",value:function(){return{sortValue:"last-name",sortDirection:1,activeTab:"#"+(Backbone.history.getHash()||"students-tab"),students:new A,classCode:"",joinURL:"",errors:{nobodySelected:!1},selectedCourse:void 0,checkboxStates:{},classStats:{averagePlaytime:"",totalPlaytime:"",averageLevelsComplete:"",totalLevelsComplete:"",enrolledUsers:""}}}},{key:"getTitle",value:function(){return null!=this.classroom?this.classroom.get("name"):void 0}},{key:"fetchStudents",value:function(){var e=this;return Promise.all(this.students.fetchForClassroom(this.classroom,{removeDeleted:!0,data:{project:"firstName,lastName,name,email,products,deleted"}})).then((function(){if(!e.destroyed)return e.removeDeletedStudents(),e.calculateProgressAndLevels(),"function"==typeof e.debouncedRender?e.debouncedRender():void 0}))}},{key:"fetchSessions",value:function(){var e=this;return Promise.all(this.classroom.sessions.fetchForAllClassroomMembers(this.classroom)).then((function(){if(!e.destroyed)return e.removeDeletedStudents(),e.calculateProgressAndLevels(),"function"==typeof e.debouncedRender?e.debouncedRender():void 0}))}},{key:"fetchPrepaids",value:function(){return this.prepaids=new B,this.supermodel.trackRequest(this.prepaids.fetchForClassroom(this.classroom))}},{key:"fetchClans",value:function(){return this.classroom.get("ownerID")===me.id?q.getMyClans().then(this.onMyClansLoaded):this.classroom.hasReadPermission()?q.getUserClans(this.classroom.get("ownerID")).then(this.onMyClansLoaded):void 0}},{key:"attachMediatorEvents",value:function(){return this.listenTo(this.classroom,"sync change update",(function(){var e=this.classroom.get("codeCamel")||this.classroom.get("code");this.state.set({classCode:e,joinURL:document.location.origin+"/students?_cc="+e}),this.sortedCourses=this.classroom.getSortedCourses(),this.availableCourseMap={};for(var t=0,s=Array.from(this.sortedCourses);t<s.length;t++){var a=s[t];this.availableCourseMap[a._id]=!0}return this.debouncedRender()})),this.listenTo(this.courses,"sync change update",(function(){if(this.setCourseMembers(),!this.state.get("selectedCourse")){var e=localStorage.getItem(Z(this.classroom.id));this.getLatestCourses(),this.state.set("selectedCourse",e?this.courses.get(e):this.latestReleasedCourses[0])}return this.setSelectedCourseInstance()})),this.listenTo(this.courseInstances,"sync change update",(function(){return this.setCourseMembers(),this.setSelectedCourseInstance()})),this.listenTo(this.students,"sync change update add remove reset",(function(){this.calculateProgressAndLevels(),this.state.set({students:this.students});for(var e={},t=0,s=Array.from(this.students.models);t<s.length;t++){var a=s[t];e[a.id]=this.state.get("checkboxStates")[a.id]||!1}return this.state.set({checkboxStates:e})})),this.listenTo(this.students,"sort",(function(){return this.state.set({students:this.students})})),this.listenTo(this,"course-select:change",(function(e){var t=e.selectedCourse;return this.state.set({selectedCourse:t})})),this.listenTo(this.state,"change:selectedCourse",(function(e){return this.setSelectedCourseInstance()}))}},{key:"setCourseMembers",value:function(){for(var e=0,t=Array.from(this.courses.models);e<t.length;e++){var s=t[e];s.instance=this.courseInstances.findWhere({courseID:s.id,classroomID:this.classroom.id}),s.members=(null!=s.instance?s.instance.get("members"):void 0)||[]}return null}},{key:"setSelectedCourseInstance",value:function(){var e=this.state.get("selectedCourse")||this.courses.first();return e?this.state.set("selectedCourseInstance",this.courseInstances.findWhere({courseID:e.id,classroomID:this.classroom.id}
2)):this.state.get("selectedCourseInstance")?this.state.set("selectedCourseInstance",null):void 0}},{key:"getSelectedCourseInstance",value:function(){return this.state.get("selectedCourseInstance")||this.setSelectedCourseInstance(),this.state.get("selectedCourseInstance")}},{key:"onMyClansLoaded",value:function(e){var t=this;if(this.myClans=e,this.classClan=H.find(null!=this.myClans?this.myClans:[],(function(e){return e.name==="autoclan-classroom-".concat(t.classroom.id)})))return q.getAILeagueStats(this.classClan._id).then((function(e){if(!t.destroyed)return t.aiLeagueStats=JSON.parse(e),t.renderSelectors(".ai-league-stats"),t.$('.ai-league-stats [data-toggle="tooltip"]').tooltip()}))}},{key:"getLatestCourses",value:function(){if(!this.latestReleasedCourses.length){if(me.isAdmin())this.latestReleasedCourses=this.courses.models;else if(me.isBetaTester()){var e=this.courses.where({releasePhase:"released"}),t=this.courses.where({releasePhase:"beta"});this.latestReleasedCourses=e.concat(t)}else this.latestReleasedCourses=this.courses.where({releasePhase:"released"});this.latestReleasedCourses=b.sortCourses(this.latestReleasedCourses)}}},{key:"onLoaded",value:function(){var e=this;return this.getLatestCourses(),this.removeDeletedStudents(),this.calculateProgressAndLevels(),this.listenTo(this.courseInstances,"sync change update",this.debouncedRender),this.listenTo(this.state,"sync change",(function(){return H.isEmpty(H.omit(this.state.changed,"searchTerm"))?this.renderSelectors("#license-status-table"):this.debouncedRender()})),this.listenTo(this.students,"sort",this.debouncedRender),this.getCourseAssessmentPairs(),this.courses.models.forEach((function(t){var s=e.classroom.getLevels({courseID:t.id}).models.map((function(e){var t,s;return{key:e.get("original"),practice:null!=(t=e.get("practice"))&&t,assessment:null!=(s=e.get("assessment"))&&s}}));return e.campaignLevelNumberMap[t.get("campaignID")]=b.createLevelNumberMap(s)})),p(h(t.prototype),"onLoaded",this).call(this)}},{key:"afterRender",value:function(){var e=this;if(p(h(t.prototype),"afterRender",this).apply(this,arguments),this.courseNagSubview||(this.courseNagSubview=new O,this.insertSubView(this.courseNagSubview)),this.classroom.hasAssessments()){var s,a=[],r=this.state.get("selectedCourse");r&&!this.classroom.hasAssessments({courseId:r.id})&&(r=this.courses.find((function(t){return e.classroom.hasAssessments({courseId:t.id})}))),r&&(a=(a=Y(H.find(this.courseAssessmentPairs,(function(e){return e[0]===r})),(function(e){return e[1]}))||[]).map((function(e){return e.toJSON()})),(s=this.courseInstances.findWhere({courseID:r.id,classroomID:this.classroom.id}))&&(s=s.toJSON()));var o=this.state.get("students").toJSON(),i={students:o,levels:a,course:null!=r?r.toJSON():void 0,progress:Y(this.state.get("progressData"),(function(t){return t.get({classroom:e.classroom,course:r})})),courseInstance:s,classroom:this.classroom.toJSON(),readOnly:this.state.get("readOnly")};new U({el:this.$el.find(".assessments-table")[0],propsData:i}),new z({el:this.$el.find(".pie")[0],propsData:{percent:200/3,strokeWidth:10,color:"#20572B",opacity:1}})}return n(".has-tooltip").off("mouseenter"),n(".has-tooltip").mouseenter((function(){return n(this).tooltip({html:!0}),n(this).tooltip("show")}))}},{key:"allStatsLoaded",value:function(){return(null!=this.classroom?this.classroom.loaded:void 0)&&0===Y(null!=this.classroom?this.classroom.get("members"):void 0,(function(e){return e.length}))||(null!=this.students?this.students.loaded:void 0)&&Y(null!=this.classroom?this.classroom.sessions:void 0,(function(e){return e.loaded}))}},{key:"calculateProgressAndLevelsAux",value:function(){if(!this.destroyed&&1===this.supermodel.progress&&this.allStatsLoaded()){for(var e=this.classroom.sessions.models.reduce((function(e,t){var s;return t.completed()&&(null==e[s=t.get("creator")]&&(e[s]={}),e[t.get("creator")][t.get("level").original.toString()]=!0),e}),{}),t=0,s=Array.from(this.students.models);t<s.length;t++){var a=s[t],n=new A([a]);a.latestCompleteLevel=y.calculateLatestComplete(this.classroom,this.courses,this.courseInstances,n,e)}var r=y.calculateEarliestIncomplete(this.classroom,this.courses,this.courseInstances,this.students),o=y.calculateLatestComplete(this.classroom,this.courses,this.courseInstances,this.students,e),i=new j([this.classroom]),l=y.calculateAllProgress(i,this.courses,this.courseInstances,this.students);return this.state.set({earliestIncompleteLevel:r,latestCompleteLevel:o,progressData:l,classStats:this.calculateClassStats()})}}},{key:"destroy",value:function(){return this.trackTimeSpentOnUnitProgress(),p(h(t.prototype),"destroy",this).call(this)}},{key:"trackTimeSpentOnUnitProgress",value:function(){if(this.startTimeOnUnitProgress&&!this.timeSpentOnUnitProgress&&(this.timeSpentOnUnitProgress=new Date-this.startTimeOnUnitProgress),this.timeSpentOnUnitProgress)return null!=r.tracker&&r.tracker.trackTiming(this.timeSpentOnUnitProgress,"Teachers Time Spent","Unit Progress Tab",me.id),this.timeSpentOnUnitProgress=""}},{key:"getCourseAssessmentPairs",value:function(){this.courseAssessmentPairs=[];for(var e=0,t=Array.from(this.courses.models);e<t.length;e++){var s,a=t[e],n=this.classroom.getLevels({courseID:a.id,assessmentLevels:!0}).models,r=H.filter(this.levels.models,(function(e){return s=e.get("original"),Array.from(H.map(n,(function(e){return e.get("original")}))).includes(s)}));this.courseAssessmentPairs.push([a,r])}return this.courseAssessmentPairs}},{key:"onClickNavTabLink",value:function(e){e.preventDefault();var t=n(e.target).closest("a").attr("href");if(t!==window.location.hash){var s=t.slice(1);null!=window.tracker&&window.tracker.trackEvent("Teachers Class Switch Tab",{category:"Teachers",classroomID:this.classroom.id,tab:s,label:s})}return this.updateHash(t),this.state.set({activeTab:t})}},{key:"updateHash",value:function(e){if(!r.testing)return window.location.hash=e,"#course-progress-tab"!==e||this.startTimeOnUnitProgress?this.startTimeOnUnitProgress?(this.timeSpentOnUnitProgress=new Date-this.startTimeOnUnitProgress,this.startTimeOnUnitProgress=null,this.trackTimeSpentOnUnitProgress()):void 0:this.startTimeOnUnitProgress=new Date}},{key:"trackClickEvent",value:function(e){var t=n(e.currentTarget).data("event-action");if(t)return null!=window.tracker?window.tracker.trackEvent(t,{category:"Teachers",label:this.classroom.id}):void 0}},{key:"onClickRegenerateCodeButton",value:function(){var e=n.i18n.t("teacher.regenerate_class_code_confirm");if(confirm(e))return null!=window.tracker&&window.tracker.trackEvent("Teachers Class Regenerate Class Code",{category:"Teachers",classroomID:this.classroom.id,classCode:this.state.get("classCode")}),this.classroom.set({codeCamel:"",code:""}),this.classroom.save()}},{key:"onClickCopyCodeButton",value:function(){return null!=window.tracker&&window.tracker.trackEvent("Teachers Class Copy Class Code",{category:"Teachers",classroomID:this.classroom.id,classCode:this.state.get("classCode")}),this.$("#join-code-input").val(this.state.get("classCode")).select(),this.tryCopy()}},{key:"onClickCopyURLButton",value:function(){return null!=window.tracker&&window.tracker.trackEvent("Teachers Class Copy Class URL",{category:"Teachers",classroomID:this.classroom.id,url:this.state.get("joinURL")}),this.$("#join-url-input").val(this.state.get("joinURL")).select(),this.tryCopy()}},{key:"onClickUnarchive",value:function(){if(me.id===this.classroom.get("ownerID"))return null!=window.tracker&&window.tracker.trackEvent("Teachers Class Unarchive",{category:"Teachers",classroomID:this.classroom.id}),this.classroom.save({archived:!1})}},{key:"onClickEditClassroom",value:function(e){if(this.classroom.hasWritePermission({showNoty:!0}))return null!=window.tracker&&window.tracker.trackEvent("Teachers Class Edit Class Started",{category:"Teachers",classroomID:this.classroom.id}),this.promptToEdit()}}
2,{key:"promptToEdit",value:function(){var e=this.classroom,t=new _({classroom:e});return this.openModalView(t),this.listenToOnce(t,"hide",this.render)}},{key:"onClickEditStudentLink",value:function(e){if(this.classroom.hasWritePermission({showNoty:!0})){null!=window.tracker&&window.tracker.trackEvent("Teachers Class Students Edit",{category:"Teachers",classroomID:this.classroom.id});var t=this.students.get(n(e.currentTarget).data("student-id")),s=new S({user:t,classroom:this.classroom,students:this.students});return this.openModalView(s)}}},{key:"onClickRemoveStudentLink",value:function(e){if(this.classroom.hasWritePermission({showNoty:!0})){var t=this.students.get(n(e.currentTarget).data("student-id")),s=new x({classroom:this.classroom,user:t,courseInstances:this.courseInstances});return this.openModalView(s),s.once("remove-student",this.onStudentRemoved,this)}}},{key:"onStudentRemoved",value:function(e){return this.students.remove(e.user),null!=window.tracker?window.tracker.trackEvent("Teachers Class Students Removed",{category:"Teachers",classroomID:this.classroom.id,userID:e.user.id}):void 0}},{key:"onClickAddStudents",value:function(e){if(this.classroom.hasWritePermission({showNoty:!0})){null!=window.tracker&&window.tracker.trackEvent("Teachers Class Add Students",{category:"Teachers",classroomID:this.classroom.id});var t=new w({classroom:this.classroom});return this.openModalView(t),this.listenToOnce(t,"hide",this.render)}}},{key:"removeDeletedStudents",value:function(){var e=this;if(this.classroom.loaded&&this.students.loaded&&this.classroom.hasWritePermission())return H.remove(this.classroom.get("members"),(function(t){return!e.students.get(t)||Y(e.students.get(t),(function(e){return e.get("deleted")}))})),!0}},{key:"onClickSortButton",value:function(e){var t=n(e.target).val();return t===this.state.get("sortValue")?this.state.set("sortDirection",-this.state.get("sortDirection")):this.state.set({sortValue:t,sortDirection:1}),this.students.sort()}},{key:"onKeyPressStudentSearch",value:function(e){return this.state.set("searchTerm",n(e.target).val())}},{key:"onChangeCourseSelect",value:function(e){var t=n(e.currentTarget).val();return localStorage.setItem(Z(this.classroom.id),t),this.trigger("course-select:change",{selectedCourse:this.courses.get(t)})}},{key:"onChangeLockedLevelSelect",value:function(e){var t=n(e.currentTarget).val(),s=this.getSelectedCourseInstance();if(s&&t)return s.set("startLockedLevel",t),s.save()}},{key:"getSelectedStudentIDs",value:function(){return Object.keys(H.pick(this.state.get("checkboxStates"),(function(e){return e})))}},{key:"ensureInstance",value:function(e){}},{key:"onClickEnrollStudentButton",value:function(e){if(this.classroom.hasWritePermission({showNoty:!0})){var t=n(e.currentTarget).data("user-id"),s=this.students.get(t),a=new A([s]);return this.enrollStudents(a),null!=window.tracker?window.tracker.trackEvent(n(e.currentTarget).data("event-action"),{category:"Teachers",classroomID:this.classroom.id,userID:t}):void 0}}},{key:"enrollStudents",value:function(e){var t=this;if(this.classroom.hasWritePermission({showNoty:!0})){var s=new k({classroom:this.classroom,selectedUsers:e,users:this.students});return this.openModalView(s),s.once("redeem-users",(function(e){return e.each((function(e){var s=t.students.get(e.id);if(s)return s.set(e.attributes)})),t.renderSelectors("#license-status-table"),null}))}}},{key:"onClickExportStudentProgress",value:function(){var e=this.classroom,t
2=this.sortedCourses,s=this.students,a=this.courses,n=this.courseInstances,r=this.levels,o=this.state.get("progressData");return W.exportStudentProgress({classroom:e,sortedCourses:t,students:s,courses:a,courseInstances:n,levels:r,progressData:o})}},{key:"onClickViewAILeague",value:function(e){return this.classClan||console.error("Couldn't find autoclan for classroom ".concat(this.classroom.id," out of"),this.myClans),null!=window.tracker&&window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers",classroomID:this.classroom.id}),r.router.navigate("/league/".concat(null!=(null!=this.classClan?this.classClan._id:void 0)?null!=this.classClan?this.classClan._id:void 0:""),{trigger:!0})}},{key:"onClickViewAILeagueQuickstartVideo",value:function(e){n(e.target).data("clan-level");var t=n(e.target).data("clan-source-object-id");return null!=window.tracker?window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers",clanSourceObjectID:t}):void 0}},{key:"onClickCreateActivationCodes",value:function(e){var t=new C({},this.classroom.get("_id"));return this.openModalView(t)}},{key:"onClickAssignStudentButton",value:function(e){if(this.classroom.hasWritePermission({showNoty:!0})){var t=n(e.currentTarget).data("user-id"),s=(this.students.get(t),[t]),a=n(e.currentTarget).data("course-id");return this.assignCourse(a,s),null!=window.tracker?window.tracker.trackEvent("Teachers Class Students Assign Selected",{category:"Teachers",classroomID:this.classroom.id,courseID:a,userID:t}):void 0}}},{key:"onClickBulkAssign",value:function(){if(this.classroom.hasWritePermission({showNoty:!0})){var e=this.$(".bulk-course-select").val(),t=this.getSelectedStudentIDs(),s=0===t.length;if(this.state.set({errors:{nobodySelected:s}}),!s)return this.assignCourse(e,t),null!=window.tracker?window.tracker.trackEvent("Teachers Class Students Assign Selected",{category:"Teachers",classroomID:this.classroom.id,courseID:e}):void 0}}},{key:"onClickBulkRemoveCourse",value:function(){if(this.classroom.hasWritePermission({showNoty:!0})){var e=this.$(".bulk-course-select").val(),t=this.getSelectedStudentIDs(),s=0===t.length;if(this.state.set({errors:{nobodySelected:s}}),!s)return this.removeCourse(e,t),null!=window.tracker?window.tracker.trackEvent("Teachers Class Students Remove-Course Selected",{category:"Teachers",classroomID:this.classroom.id,courseID:e}):void 0}}},{key:"assignCourse",value:function(e,t){var s=this;if(this.classroom.hasWritePermission({showNoty:!0})){var a=null,o=0,l=0;return Promise.resolve().then((function(){if(!(a=s.courseInstances.findWhere({courseID:e,classroomID:s.classroom.id})))return(a=new M({courseID:e,classroomID:s.classroom.id,ownerID:s.classroom.get("ownerID"),aceConfig:{}})).notyErrors=!1,s.courseInstances.add(a),a.save()})).then((function(){var a,r,c=s.prepaids.filter((function(t){return"available"===t.status()&&t.includesCourse(e)})),u=H(t).map((function(e){return s.students.get(e)})).filter((function(t){return!t.isEnrolled()||!t.prepaidIncludesCourse(e)})).value(),d=H.reduce(function(){for(var e=[],t=0,s=Array.from(c);t<s.length;t++)r=s[t],e.push(r.openSpots());return e}(),(function(e,t){return e+t}))||0;if(!(d>=H.size(u))){var p=s.prepaids.filter((function(e){return"available"===e.status()&&"course"===e.get("type")&&!e.get("includedCourseIDs")})),v=H(t).map((function(e){return s.students.get(e)})).filter((function(e){return"course"!==e.prepaidType("includedCourseIDs")||!e.isEnrolled()})).size(),h=H.reduce(function(){for(var e=[],t=0,s=Array.from(p);t<s.length;t++)r=s[t],e.push(r.openSpots());return e}(),(function(e,t){return e+t}))||0,f=new P({selected:t.length,numStudentsWithoutFullLicenses:v,numFullLicensesAvailable:h,courseID:e});s.openModalView(f);var m=new Error("Not enough licenses available");throw m.handled=!0,m}o=H.size(u),l=d-o;for(var g=[],y=0,b=Array.from(c);y<b.length;y++)if(r=b[y],Math.min(H.size(u),r.openSpots())>0)for(var _=0,w=Math.min(H.size(u),r.openSpots()),k=w>=0;k?_<w:_>w;k?_++:_--){var C=u.shift(),S={};!s.classroom.isOwner()&&s.classroom.hasWritePermission()&&(S={data:{sharedClassroomId:s.classroom.id}}
2),g.push(r.redeem(C,S))}return s.trigger("begin-redeem-for-assign-course"),(a=n).when.apply(a,function(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Array.from(g||[])))})).then((function(){if(s.prepaids.fetchByCreator(me.id),s.fetchStudents(),s.trigger("begin-assign-course"),t.length)return noty({text:n.i18n.t("teacher.assigning_course"),layout:"center",type:"information",killer:!0}),a.addMembers(t)})).then((function(){var a=s.courses.get(e),r=[n.i18n.t("teacher.assigned_msg_1").replace("{{numberAssigned}}",t.length).replace("{{courseName}}",a.get("name"))];return o>0&&(r.push(n.i18n.t("teacher.assigned_msg_2").replace("{{numberEnrolled}}",o)),r.push(n.i18n.t("teacher.assigned_msg_3").replace("{{remainingSpots}}",l))),noty({text:r.join("<br />"),layout:"center",type:"information",killer:!0,timeout:5e3}),s.calculateProgressAndLevels(),s.classroom.fetch()})).catch((function(e){if(!e.handled){if(e instanceof Error&&!r.isProduction())throw e;var t=e instanceof Error?"Runtime error":(null!=e.responseJSON?e.responseJSON.message:void 0)||e.message||n.i18n.t("loading_error.unknown");return"PaymentRequired"===(null!=e.responseJSON?e.responseJSON.errorName:void 0)&&(t=n.i18n.t("teacher.not_assigned_msg_1")),noty({text:t,layout:"center",type:"error",killer:!0,timeout:5e3})}}))}}},{key:"removeCourse",value:function(e,t){var s=this;if(this.classroom.hasWritePermission({showNoty:!0})){var a=null,r=0;return Promise.resolve().then((function(){return(a=s.courseInstances.findWhere({courseID:e,classroomID:s.classroom.id}))&&(r=a.get("members").length),a})).then((function(){if(s.fetchStudents(),s.trigger("begin-remove-course"),t.length)return noty({text:n.i18n.t("teacher.removing_course"),layout:"center",type:"information",killer:!0}),null!=a?a.removeMembers(t):void 0})).then((function(t){var o=(null!=a?a.get("members").length:void 0)||0,i=r-o,l=s.courses.get(e),c=[n.i18n.t("teacher.removed_course_msg").replace("{{numberRemoved}}",i).replace("{{courseName}}",l.get("name"))];return noty({text:c.join("<br />"),layout:"center",type:"information",killer:!0,timeout:5e3}),s.calculateProgressAndLevels(),s.classroom.fetch()}))}}},{key:"onClickRevokeAllStudentsButton",value:function(){var e=this,t=n.i18n.t("teacher.revoke_all_confirm");if(confirm(t))return V.actions.revokeLicenses(null,{members:this.students.models,sharedClassroomId:this.classroom.id,confirmed:!0,updateUserProducts:!0}).then((function(){return e.debouncedRenderSelectors("#license-status-table")}))}},{key:"onClickSelectAll",value:function(e){var t;e.preventDefault();var s=H.clone(this.state.get("checkboxStates"));if(H.all(s))for(t in s)s[t]=!1;else for(t in s)s[t]=!0;return this.state.set({checkboxStates:s})}},{key:"onClickStudentCheckbox",value:function(e){e.preventDefault();var t=n(e.currentTarget).find("input").data("student-id"),s=H.clone(this.state.get("checkboxStates"));return s[t]=!s[t],this.state.set({checkboxStates:s})}},{key:"onClickStudentProgressDot",value:function(e){var t=this.classroom.id,s=this.$(e.currentTarget).data("course-id"),a=this.$(e.currentTarget).data("student-id"),n=this.$(e.currentTarget).data("level-slug"),r=this.$(e.currentTarget).data("level-progress");return null!=window.tracker?window.tracker.trackEvent("Click Class Courses Tab Student Progress Dot",{category:"Teachers",classroomId:t,courseId:s,studentId:a,levelSlug:n,levelProgress:r}):void 0}},{key:"calculateClassStats",value:function(){if(!(null!=this.classroom.sessions?this.classroom.sessions.loaded:void 0)||!this.students.loaded)return{};for(var e={},t=0,s=0,a=0,n=Array.from(this.classroom.sessions.models);a<n.length;a++)t+=n[a].get("playtime")||0,s+=1;e.averagePlaytime=t&&s?moment.duration(t/s,"seconds").humanize():0,e.totalPlaytime=t?moment.duration(t,"seconds").humanize():0;for(var r={},o=Y(this.classroom.get("aceConfig"),(function(e){return e.language})),i=0,l=Array.from(this.levels.models);i<l.length;i++){var c=l[i];r[c.get("original")]=!c.get("practice")&&(null==o||c.get("primerLanguage")!==o)}var u=this.classroom.sessions.filter((function(e){return Y(e.get("state"),(function(e){return e.complete}))&&r[Y(e.get("level"),(function(e){return e.original}))]}));e.averageLevelsComplete=this.students.size()?(H.size(u)/this.students.size()).toFixed(1):"N/A",e.totalLevelsComplete=H.size(u);var d=this.students.filter((function(e){return e.isEnrolled()}));return e.enrolledUsers=H.size(d),e}},{key:"getTopScore",value:function(e){var t=e.level,s=e.session;if(t&&s){var a=H.first(t.get("scoreTypes"));H.isObject(a)&&(a=a.type);var n=E.getTopScores({level:t.toJSON(),session:s.toJSON()});return H.find(n,{type:a})}}},{key:"shouldShowGoogleClassroomButton",value:function(){return me.useGoogleClassroom()&&this.classroom.isGoogleClassroom()}},{key:"onClickSyncGoogleClassroom",value:function(e){var t=this;return n(".sync-google-classroom-btn").text("Syncing..."),n(".sync-google-classroom-btn").attr("disabled",!0),r.gplusHandler.loadAPI({success:function(){return r.gplusHandler.connect({scope:$.scopes,success:function(){return t.syncGoogleClassroom()},error:function(){return n(".sync-google-classroom-btn").text(n.i18n.t("teacher.sync_google_classroom")),n(".sync-google-classroom-btn").attr("disabled",!1)}})}})}},{key:"syncGoogleClassroom",value:function(){var e=this;return $.importStudentsToClassroom(this.classroom).then((function(t){if(t.length>0){console.debug("Students imported to classroom:",t),0===e.students.length&&(e.students=new A(t),e.state.set("students",e.students));for(var s=0,a=Array.from(e.courses.models);s<a.length;s++){var n=a[s];if(n.get("free")){var r=e.courseInstances.findWhere({classroomID:e.classroom.get("_id"),courseID:n.id});r&&t.forEach((function(e){return r.get("members").push(e._id)}))}}return e.fetchStudents()}}),(function(e){return noty({text:e||"Error in importing students.",layout:"topCenter",timeout:3e3,type:"error"})})).then((function(){return n(".sync-google-classroom-btn").text(n.i18n.t("teacher.sync_google_classroom")),n(".sync-google-classroom-btn").attr("disabled",!1)}))}},{key:"markdownIt",value:function(e){return e?G.sanitize(marked(e)):""}}],c=[{key:"initClass",value:function(){this.prototype.id="teacher-class-view",this.prototype.helper=y,this.prototype.events={"click .nav-tabs a":"onClickNavTabLink","click .unarchive-btn":"onClickUnarchive","click .edit-classroom":"onClickEditClassroom","click .add-students-btn":"onClickAddStudents","click .edit-student-link":"onClickEditStudentLink","click .sort-button":"onClickSortButton","click #copy-url-btn":"onClickCopyURLButton","click #copy-code-btn":"onClickCopyCodeButton","click #regenerate-code-btn":"onClickRegenerateCodeButton","click .remove-student-link":"onClickRemoveStudentLink","click .assign-student-button":"onClickAssignStudentButton","click .enroll-student-button":"onClickEnrollStudentButton","click .revoke-all-students-button":"onClickRevokeAllStudentsButton","click .assign-to-selected-students":"onClickBulkAssign","click .remove-from-selected-students":"onClickBulkRemoveCourse","click .export-student-progress-btn":"onClickExportStudentProgress","click .view-ai-league":"onClickViewAILeague","click .ai-league-quickstart-video":"onClickAILeagueQuickstartVideo","click .create-activation-codes-btn":"onClickCreateActivationCodes","click .select-all":"onClickSelectAll","click .student-checkbox":"onClickStudentCheckbox","keyup #student-search":"onKeyPressStudentSearch","change .course-select, .bulk-course-select":"onChangeCourseSelect","click a.student-level-progress-dot":"onClickStudentProgressDot","click .sync-google-classroom-btn":"onClickSyncGoogleClassroom","change #locked-level-select":"onChangeLockedLevelSelect","click .student-details-row":"trackClickEvent","click .open-certificate-btn":"trackClickEvent"}}}],o&&l(a.prototype,o),c&&l(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o,c}(m)).initClass(),a)},155885:(e,t,s)=>{"use strict";var a,n=s(619755),r=s(665420);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(){i=function(){return t};var e,t={},s=Object.prototype,a=s.hasOwnProperty,n=Object.defineProperty||function(e,t,s){e[t]=s.value},r="function"==typeof Symbol?Symbol:{}
vendor: 4,366 bytes, line 2
2,l=r.iterator||"@@iterator",c=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag";function d(e,t,s){return Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,s){return e[t]=s}}function p(e,t,s,a){var r=t&&t.prototype instanceof y?t:y,o=Object.create(r.prototype),i=new j(a||[]);return n(o,"_invoke",{value:O(e,s,i)}),o}function v(e,t,s){try{return{type:"normal",arg:e.call(t,s)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var h="suspendedStart",f="executing",m="completed",g={};function y(){}function b(){}function _(){}var w={};d(w,l,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(D([])));C&&C!==s&&a.call(C,l)&&(w=C);var S=_.prototype=y.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function s(n,r,i,l){var c=v(e[n],e,r);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==o(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){s("next",e,i,l)}),(function(e){s("throw",e,i,l)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return s("throw",e,i,l)}))}l(c.arg)}var r;n(this,"_invoke",{value:function(e,a){function n(){return new t((function(t,n){s(e,a,t,n)}))}return r=r?r.then(n,n):n()}})}function O(t,s,a){var n=h;return function(r,o){if(n===f)throw Error("Generator is already running");if(n===m){if("throw"===r)throw o;return{value:e,done:!0}}for(a.method=r,a.arg=o;;){var i=a.delegate;if(i){var l=L(i,a);if(l){if(l===g)continue;return l}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(n===h)throw n=m,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);n=f;var c=v(t,s,a);if("normal"===c.type){if(n=a.done?m:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(n=m,a.method="throw",a.arg=c.arg)}}}function L(t,s){var a=s.method,n=t.iterator[a];if(n===e)return s.delegate=null,"throw"===a&&t.iterator.return&&(s.method="return",s.arg=e,L(t,s),"throw"===s.method)||"return"!==a&&(s.method="throw",s.arg=new TypeError("The iterator does not provide a '"+a+"' method")),g;var r=v(n,t.iterator,s.arg);if("throw"===r.type)return s.method="throw",s.arg=r.arg,s.delegate=null,g;var o=r.arg;return o?o.done?(s[t.resultName]=o.value,s.next=t.nextLoc,"return"!==s.method&&(s.method="next",s.arg=e),s.delegate=null,g):o:(s.method="throw",s.arg=new TypeError("iterator result is not an object"),s.delegate=null,g)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function D(t){if(t||""===t){var s=t[l];if(s)return s.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function s(){for(;++n<t.length;)if(a.call(t,n))return s.value=t[n],s.done=!1,s;return s.value=e,s.done=!0,s};return r.next=r}}throw new TypeError(o(t)+" is not iterable")}return b.prototype=_,n(S,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:b,configurable:!0}),b.displayName=d(_,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,d(e,u,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(P.prototype),d(P.prototype,c,(function(){return this})),t.AsyncIterator=P,t.async=function(e,s,a,n,r){void 0===r&&(r=Promise);var o=new P(p(e,s,a,n),r);return t.isGeneratorFunction(s)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(S),d(S,u,"Generator"),d(S,l,(function(){return this})),d(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),s=[];for(var a in t)s.push(a);return s.reverse(),function e(){for(;s.length;){var a=s.pop();if(a in t)return e.value=a,e.done=!1,e}return e.done=!0,e}},t.values=D,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEac
2h(T),!t)for(var s in this)"t"===s.charAt(0)&&a.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var s=this;function n(a,n){return i.type="throw",i.arg=t,s.next=a,n&&(s.method="next",s.arg=e),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var n=this.tryEntries[s];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var o=r?r.completion:{};return o.type=e,o.arg=t,r?(this.method="next",this.next=r.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.finallyLoc===e)return this.complete(s.completion,s.afterLoc),T(s),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.tryLoc===e){var a=s.completion;if("throw"===a.type){var n=a.arg;T(s)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,s,a){return this.delegate={iterator:D(t),resultName:s,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,u(a.key),a)}}function u(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function d(e,t,s){return t=f(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,p()?Reflect.construct(t,s||[],f(e).constructor):t.apply(e,s))}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(p=function(){return!!e})()}function v(){return v="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=h(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},v.apply(null,arguments)}function h(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}s(480732);var g=s(976911),y=s(602620),b=s(609838),w=s(616865),k=s(226927),C=(s(967950),s(708747),s(759075)),S=s(864481),x=s(739572),P=s(385241),O=s(837725).Z,L=s(282131),I=s(207036),T=s(455433),j=(s(249449),s(299498)),D=s(969278),E=s(670612),R=s(588333),A=s(607516).Z,N=s(358318).Z,M=s(192977).default,F=s(145713),B=s(276623),U=s(820256),z=s(927489),$=s(765641).default,q=(s(504015),s(230469).default),V=function(e){return marked.inlineLexer(n.i18n.t(e),[])},H=[{time:moment("2018-02-28 12:00-08").toDate(),link:"https://zoom.us/meeting/register/307c335ddb1ee6ef7510d14dfea9e911",host:"David",name:"CodeCombat for Beginner Teachers"},{time:moment("2018-03-07 12:00-08").toDate(),link:"https://zoom.us/meeting/register/a1a6f5f4eb7a0a387c24e00bf0acd2b8",host:"Nolan",name:"CodeCombat: Beyond Block-Based Coding"},{time:moment("2018-03-15 12:30-08").toDate(),link:"https://zoom.us/meeting/register/16f0a6b4122087667c24e00bf0acd2b8",host:"Sean",name:"Building Student Engagement with CodeCombat"}
2,{time:moment("2018-03-21 12:00-08").toDate(),link:"https://zoom.us/meeting/register/4e7eb093f8689e21c5b9141539e44ee6",host:"Liz",name:"CodeCombat for Beginner Teachers"},{time:moment("2022-08-25 16:00-04").toDate(),link:"https://us06web.zoom.us/webinar/register/WN_q4hJZhMPTlKCT-cDG-rN5Q",host:"Kerry, Gabby, & Tom",name:"CodeCombat & Ozaria Demo Day"},{time:moment("2022-10-20 16:00-05").toDate(),link:"https://us06web.zoom.us/webinar/register/WN_NU2XXsQORZ-_lkx7rxUplQ",host:"Alex, Adam, & Rob",name:"CodeCombat & Ozaria Spooktacular Demo Day"},{time:moment("2023-02-16 14:00-08").toDate(),link:"https://us06web.zoom.us/webinar/register/WN_Hdt7MY_3TtqR4JB96mM-RQ",host:"Ben & Liz",name:"Using Esports to Teach Coding"}];function G(e,t){return null!=e?t(e):void 0}e.exports=((a=function(e){function t(){var e,a;l(this,t);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];(a=d(this,t,[].concat(r))).onMyClansLoaded=a.onMyClansLoaded.bind(a),a.onClickSeeAllQuests=a.onClickSeeAllQuests.bind(a),a.onClickSeeLessQuests=a.onClickSeeLessQuests.bind(a),a.teacherID=me.isAdmin()&&j.getQueryVariable("teacherID")||me.id,a.classrooms=new w,a.classrooms.comparator=function(e,t){return t.id.localeCompare(e.id)},a.classrooms.fetchByOwner(a.teacherID,{data:{includeShared:!0}}),a.supermodel.trackCollection(a.classrooms),a.listenTo(a.classrooms,"sync",(function(){for(var e=this,t=[],s=0,a=Array.from(this.classrooms.models);s<a.length;s++){var n=a[s];n.get("archived")||(!n.isOwner()&&n.hasReadPermission()&&t.push(n.id),n.sessions=new C,Promise.all(n.sessions.fetchForAllClassroomMembers(n,{data:{project:"state.complete,level,creator,changed,created,dateFirstCompleted,submitted,codeConcepts"}})).then((function(t){if(!e.destroyed)return B.calculateDots(e.classrooms,e.courses,e.courseInstances),e.calculateQuestCompletion(),e.render()})))}if(t.length)return this.sharedCourseInstances=new x,this.sharedCourseInstances.fetchByClassrooms(t),this.supermodel.trackCollection(this.sharedCourseInstances)})),null!=window.tracker&&window.tracker.trackEvent("Teachers Classes Loaded",{category:"Teachers"}),a.courses=new k,a.courses.fetch(),a.supermodel.trackCollection(a.courses),a.courseInstances=new x,a.courseInstances.fetchByOwner(a.teacherID),a.supermodel.trackCollection(a.courseInstances),a.progressDotTemplate=s(307158),a.prepaids=new I,a.supermodel.trackRequest(a.prepaids.fetchByCreator(me.id));var i=new Date-36e5,c=new Date- -18144e5;a.upcomingOfficeHours=_.sortBy(function(){for(var e=[],t=0,s=Array.from(H);t<s.length;t++){var a=s[t];i<a.time&&a.time<c&&e.push(a)}return e}(),"time"),a.howManyOfficeHours=D.load("hide-office-hours")?"none":"some",G(me.getClientCreatorPermissions(),(function(e){return e.then((function(){return a.calculateQuestCompletion(),"function"==typeof a.render?a.render():void 0}))}));var u=me.get("administratingTeachers")||[];if(a.administratingTeachers=new T,u.length>0){var p=a.administratingTeachers.fetchByIds(u);a.supermodel.trackRequest(p)}return G(me.get("clans"),(function(e){return e.length}))&&F.getMyClans().then(a.onMyClansLoaded),a.trialRequest=new U,a.trialRequests=new z,a.trialRequests.fetchOwn(),a.supermodel.trackCollection(a.trialRequests),a.chinaInfra=null===(e=features)||void 0===e?void 0:e.chinaInfra,a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(t,e),a=t,o=[{key:"getMeta",value:function(){return{title:n.i18n.t("teacher.my_classes")}}},{key:"afterRender",value:function(){return v(f(t.prototype),"afterRender",this).call(this),this.courseNagSubview||(this.courseNagSubview=new L,this.insertSubView(this.courseNagSubview)),this.panelTryOzaria=new N({el:this.$(".try-ozaria")[0]}),this.bannerHoC=new M({el:this.$(".banner-hoc")[0]}),this.podcastItemContainer=new $({el:this.$(".podcast-item-container")[0]}),this.dashboardToggle=new q({propsData:{size:"sm",showTitle:!0},el:this.$el.find("#dashboard-toggle")[0]}),n(".progress-dot").each((function(e,t){var s=n(t);return s.tooltip({html:!0,container:s})}))}},{key:"destroy",value:function(){return this.cleanupEncouragementModal(),null!=this.dashboardToggle&&this.dashboardToggle.$destroy(),v(f(t.prototype),"destroy",this).call(this)}},{key:"cleanupEncouragementModal",value:function(){if(this.ozariaEncouragementModal)return this.ozariaEncouragementModal.$de
2stroy(),this.ozariaEncouragementModalContainer.remove()}},{key:"calculateQuestCompletion",value:function(){var e=this;return this.teacherQuestData.create_classroom.complete=this.classrooms.length>0,function(){for(var t=[],s=0,a=Array.from(e.classrooms.models);s<a.length;s++){var n,r,o=a[s];if(G(o.get("members"),(function(e){return e.length}))>0&&o.sessions){for(var i={},l=0,c=Array.from(Object.keys(e.teacherQuestData));l<c.length;l++){var u=c[l];i[u]=0}for(var d=G(o.get("members"),(function(e){return e.length})),p=0,v=Array.from(o.sessions.models);p<v.length;p++){var h=v[p];"541c9a30c6362edfb0f34479"===G(h.get("level"),(function(e){return e.original}))&&++i.kithgard_gates_100,"5630eab0c0fcbd86057cc2f8"===G(h.get("level"),(function(e){return e.original}))&&++i.wakka_maul_100,G(h.get("state"),(function(e){return e.complete}))&&("5411cb3769152f1707be029c"===G(h.get("level"),(function(e){return e.original}))&&++i.teach_methods,"541875da4c16460000ab990f"===G(h.get("level"),(function(e){return e.original}))&&++i.teach_strings,"55ca293b9bc1892c835b0136"===G(h.get("level"),(function(e){return e.original}))&&++i.teach_loops,"5452adea57e83800009730ee"===G(h.get("level"),(function(e){return e.original}))&&++i.teach_variables)}for(n in i)i[n]/=d;for(n in i.add_students=d>0?1:0,e.prepaids.length>0||!me.canManageLicensesViaUI()?i.reach_gamedev=1:i.reach_gamedev=0,i)r=i[n],e.teacherQuestData[n].complete||(e.teacherQuestData[n].complete=r>.74);t.push(function(){var t=[];for(n in i)r=i[n],t.push(e.teacherQuestData[n].best=Math.max(e.teacherQuestData[n].best||0,r));return t}())}}return t}()}},{key:"onMyClansLoaded",value:function(e){var t=this;if(this.myClans=e,this.teacherClan=_.find(null!=e?e:[],(function(e){return/teacher/.test(e.name)})))return F.getAILeagueStats(this.teacherClan._id).then((function(e){try{return t.aiLeagueStats=JSON.parse(e),t.renderSelectors(".ai-league-stats"),t.$('.ai-league-stats [data-toggle="tooltip"]').tooltip()}catch(e){return t.aiLeagueStats=void 0,console.log("no ai league stats, skip")}}))}},{key:"onLoaded",value:function(){var e,s;B.calculateDots(this.classrooms,this.courses,this.courseInstances),this.sharedCourseInstances&&B.calculateDots(this.classrooms,this.courses,this.sharedCourseInstances),this.calculateQuestCompletion();var a=window.localStorage.getItem("showOzariaEncouragementModal");a&&!me.hideOtherProductCTAs()&&window.localStorage.removeItem("showOzariaEncouragementModal"),this.trialRequests.size()&&(this.trialRequest=this.trialRequests.first());var n=new Date(new Date-6048e5),r=new Date(me.get("dateCreated"))>n;return a?this.openOzariaEncouragementModal():r||null!==(e=this.trialRequest)&&void 0!==e&&null!==(s=e.get("properties"))&&void 0!==s&&s.organization||D.load("seen-teacher-details-modal_".concat(me.get("_id")))||me.get("clientCreator")||(me.get("permissions")||[]).includes("apiclient")?!me.isTeacher()||this.classrooms.length||me.isSchoolAdmin()||this.openNewClassroomModal():(this.openTeacherDetailsModal(),D.save("seen-teacher-details-modal_".concat(me.get("_id")),!0)),v(f(t.prototype),"onLoaded",this).call(this)}},{key:"onClickEditClassroom",value:function(e){var t=n(e.target).data("classroom-id");null!=window.tracker&&window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers",classroomID:t});var s=this.classrooms.get(t),a=new P({classroom:s});return this.openModalView(a),this.listenToOnce(a,"hide",(function(){return this.calculateQuestCompletion(),this.render()}))}},{key:"onClickShareClass",value:function(e){var t=new O({propsData:{classroomId:n(e.target).data("classroom-id")}});return this.openModalView(t)}},{key:"openNewClassroomModal",value:function(){if(me.id===this.teacherID){null!=window.tracker&&window.tracker.trackEvent("Teachers Classes Create New Class Started",{category:"Teachers"});var e=new b({ownerID:me.id}),t=new P({classroom:e});return this.openModalView(t),this.listenToOnce(t.classroom,"sync",(function(){var s=this;return null!=window.tracker&&window.tracker.trackEvent("Teachers Classes Create New Class Finished",{category:"Teachers"}),this.classrooms.add(t.classroom),t.classroom.isGoogleClassroom()&&E.markAsImported(e.get("googleClassroomId")).then((function(){return s.render()})).catch((function(e){return console.error(e)})),e=t.classroom,this.addFreeCourseInstances().then((function(){if(e.isGoogleClassroom())return s.importStudents(e).then((function(t){return s.addImportedStudents(e,t)}),(function(e){return{}}))}),(function(t){if(e.isGoogleClassroom())return noty({text:"Could not import students",layout:"topCenter",timeout:3e3,type:"error"})})).then((function(){return s.calculateQuestCompletion(),s.render()}))}))}}},{key:"openTeacherDetailsModal",value:function(){var e=new(0,s(855272).Z);return this.openModalView(e)}},{key:"tryOzariaLinkClicked",value:function(){return window.tracker.trackEvent("Teacher Dashboard Try Ozaria Link Clicked",{c
2ategory:"Teachers"}),this.openOzariaEncouragementModal()}},{key:"openOzariaEncouragementModal",value:function(){return this.ozariaEncouragementModalContainer&&this.ozariaEncouragementModalContainer.remove(),this.ozariaEncouragementModalContainer=document.createElement("div"),document.body.appendChild(this.ozariaEncouragementModalContainer),this.ozariaEncouragementModal=new A({el:this.ozariaEncouragementModalContainer})}},{key:"importStudents",value:function(e){return E.importStudentsToClassroom(e).then((function(e){return e.length>0?(console.debug("Students imported to classroom:",e),Promise.resolve(e)):(noty({text:"No new students imported",layout:"topCenter",timeout:3e3,type:"error"}),Promise.reject())})).catch((function(e){return noty({text:e||"Error in importing students",layout:"topCenter",timeout:3e3,type:"error"}),Promise.reject()}))}},{key:"addImportedStudents",value:function(e,t){var s=this,a=this.classrooms.models.find((function(t){return t.get("_id")===e.get("_id")}));return t.forEach((function(e){return a.get("members").push(e._id)})),function(){for(var a=[],n=0,r=Array.from(s.courses.models);n<r.length;n++){var o=r[n];if(o.get("free")){var i=s.courseInstances.findWhere({classroomID:e.id,courseID:o.id});i?a.push(t.forEach((function(e){return i.get("members").push(e._id)}))):a.push(void 0)}}return a}()}},{key:"onClickCreateTeacherButton",value:function(e){return null!=window.tracker&&window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers"}),r.router.navigate("/teachers/signup",{trigger:!0})}},{key:"onClickUpdateTeacherButton",value:function(e){return null!=window.tracker&&window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers"}),r.router.navigate("/teachers/update-account",{trigger:!0})}},{key:"onClickArchiveClassroom",value:function(e){var t=this;if(me.id===this.teacherID){var s=n(e.currentTarget).data("classroom-id"),a=this.classrooms.get(s);return a.revokeStudentLicenses(),a.set("archived",!0),a.save({},{success:function(){return null!=window.tracker&&window.tracker.trackEvent("Teachers Classes Archived Class",{category:"Teachers"}),t.render()}})}}},{key:"onClickUnarchiveClassroom",value:function(e){var t=this;if(me.id===this.teacherID){var s=n(e.currentTarget).data("classroom-id"),a=this.classrooms.get(s);return a.set("archived",!1),a.save({},{success:function(){return null!=window.tracker&&window.tracker.trackEvent("Teachers Classes Unarchived Class",{category:"Teachers"}),t.render()}})}}},{key:"onClickViewClassButton",value:function(e){var t=n(e.target).data("classroom-id");return null!=window.tracker&&window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers",classroomID:t}),r.router.navigate("/teachers/classes/".concat(t),{trigger:!0})}},{key:"onClickViewAILeague",value:function(e){var t,s=n(e.target).data("clan-level"),a=n(e.target).data("clan-source-object-id"),o=null!=(t=G(_.find(null!=this.myClans?this.myClans:[],(function(e){return e.name==="autoclan-".concat(s,"-").concat(a)})),(function(e){return e._id})))?t:"";return o||console.error("Couldn't find autoclan for ".concat(s," ").concat(a," out of"),this.myClans),null!=window.tracker&&window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers",clanSourceObjectID:a}),r.router.navigate("/league/".concat(o),{trigger:!0})}},{key:"onClickViewAILeagueQuickstartVideo",value:function(e){n(e.target).data("clan-level");var t=n(e.target).data("clan-source-object-id");return null!=window.tracker?window.tracker.trackEvent(n(e.target).data("event-action"),{category:"Teachers",clanSourceObjectID:t}):void 0}},{key:"onClickSeeAllQuests",value:function(e){return n(e.target).hide(),this.$el.find(".see-less-quests").show(),this.$el.find(".quest.hide").addClass("hide-revealed").removeClass("hide")}},{key:"onClickSeeLessQuests",value:function(e){return n(e.target).hide(),this.$el.find(".see-all-quests").show(),this.$el.find(".quest.hide-revealed").addClass("hide").removeClass("hide-revealed")}},{key:"onClickSeeAllOfficeHours",value:function(e){return this.howManyOfficeHours="all",this.renderSelectors("#office-hours")}},{key:"onClickSeeLessOfficeHours",value:function(e){return this.howManyOfficeHours="some",this.renderSelectors("#office-hours")}},{key:"onClickSeeNoOfficeHours",value:function(e){return this.howManyOfficeHours="none",this.renderSelectors("#office-hours"),D.save("hide-office-hours",!0)}}],u=[{key:"initClass",value:function(){this.prototype.id="teacher-classes-view",this.prototype.template=y,this.prototype.helper=B,this.prototype.translateWithMarkdown=V,this.prototype.teacherQuestData={create_classroom:{title:V("teacher.teacher_quest_create_classroom")},add_students:{title:V("teacher.teacher_quest_add_students")},teach_methods:{title:V("teacher.teacher_quest_teach_methods"),steps:[V("teacher.teacher_quest_teach_methods_step1"),V("teacher.teacher_quest_teach_methods_step2")]},teach_strings:{title:V("teacher.teacher_quest_teach_strings"),steps:[V("teacher.teacher_quest_teach_strings_step1"),V("teacher.teacher_quest_teach_strings_step2")]},teach_loops:{title:V("teacher.teacher_quest_teach_loops"),steps:[V("teacher.teacher_quest_teach_loops_step1"),V("teacher.teacher_quest_teach_loops_step2")]},teach_variables:{title:V("teacher.teacher_quest_teach_variables"),steps:[V("teacher.teacher_quest_teach_variables_step1"),V("teacher.teacher_quest_teach_variables_step2")]},kithgard_gates_100:{title:V("teacher.teacher_quest_kithgard_gates_100"),steps:[V("teacher.teacher_quest_kithgard_gates_100_step1"),V("teacher.teacher_quest_kithgard_gates_100_step2")]},wakka_maul_100:{title:V("teacher.teacher_quest_wakka_maul_100"),steps:[V("teacher.teacher_quest_wakka_maul_100_step1"),V("teacher.teacher_quest_wakka_maul_100_step2")]},reach_gamedev:{title:V("teacher.teacher_quest_reach_gamedev"),steps:[V("teacher.teacher_quest_reach_gamedev_step1")]}},this.prototype.events={"click .edit-classroom":"onClickEditClassroom","click .archive-classroom":"onClickArchiveClassroom","click .unarchive-classroom":"onClickUnarchiveClassroom","click .create-classroom-btn":"openNewClassroomModal","click .create-teacher-btn":"onClickCreateTeacherButton","click .update-teacher-btn":"onClickUpdateTeacherButton","click .view-class-btn":"onClickViewClassButton","click .view-ai-league":"onClickViewAILeague","click .ai-league-quickstart-video":"onClickAILeagueQuickstartVideo","click .see-all-quests":"onClickSeeAllQuests","click .see-less-quests":"onClickSeeLessQuests","click .see-all-office-hours":"onClickSeeAllOfficeHours","click .see-less-office-hours":"onClickSeeLessOfficeHours","click .see-no-office-hours":"onClickSeeNoOfficeHours","click .try-ozaria a":"tryOzariaLinkClicked","click .share-class":"onClickShareClass"},this.prototype.addFreeCourseInstances=R.wrap(i().mark((function e(){var t,s,a,n,r,o,l,c,u;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,t=[],s=0,a=Array.from(this.classrooms.models);case 3:if(!(s<a.length)){e.next=18;break}n=a[s],r=0,o=Array.from(this.courses.models);case 6:if(!(r<o.length)){e.next=15;break}if((l=o[r]).get("free")){e.next=10;break}return e.abrupt("continue",12);case 10:(c=this.courseInstances.findWhere({classroomID:n.id,courseID:l.id}))||(c=new S({classroomID:n.id,courseID:l.id}),t.push(new Promise(c.save(null,{validate:!1}).then)));case 12:r++,e.next=6;break;case 15:s++,e.next=3;break;case 18:if(!(t.length>0)){e.next=23;break}return e.next=21,Promise.all(t);case 21:(u=e.sent).length>0&&this.courseInstances.add(u);case 23:return e.abrupt("return");case 26:return e.prev=26,e.t0=e.catch(0),console.error("Error in adding free course instances"),e.abrupt("return",Promise.reject());case 30:case"end":return e.stop()}}),e,this,[[0,26]])})))}}],o&&c(a.prototype,o),u&&c(a,u),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o,u}(g)).initClass(),a)},229444:(e,t,s)=>{"use strict";var a=s(619755);function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function r(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,o(a.key),a)}}function o(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==n(t)?t:t+""}function i(e,t,s){return t=d(t),function(e,t){if(t&&("object"==n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,s||[],d(e).constructor):t.apply(e,s))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function c(){return c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=u(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},c.apply(null,arguments)}function u(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=d(e)););return e}
2function d(e){return d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},d(e)}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}var v=s(968029),h=s(924685);s(680290);var f,m=s(28045).me,g=s(299498),y=s(64241),b=y.CODE_FORMAT_ALL,w=y.CODE_FORMAT_BLOCKS,k=y.CODE_FORMAT_IPAD,C=y.CODE_FORMAT_TEXT,S=y.JUNIOR_LANGUAGES,x=s(164529);e.exports=((f=function(e){function t(e){var s,a,n,r,o,l,c,u;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(u=i(this,t,[e])).session=e.session,u.isJunior="codecombat-junior"===(null===(s=u.options.level)||void 0===s?void 0:s.get("product"))||"junior"===(null===(a=u.options.campaign)||void 0===a?void 0:a.get("slug")),u.classroomAceConfig=e.classroomAceConfig,u.utils=g,u.codeLanguageObject=g.getCodeLanguages(),u.codeFormatObject=g.getCodeFormats(),u.languageChoices=null,u.codeformatChoices=null,u.codeFormat=u.options.codeFormat||(null===(n=m.get("aceConfig"))||void 0===n?void 0:n.codeFormat)||"text-code",u.isJunior&&"the-gem"===(null===(r=e.level)||void 0===r?void 0:r.get("slug"))){var d,p,v="blocks-icons";m.isStudent()?null!==(d=u.classroomAceConfig)&&void 0!==d&&null!==(p=d.codeFormats)&&void 0!==p&&p.includes(v)&&(u.codeFormat=v):u.codeFormat=v}return u.codeLanguage=(null===(o=u.options)||void 0===o||null===(l=o.session)||void 0===l?void 0:l.get("codeLanguage"))||(null===(c=m.get("aceConfig"))||void 0===c?void 0:c.language)||"python",u.updateCodeFormatList(),u.updateCodeLanguageList(),u}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(t,e),s=t,o=[{key:"initClass",value:function(){this.prototype.id="change-language-tab-view",this.prototype.className="tab-pane",this.prototype.template=h,this.prototype.events={"change #option-code-language":"onCodeLanguageChanged","change #option-code-format":"onCodeFormatChanged"}}}],(n=[{key:"afterRender",value:function(){c(d(t.prototype),"afterRender",this).call(this),this.buildCodeLanguages(),this.buildCodeFormats()}},{key:"getRenderData",value:function(e){return null==e&&(e={}),(e=c(d(t.prototype),"getRenderData",this).call(this,e)).codeLanguages=Object.values(this.codeLanguageObject),e.codeLanguage=this.codeLanguage,e.codeFormats=Object.values(this.codeFormatObject),e.codeFormat=this.codeFormat,e}},{key:"updateCodeFormatList",value:function(){var e,t,s=this;for(var n in this.codeFormatObject)this.codeFormatObject[n].disabled=!1;var r,o=!0,i=null===(e=this.options)||void 0===e||null===(t=e.classroomAceConfig)||void 0===t?void 0:t.codeFormats;this.isJunior&&S.includes(this.codeLanguage)&&(m.isStudent()&&null!=i&&i.length?(i.length>1||"text-code"!==i[0])&&(o=!1):o=!1),o?w.forEach((function(e){s.codeFormatObject[e].disabled=!0,s.codeFormatObject[e].reason=a.i18n.t("choose_hero.code_format_only_junior")})):m.isStudent()&&null!=i&&i.length&&b.forEach((function(e){i.includes(e)||(s.codeFormatObject[e].disabled=!0,s.codeFormatObject[e].reason=a.i18n.t("choose_hero.code_format_disable_by_teacher"))})),g.isMobile()&&this.isJunior&&!g.isIPad()&&(C.forEach((function(e){s.codeFormatObject[e].disabled=!0,s.codeFormatObject[e].reason=a.i18n.t("choose_hero.code_format_in_mobile")})),k.forEach((function(e){s.codeFormatObject[e].disabled=!1}))),this.codeFormatObject[this.codeFormat].disabled&&(this.codeFormat=null===(r=_.find(this.codeFormatObject,{disabled:!1}))||void 0===r?void 0:r.id),this.renderSelectors(".code-format-form"),this.buildCodeFormats()}},{key:"updateCodeLanguageList",value:function(){var e,t,s,n,r,o=this;for(var i in this.codeLanguageObject)this.codeLanguageObject[i].disabled=!1;"coffeescript"!==((null===(e=this.options)||void 0===e||null===(t=e.session)||void 0===t?void 0:t.get("codeLanguage"))||(null===(s=m.get("aceConfig"))||void 0===s?void 0:s.language))&&delete this.codeLanguageObject.coffeescript;var l=!0;if(m.isStudent()&&"ladder"!==(null===(n=this.options)||void 0===n||null===(r=n.level)||void 0===r?void 0:r.get("type"))&&(l=!1),l){var c=!1;(m.isHomeUser()&&m.isPremium()||m.isStudent()&&m.isEnrolled()||m.isTeacher())&&(c=!0),c||Array.from(["cpp","java"]).forEac
2h((function(e){o.codeLanguageObject[e].disabled=!0,o.codeLanguageObject[e].reason=a.i18n.t("choose_hero.code_language_subscriber_only")})),"text-code"!==this.codeFormat&&Array.from(["lua","cpp","java"]).forEach((function(e){o.codeLanguageObject[e].disabled=!0,o.codeLanguageObject[e].reason=a.i18n.t("choose_hero.code_language_not_support_by_blocks")}))}else for(var u in this.codeLanguageObject)u!==this.codeLanguage&&(this.codeLanguageObject[u].disabled=!0,this.codeLanguageObject[u].reason=a.i18n.t("choose_hero.code_language_not_support_in_classroom"));this.codeLanguageObject[this.codeLanguage].disabled&&(this.codeLanguage=_.find(this.codeLanguageObject,{disabled:!1}).id),this.renderSelectors(".code-language-form"),this.buildCodeLanguages()}},{key:"newFancySelect",value:function(e){return new x(e,{searchEnabled:!1,itemSelectText:"",classNames:{containerInner:["choices__inner","trigger"],listDropdown:["options"],itemChoice:["item"],selectedState:["selected"],highlightedState:["hover"]}})}},{key:"buildCodeFormats",value:function(){var e=this.$el.find("#option-code-format");!g.isMobile()&&e.length&&(this.codeformatChoices&&this.codeformatChoices.destroy(),this.codeformatChoices=this.newFancySelect(e[0]));var t=this.codeFormatObject;e.parent().parent().find(".options .item").each((function(){var e=a(this).text(),s=a(this).data("value"),n=t[s].reason;a(this).attr("title",n);var r=a.i18n.t("choose_hero.".concat(s,"_blurb").replace(/-/g,"_"));if(-1===e.indexOf(r))return a(this).text("".concat(e," - ").concat(r))}))}},{key:"buildCodeLanguages",value:function(){var e=this.$el.find("#option-code-language");!g.isMobile()&&e.length&&(this.languageChoices&&this.languageChoices.destroy(),this.languageChoices=this.newFancySelect(e[0]));var t=this.codeLanguageObject,s=["java","cpp"];e.parent().parent().find(".options .item").each((function(){var e=a(this).text(),n=a(this).data("value"),r=t[n].reason,o=t[n].disabled;a(this).attr("title",r);var i=a.i18n.t("choose_hero.".concat(n,"_blurb")),l=a.i18n.t("choose_hero.subscriber_only");if(-1===e.indexOf(i)){var c="".concat(e," - ").concat(i);return s.includes(n)&&!o&&(c="".concat(e," - ").concat(l," ").concat(i)),a(this).text(c)}}))}},{key:"onCodeLanguageChanged",value:function(e){var t,s;this.codeLanguage=this.$el.find("#option-code-language").val(),this.codeLanguageChanged=!0,this.updateCodeFormatList(),this.buildCodeLanguages(),null===(t=window.tracker)||void 0===t||t.trackEvent("Campaign changed code language",{category:"Campaign Hero Select",codeLanguage:this.codeLanguage,levelSlug:null===(s=this.options.level)||void 0===s?void 0:s.get("slug")}),"blocks-and-code"===this.codeFormat&&-1===["python","javascript"].indexOf(this.codeLanguage)&&(noty({text:"Can't show blocks and code with ".concat(this.codeLanguage),layout:"bottomCenter",type:"error",killer:!1,timeout:3e3}),this.$el.find("#option-code-format").val("text-code").change())}},{key:"onCodeFormatChanged",value:function(e){var t,s;this.codeFormat=this.$el.find("#option-code-format").val(),this.codeFormatChanged=!0,this.updateCodeLanguageList(),this.buildCodeFormats(),null===(t=window.tracker)||void 0===t||t.trackEvent("Campaign changed code format",{category:"Campaign Hero Select",codeFormat:this.codeFormat,levelSlug:null===(s=this.options.level)||void 0===s?void 0:s.get("slug")}),"blocks-and-code"===this.codeFormat&&-1===["python","javascript"].indexOf(this.codeLanguage)&&(noty({text:"Can't show blocks and code with ".concat(this.codeLanguage),layout:"bottomCenter",type:"error",killer:!1,timeout:3e3}),this.$el.find("#option-code-language").val("javascript").change())}}])&&r(s.prototype,n),o&&r(s,o),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,n,o}(v)).initClass(),f)},222133:(e,t,s)=>{"use strict";var a,n=s(619755),r=s(665420);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){var s="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!s){if(Array.isArray(e)||(s=function(e,t){if(e){if("string"==typeof e)return l(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?l(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){s&&(e=s);var a=0,n=function(){};return{s:n,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,i=!1;return{s:function(){s=s.call(e)},n:function(){var e=s.next();return o=e.done,e},e:function(e){i=!0,r=e},f:function(){try{o||null==s.return||s.return()}finally{if(i)throw r}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,a=Array(t);s<t;s++)a[s]=e[s];return a}function c(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,u(a.key),a)}}function u(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==o(t)?t:t+""}function d(e,t,s){return t=f(t),function(e,t){if(t&&("object"==o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,p()?Reflect.construct(t,s||[],f(e).constructor):t.apply(e,s))}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(p=function(){return!!e})()}function v(){return v="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=h(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},v.apply(null,arguments)}function h(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=f(e)););return e}function f(e){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},f(e)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}s(862651);var g=s(921336),y=s(107544),b=s(960246),w=s(846090),k=s(566978),C=s(34088),S=s(847504),x=s(299498),P=s(287127),O=s(203949),L=s(987181),I=s(105950),T=s(579483),j=s(229444),D=_.indexBy(T.juniorHeroesConfig,"slug"),E={};T.juniorHeroesConfig.forEach((function(e,t){E[e.slug]=t}));var R=_.indexBy(T.juniorPetAccessConfig,"slug");function A(e,t){return null!=e?t(e):void 0}e.exports=((a=function(e){function t(e){var s;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),null==e&&(e={}),(s=d(this,t,[e])).options=e,s.animateHeroes=s.animateHeroes.bind(s),s.confirmButtonI18N=null!=e.confirmButtonI18N?e.confirmButtonI18N:"common.save",s.inPetAccessBeta="beta"===me.getOrStartJuniorPetAccessExperimentValue(),s.completedUnlockLevels=new Set,s.heroes=new k([],{model:C}),s.heroes.url="/db/thang.type?view=heroes-junior",s.heroes.setProjection(["original","name","slug","soundTriggers","featureImages","gems","heroClass","description","components","extendedName","shortName","i18n","poseImage","t
2ier","releasePhase","kind"]),s.heroes.comparator=function(e){var t=e.get("slug");if(s.inPetAccessBeta){var a,n=null===(a=R[t])||void 0===a?void 0:a.position;if(n)return 100*n.row+n.column}return null!=E[t]?E[t]:999},s.listenToOnce(s.heroes,"sync",s.onHeroesLoaded),s.supermodel.loadCollection(s.heroes,"heroes"),s.inPetAccessBeta&&s.loadModuleUnlockCompletions(),s.stages={},s.layers=[],s.session=e.session,s.heroAnimationInterval=setInterval(s.animateHeroes,1e3),s.trackTimeVisible(),e.courseInstanceID){var a=n.get("/db/course_instance/".concat(e.courseInstanceID,"/classroom?project=aceConfig,members,ownerID"));s.supermodel.trackRequest(a),a.then((function(e){s.classroomAceConfig=e.aceConfig,s.rerenderFooter()}))}return s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(t,e),s=t,a=[{key:"loadModuleUnlockCompletions",value:function(){var e=this,t=new Set(T.juniorPetAccessConfig.filter((function(e){return"module"===e.access&&!me.ownsJuniorHero(T.heroes[e.slug])})).map((function(e){return e.unlockLevel})));if(t.size){var s=n.get("/db/user/".concat(me.id,"/level.sessions"),{project:"state.complete,level.original"});s.then((function(s){if(!e.destroyed){var a,n=i(s||[]);try{for(n.s();!(a=n.n()).done;){var r,o=a.value,l=null!=o.level?o.level.original:void 0;null!==(r=o.state)&&void 0!==r&&r.complete&&t.has(l)&&e.completedUnlockLevels.add(l)}}catch(e){n.e(e)}finally{n.f()}if(e.completedUnlockLevels.size){e.persistModuleUnlocks();var c,u=i(e.heroes.models);try{for(u.s();!(c=u.n()).done;){var d=c.value;e.formatHero(d)}}catch(e){u.e(e)}finally{u.f()}}}})),this.supermodel.trackRequest(s)}}},{key:"persistModuleUnlocks",value:function(){var e=this,t=T.juniorPetAccessConfig.filter((function(t){return"module"===t.access&&e.completedUnlockLevels.has(t.unlockLevel)})).map((function(e){return T.heroes[e.slug]})).filter((function(e){return!me.ownsJuniorHero(e)}));if(t.length){var s=_.clone(me.get("purchased"))||{};s.juniorHeroes=(s.juniorHeroes||[]).concat(t),me.set("purchased",s),me.patch()}}},{key:"onHeroesLoaded",value:function(){var e=T.juniorHeroesConfig.map((function(e){return e.slug})),t=this.heroes.map((function(e){return e.get("slug")})),s=_.difference(t,e);s.length&&console.warn("JuniorHeroesModal: server returned junior heroes missing from juniorHeroesConfig, hiding:",s);var a=_.difference(e,t);a.length&&console.warn("JuniorHeroesModal: juniorHeroesConfig heroes not returned by server:",a),this.heroes.reset(this.heroes.filter((function(e){return null!=E[e.get("slug")]})));var n,o=i(this.heroes.models);try{for(o.s();!(n=o.n()).done;){var l=n.value;this.formatHero(l)}}catch(e){o.e(e)}finally{o.f()}(me.freeOnly()||r.getHocCampaign())&&this.heroes.reset(this.heroes.filter((function(e){return!e.locked}))),me.isAdmin()||this.heroes.reset(this.heroes.filter((function(e){return"beta"!==e.get("releasePhase")})))}},{key:"formatHero",value:function(e){var t;e.name=x.i18n(e.attributes,"extendedName"),null==e.name&&(e.name=x.i18n(e.attributes,"shortName")),null==e.name&&(e.name=x.i18n(e.attributes,"name")),e.description=x.i18n(e.attributes,"description");var s,a=e.get("original");if(this.inPetAccessBeta){var n,r,o=R[e.attributes.slug]||{};e.petTier=o.access,e.free="free"===o.access,e.unlockBySubscribing="premium"===o.access,e.premium="premium"===o.access,e.requiresSignup="signup"===o.access&&me.isAnonymous(),e.locked=!(me.ownsJuniorHero(a)||e.unlockBySubscribing&&me.isPremium()),"signup"===o.access&&(e.locked=!1),"module"===o.access&&this.completedUnlockLevels.has(o.unlockLevel)&&(e.locked=!1),e.locked&&"module"===o.access&&(e.moduleHint=o.hint),e.petRow=null===(n=o.position)||void 0===n?void 0:n.row,e.petColumn=null===(r=o.position)||void 0===r?void 0:r.column,e.purchasable=!1,e.silverFrame=e.locked&&"premium"!==o.access}else{var i=(D[e.attributes.slug]||{}).access;e.free="free"===i,e.unlockBySubscribing="subscriber"===i,e.premium="premium"===i,e.locked=!(me.ownsJuniorHero(a)||e.unlockBySubscribing&&me.
2isPremium()),e.purchasable=e.locked&&me.isPremium(),e.silverFrame=e.unlockBySubscribing}(me.isStudent()||me.isTeacher())&&(e.locked=!1),this.options.level&&(t=this.options.level.get("allowedHeroes"))&&(e.restricted=(s=e.get("original"),!t.includes(s))),e.class=(e.get("heroClass")||"warrior").toLowerCase()}},{key:"currentVisiblePremiumFeature",value:function(){return!this.visibleHero||"warrior"===this.visibleHero.class&&0===this.visibleHero.get("tier")?null:{viewName:this.id,featureName:"view-hero",premiumThang:{_id:this.visibleHero.id,slug:this.visibleHero.get("slug")}}}},{key:"getRenderData",value:function(e){return null==e&&(e={}),(e=v(f(t.prototype),"getRenderData",this).call(this,e)).heroes=this.heroes.models,e.level=this.options.level,e.confirmButtonI18N=this.confirmButtonI18N,e.visibleHero=this.visibleHero,e.inPetAccessBeta=this.inPetAccessBeta,e.gems=me.gems(),e}},{key:"afterInsert",value:function(){return this.updateViewVisibleTimer(),v(f(t.prototype),"afterInsert",this).call(this)}},{key:"afterRender",value:function(){var e,s;if(v(f(t.prototype),"afterRender",this).call(this),this.supermodel.finished()){this.playSound("game-menu-open");var a=this.heroes.models;this.$el.find(".hero-indicator").each((function(){var e=n(this).data("hero-id"),t=_.find(a,(function(t){return t.get("original")===e}));return n(this).find(".hero-avatar").css("background-image","url(".concat(t.getPortraitURL(),")")).addClass("has-tooltip").tooltip()})),this.canvasWidth=313,this.canvasHeight=this.$el.find("canvas").height();var r=null!=(e=null!=(s=A(null!=this.options?this.options.session:void 0,(function(e){return e.get("heroConfig")})))?s:me.get("heroConfig"))?e:{},o=r.juniorThangType;if(!o&&r.thangType){var i=_.invert(T.heroes)[r.thangType],l=T.juniorHeroReplacements[i];o=l?T.heroes[l]:r.thangType}var c=Math.max(0,_.findIndex(a,(function(e){return e.get("original")===o})));this.$el.find(".hero-item:nth-child(".concat(c+1,"), .hero-indicator:nth-child(").concat(c+1,")")).addClass("active"),this.onHeroChanged({direction:null,relatedTarget:this.$el.find(".hero-item")[c]}),this.$el.find(".hero-stat").addClass("has-tooltip").tooltip()}}},{key:"rerenderFooter",value:function(){var e,t;if(!this.destroyed){this.visibleHero&&this.formatHero(this.visibleHero),this.renderSelectors("#hero-footer");var s=_.clone(this.options);return s.classroomAceConfig=this.classroomAceConfig,s.codeFormat=null===(e=this.changeLanguageView)||void 0===e?void 0:e.codeFormat,this.insertSubView(this.changeLanguageView=new j(s)),this.$el.find("#gems-count-container").toggle(Boolean(null===(t=this.visibleHero)||void 0===t?void 0:t.purchasable))}}},{key:"onHeroChanged",value:function(e){var t=n(e.relatedTarget),s=_.find(this.heroes.models,(function(e){return e.get("original")===t.data("hero-id")}));if(!s)return console.error("Couldn't find hero from heroItem:",t);var a=t.index();return s=this.loadHero(s),this.preloadHero(a+1),this.preloadHero(a-1),s.locked||(this.selectedHero=s),this.visibleHero=s,this.rerenderFooter(),this.trigger("hero-loaded",{hero:s}),this.updateViewVisibleTimer()}},{key:"getFullHero",value:function(e){var t="/db/thang.type/".concat(e,"/version"),s=this.supermodel.getModel(t);return s||((s=new C).setURL(t),this.supermodel.loadModel(s).model)}},{key:"preloadHero",value:function(e){var t;if(t=this.heroes.models[e])return this.loadHero(t,!0)}},{key:"loadHero",value:function(e,t){var s=e.get("poseImage");if(null==t&&(t=!1),s)return n(".hero-item[data-hero-id='".concat(e.get("original"),"'] canvas")).hide(),n(".hero-item[data-hero-id='".concat(e.get("original"),"'] .hero-pose-image")).show().find("img").prop("src","/file/"+s),t||this.playSelectionSound(e),e;throw new Error("Don't have poseImage for ".concat(e.get("original")))}},{key:"animateHeroes",value:function(){var e=this;if(this.visibleHero){var t,s,a=Math.max(0,_.findIndex(this.heroes.models,(function(t){return t.get("original")===e.visibleHero.get("original")}))),n=_.sample(["attack","move_side","move_fore"]);return"gotoAndPlay",s=function(e){return e.gotoAndPlay(n)},null!=(t=A(A(A(null!=this.stages[a]?this.stages[a].children:void 0,(function(e){return e[0]})),(function(e){return e.children})),(function(e){return e[0]}
2)))&&"function"==typeof t.gotoAndPlay?s(t):void 0}}},{key:"playSelectionSound",value:function(e){var t,s,a;if(!this.$el.hasClass("secret")&&(null!=this.currentSoundInstance&&this.currentSoundInstance.stop(),(a=x.i18n(e.attributes,"soundTriggers"))&&(s=a.selected)&&(t=s[Math.floor(Math.random()*s.length)]))){var n=S.nameForSoundReference(t);return S.preloadSoundReference(t),this.currentSoundInstance=S.playSound(n,1),this.currentSoundInstance}}},{key:"onUnlockButtonClicked",value:function(e){e.stopPropagation();var t=n(e.target).closest("button");if(this.visibleHero.get("gems")<=me.gems()){if(t.hasClass("confirm")){var s,a;this.playSound("menu-button-unlock-end"),L.makeFor(this.visibleHero).save();var r=null!=(s=me.get("purchased"))?s:{};null==r.juniorHeroes&&(r.juniorHeroes=[]),r.juniorHeroes.includes(this.visibleHero.get("original"))||r.juniorHeroes.push(this.visibleHero.get("original")),me.set("purchased",r),me.set("spent",(null!=(a=me.get("spent"))?a:0)+this.visibleHero.get("gems"));var o=this.$el.find(".hero-item[data-hero-id='".concat(this.visibleHero.get("original"),"']"));return o.find(".hero-status-value").attr("data-i18n","play.available").i18n(),this.applyRTLIfNeeded(),o.removeClass("locked purchasable"),this.selectedHero=this.visibleHero,this.rerenderFooter(),Backbone.Mediator.publish("store:hero-purchased",{hero:this.visibleHero,heroSlug:this.visibleHero.get("slug")})}return this.playSound("menu-button-unlock-start"),t.addClass("confirm").text(n.i18n.t("play.confirm")),this.$el.one("click",(function(e){if(e.target!==t[0])return t.removeClass("confirm").text(n.i18n.t("play.unlock"))}))}if(this.playSound("menu-button-click"),!me.freeOnly())return this.askToBuyGemsOrSubscribe(t)}},{key:"askToSignUp",value:function(){var e=new P({supermodel:this.supermodel});return this.openModalView(e)}},{key:"askToBuyGemsOrSubscribe",value:function(e){var t;this.$el.find(".unlock-button").popover("destroy"),t=me.isStudent()||me.hasSubscription()?b({}):w({}),e.popover({animation:!0,trigger:"manual",placement:"left",content:" ",container:this.$el,template:t}).popover("show");var s=e.data("bs.popover");return A(null!=s?s.$tip:void 0,(function(e){return e.i18n()})),this.applyRTLIfNeeded()}},{key:"onClickedSomewhere",value:function(e){if(!this.destroyed)return this.$el.find(".unlock-button").popover("destroy")}},{key:"onSubscribeButtonClicked",value:function(e){return this.openModalView(new O),null!=window.tracker?window.tracker.trackEvent("Show subscription modal",{category:"Subscription",label:"hero subscribe modal: "+(n(e.target).data("heroSlug")||"unknown")}):void 0}},{key:"saveAndHide",value:function(){var e,t=this;if(this.codeLanguage=this.changeLanguageView.codeLanguage,this.codeFormat=this.changeLanguageView.codeFormat,this.subscriberCodeLanguageList=[{id:"cpp"},{id:"java"}],!me.hasSubscription()&&this.subscriberCodeLanguageList.find((function(e){return e.id===t.codeLanguage}))&&!me.isStudent())return this.openModalView(new O),void(null!=window.tracker&&window.tracker.trackEvent("Show subscription modal",{category:"Subscription",label:"hero subscribe modal: experimental language"}));var s=null!=this.selectedHero?this.selectedHero.get("original"):void 0;if((null!=this.visibleHero?this.visibleHero.loaded:void 0)&&!this.visibleHero.locked&&null==s&&(s=null!=this.visibleHero?this.visibleHero.get("original"):void 0),!s)return console.error("Somehow we tried to hide without having a hero selected yet..."),void noty({text:"Error: hero not loaded. If this keeps happening, please report the bug.",layout:"topCenter",timeout:1e4,type:"error"});var a=this.selectedHero||this.visibleHero;if(this.inPetAccessBeta&&null!=a&&a.requiresSignup&&me.isAnonymous())return this.updateHeroConfig(me,s),me.patch(),window.nextURL=window.location.href,void this.openModalView(new P({supermodel:this.supermodel}));this.session&&(e=this.updateHeroConfig(this.session,s),this.session.get("codeLanguage")!==this.codeLanguage&&(this.session.set("codeLanguage",this.codeLanguage),e=!0),e&&this.session.patch()),e=this.updateHeroConfig(me,s);var n=_.clone(me.get("aceConfig"))||{};
2return this.codeLanguage!==n.language&&(n.language=this.codeLanguage,me.set("aceConfig",n),e=!0),this.codeFormat!==n.codeFormat&&(n.codeFormat=this.codeFormat,me.set("aceConfig",n),e=!0),e&&me.patch(),this.hide(),"function"==typeof this.trigger?this.trigger("confirm-click",{hero:this.selectedHero}):void 0}},{key:"updateHeroConfig",value:function(e,t){if(!t)return!1;var s=_.clone(e.get("heroConfig"))||{};return s.juniorThangType!==t||s.thangType!==t?(s.juniorThangType=t,s.thangType=t,e.set("heroConfig",s),!0):void 0}},{key:"onHidden",value:function(){return v(f(t.prototype),"onHidden",this).call(this),this.playSound("game-menu-close")}},{key:"destroy",value:function(){for(var e in clearInterval(this.heroAnimationInterval),this.stages){var s=this.stages[e];I.Ticker.removeEventListener("tick",s),s.removeAllChildren()}var a,n=i(this.layers);try{for(n.s();!(a=n.n()).done;)a.value.destroy()}catch(e){n.e(e)}finally{n.f()}return v(f(t.prototype),"destroy",this).call(this)}}],o=[{key:"initClass",value:function(){this.prototype.className="modal fade play-modal",this.prototype.template=y,this.prototype.id="junior-heroes-modal",this.prototype.trapsFocus=!1,this.prototype.events={"slide.bs.carousel #hero-carousel":"onHeroChanged","change #option-code-language":"onCodeLanguageChanged","change #option-code-format":"onCodeFormatChanged","click #close-modal":"hide","click #confirm-button":"saveAndHide","click .unlock-button":"onUnlockButtonClicked","click .subscribe-button":"onSubscribeButtonClicked","click .start-subscription-button":"onSubscribeButtonClicked",click:"onClickedSomewhere"},this.prototype.shortcuts={left:function(){if(this.heroes.models.length&&!this.$el.hasClass("secret"))return this.$el.find("#hero-carousel").carousel("prev")},right:function(){if(this.heroes.models.length&&!this.$el.hasClass("secret"))return this.$el.find("#hero-carousel").carousel("next")},enter:function(){if(this.visibleHero&&!this.visibleHero.locked)return this.saveAndHide()}}}}],a&&c(s.prototype,a),o&&c(s,o),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,o}(g)).initClass(),a)},744798:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,o(a.key),a)}}function o(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function i(e,t,s){return t=c(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,s||[],c(e).constructor):t.apply(e,s))}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}var d;s(235432);var p=s(921336);e.exports=((d=function(e){function t(){return n(this,t),i(this,t,arguments)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(t,e),a=t,o=[{key:"initClass",value:function(){this.prototype.id="c
2ourse-nag-modal",this.prototype.template=s(723731)}}],null&&r(a.prototype,null),o&&r(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,o}(p)).initClass(),d)},282131:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}function r(e){var t=function(e,t){if("object"!=a(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t);if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==a(t)?t:t+""}function o(e,t,s){return t=u(t),function(e,t){if(t&&("object"==a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,i()?Reflect.construct(t,s||[],u(e).constructor):t.apply(e,s))}function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function l(){return l="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=c(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},l.apply(null,arguments)}function c(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=u(e)););return e}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}function d(e,t){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},d(e,t)}var p,v=s(968029),h=s(744798),f=s(207036),m=s(536316);e.exports=((p=function(e){function t(e){var s;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(s=o(this,t,[e])).prepaids=new f,s.supermodel.trackRequest(s.prepaids.fetchMineAndShared()),s.listenTo(s.prepaids,"sync",s.gotPrepaids),s.shown=!1,s}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(t,e),s=t,r=[{key:"initClass",value:function(){this.prototype.id="classes-nag-subview",this.prototype.template=m,this.prototype.events={"click .more-info":"onClickMoreInfo"}}}],(a=[{key:"afterRender",value:function(){return l(u(t.prototype),"afterRender",this).call(this),this.shown?this.$el.show():this.$el.hide()}},{key:"gotPrepaids",value:function(){var e=this.prepaids.groupBy((function(e){var t;return t=e.status(),["expired","pending"].includes(t)?"I":e.hasBeenUsedByTeacher(me.id)?"U":"E"}));return this.shown=null!=e.E&&null==e.U,this.render()}},{key:"onClickMoreInfo",value:function(){return this.openModalView(new h)}}])&&n(s.prototype,a),r&&n(s,r),Object.defineProperty(s,"prototype",{writable:!1}),s;var s,a,r}(v)).initClass(),p)},78952:(e,t,s)=>{"use strict";var a,n=s(619755);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var s=0;s<t.length;s++){var a=t[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,l(a.key),a)}}function l(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=r(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==r(t)?t:t+""}function c(e,t,s){return t=v(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,s||[],v(e).constructor):t.apply(e,s))}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(u=function(){return!!e})()}function d(){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,s){var a=p(e,t);if(a){var n=Object.getOwnPropertyDescriptor(a,t);return n.get?n.get.call(arguments.length<3?e:s):n.value}},d.apply(null,arguments)}function p(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=v(e)););return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}
2function h(e,t){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},h(e,t)}s(767959);var f=s(921336),m=s(365117),g=s(207036),y=s(795643),b=s(692895),_=s(455433),w=s(299498),k=s(28045);function C(e,t){return null!=e?t(e):void 0}e.exports=((a=function(e){function t(e){var a,r=e.user,i=e.classroom,l=e.students;return o(this,t),(a=c(this,t,arguments)).user=r,a.classroom=i,a.students=l,a.supermodel.trackRequest(a.user.fetch()),a.utils=s(299498),a.state=new m({emailSent:!1,passwordChanged:!1,newPassword:"",errorMessage:""}),a.fetchPrepaids(),a.listenTo(a.state,"change",a.render),a.listenTo(a.classroom,"save-password:success",(function(){this.state.set({passwordChanged:!0,errorMessage:""})})),a.listenTo(a.classroom,"save-password:error",(function(e){'Data matches schema from "not"'===e.message&&(e.message=n.i18n.t("signup.invalid_password")),this.state.set({errorMessage:e.message})})),C(me.getClientCreatorPermissions(),(function(e){return e.then((function(){return"function"==typeof a.render?a.render():void 0}))})),a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&h(e,t)}(t,e),a=t,r=[{key:"onLoaded",value:function(){return this.prepaids.reset(this.prepaids.filter((function(e){return"available"===e.status()}))),d(v(t.prototype),"onLoaded",this).call(this)}},{key:"fetchPrepaids",value:function(){return this.prepaids=new g,this.prepaids.comparator="endDate",w.isOzaria?this.supermodel.trackRequest(this.prepaids.fetchMineAndShared()):this.supermodel.trackRequest(this.prepaids.fetchForClassroom(this.classroom))}},{key:"onClickSendRecoveryEmail",value:function(){var e=this,t=this.user.get("email");return k.sendRecoveryEmail(t).then((function(){return e.state.set({emailSent:!0})}))}},{key:"onClickRevokeStudentButton",value:function(e){var t=this;if(w.isOzaria){var s=n(e.currentTarget),a=n.i18n.t("teacher.revoke_confirm").replace("{{student_name}}",this.user.broadName());if(!confirm(a))return;var r=this.user.makeCoursePrepaid();return s.text(n.i18n.t("teacher.revoking")),r.revoke(this.user,{success:function(){return t.user.unset("coursePrepaid"),t.prepaids.fetchMineAndShared().done((function(){return t.render()}))},error:function(e,t){var s=t.responseJSON.message;return noty({text:s,layout:"center",type:"error",killer:!0,timeout:3e3})}})}if(me.id===this.classroom.get("ownerID")){var o=new _([this.user]),i=new b({classroom:this.classroom,selectedUsers:o,users:this.students,tab:"revoke"});return this.openModalView(i),i.once("redeem-users",(function(e){return e.each((function(e){var s=t.students.get(e.id);if(s)return s.set(e.attributes)})),null}))}}},{key:"studentStatusString",value:function(){var e=this.user.prepaidStatus(),t=C(this.user.get("coursePrepaid"),(function(e){return e.endDate})),s=null!=t?moment(t).utc().format("ll"):"";return w.formatStudentLicenseStatusDate(e,s)}},{key:"onClickEnrollStudentButton",value:function(){var e=this;if(w.isOzaria){if(me.id!==this.classroom.get("ownerID"))return;return this.prepaids.find((function(e){return"available"===e.status()})).redeem(this.user,{success:function(t){return e.user.set("coursePrepaid",t.pick("_id","startDate","endDate","type","includedCourseIDs"))},error:function(e,t){var s=t.responseJSON.message;return noty({text:s,layout:"center",type:"error",killer:!0,timeout:3e3})},complete:function(){return e.render()}}),null!=window.tracker?window.tracker.trackEvent("Teachers Class Enrollment Enroll Student",{category:"Teachers",classroomID:this.classroom.id,userID:this.user.id}):void 0}if(this.classroom.hasWritePermission()){var t=new _([this.user]),s=new b({classroom:this.classroom,selectedUsers:t,users:this.students});return this.openModalView(s),s.once("redeem-users",(function(t){return t.each((function(t){var s=e.students.get(t.id);if(s)return s.set(t.attributes)})),null}))}}},{key:"onClickChangePassword",value:function(){return this.classroom.setStudentPassword(this.user,this.state.get("newPassword"))}},{key:"onChangeNewPasswordInput",value:function(e){return this.state.set({newPassword:n(e.currentTarget).val(),emailSent:!1,passwordChanged:!1},{silent:!0}),this.renderSelectors(".change-password-btn")}}],l=[{key:"initClass",value:function(){this.prototype.id="edit-student-modal",this.prototype.template=y,this.prototype.events={"click .send-recovery-email-btn:not(.disabled)":"onClickSendRecoveryEmail","click .change-password-btn:not(.disabled)":"onClickChangePassword","click .revoke-student-btn":"onClickRevokeStudentButton","click .enroll-student-btn:not(.disabled)":"onClickEnrollStudentButton","input .new-password-input":"onChangeNewPasswordInput"}}}],r&&i(a.prototype,r),l&&i(a,l),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,r,l}(f)).initClass(),a)},869139:(e,t)=>
vendor: 4,576 bytes, line 2
2{"use strict";Object.defineProperty(t,"X",{value:!0}),t.Z=void 0,t.Z=Vue.extend({props:{inactive:{type:Boolean,default:!1}},methods:{onClick:function(){this.inactive||this.$emit("click")}}})},575097:(e,t,s)=>{"use strict";t.Z=void 0;var a,n=(a=s(44963))&&a.__esModule?a:{default:a};t.Z=Vue.extend({components:{OzariaCTA:n.default}})},105305:(e,t,s)=>{"use strict";var a=s(619755);Object.defineProperty(t,"X",{value:!0}),t.Z=void 0;var n=l(s(937031)),r=s(420629),o=l(s(244780)),i=s(511392);function l(e){return e&&e.__esModule?e:{default:e}}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,a=Array(t);s<t;s++)a[s]=e[s];return a}function d(){d=function(){return t};var e,t={},s=Object.prototype,a=s.hasOwnProperty,n=Object.defineProperty||function(e,t,s){e[t]=s.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",l=r.toStringTag||"@@toStringTag";function u(e,t,s){return Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,s){return e[t]=s}}function p(e,t,s,a){var r=t&&t.prototype instanceof y?t:y,o=Object.create(r.prototype),i=new j(a||[]);return n(o,"_invoke",{value:O(e,s,i)}),o}function v(e,t,s){try{return{type:"normal",arg:e.call(t,s)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var h="suspendedStart",f="executing",m="completed",g={};function y(){}function b(){}function _(){}var w={};u(w,o,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(D([])));C&&C!==s&&a.call(C,o)&&(w=C);var S=_.prototype=y.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function s(n,r,o,i){var l=v(e[n],e,r);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==c(d)&&a.call(d,"__await")?t.resolve(d.__await).then((function(e){s("next",e,o,i)}),(function(e){s("throw",e,o,i)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return s("throw",e,o,i)}))}i(l.arg)}var r;n(this,"_invoke",{value:function(e,a){function n(){return new t((function(t,n){s(e,a,t,n)}))}return r=r?r.then(n,n):n()}})}function O(t,s,a){var n=h;return function(r,o){if(n===f)throw Error("Generator is already running");if(n===m){if("throw"===r)throw o;return{value:e,done:!0}}for(a.method=r,a.arg=o;;){var i=a.delegate;if(i){var l=L(i,a);if(l){if(l===g)continue;return l}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(n===h)throw n=m,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);n=f;var c=v(t,s,a);if("normal"===c.type){if(n=a.done?m:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(n=m,a.method="throw",a.arg=c.arg)}}}function L(t,s){var a=s.method,n=t.iterator[a];if(n===e)return s.delegate=null,"throw"===a&&t.iterator.return&&(s.method="return",s.arg=e,L(t,s),"throw"===s.method)||"return"!==a&&(s.method="throw",s.arg=new TypeError("The iterator does not provide a '"+a+"' method")),g;var r=v(n,t.iterator,s.arg);if("throw"===r.type)return s.method="throw",s.arg=r.arg,s.delegate=null,g;var o=r.arg;return o?o.done?(s[t.resultName]=o.value,s.next=t.nextLoc,"return"!==s.method&&(s.method="next",s.arg=e),s.delegate=null,g):o:(s.method="throw",s.arg=new TypeError("iterator result is not an object"),s.delegate=null,g)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function D(t){if(t||""===t){var s=t[o];if(s)return s.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function s(){for(;++n<t.length;)if(a.call(t,n))return s.value=t[n],s.done=!1,s;return s.value=e,s.done=!0,s};return r.next=r}}throw new TypeError(c(t)+" is not iterable")}return b.prototype=_,n(S,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:b,configurable:!0}),b.displayName=u(_,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,u
2(e,l,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(P.prototype),u(P.prototype,i,(function(){return this})),t.AsyncIterator=P,t.async=function(e,s,a,n,r){void 0===r&&(r=Promise);var o=new P(p(e,s,a,n),r);return t.isGeneratorFunction(s)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(S),u(S,l,"Generator"),u(S,o,(function(){return this})),u(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),s=[];for(var a in t)s.push(a);return s.reverse(),function e(){for(;s.length;){var a=s.pop();if(a in t)return e.value=a,e.done=!1,e}return e.done=!0,e}},t.values=D,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var s in this)"t"===s.charAt(0)&&a.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var s=this;function n(a,n){return i.type="throw",i.arg=t,s.next=a,n&&(s.method="next",s.arg=e),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var n=this.tryEntries[s];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var o=r?r.completion:{};return o.type=e,o.arg=t,r?(this.method="next",this.next=r.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.finallyLoc===e)return this.complete(s.completion,s.afterLoc),T(s),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.tryLoc===e){var a=s.completion;if("throw"===a.type){var n=a.arg;T(s)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,s,a){return this.delegate={iterator:D(t),resultName:s,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function p(e,t,s,a,n,r,o){try{var i=e[r](o),l=i.value}catch(e){return void s(e)}i.done?t(l):Promise.resolve(l).then(a,n)}function v(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function h(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?v(Object(s),!0).forEach((function(t){f(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):v(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function f(e,t,s){return(t=function(e){var t=function(e,t){if("object"!=c(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=c(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==c(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}var m=s(585405),g=s(97660)(),y=s(636478).UsaStates;t.Z=Vue.extend({name:"ModalTeacherDetails",components:{Modal:n.default,SecondaryButton:o.default,NcesSearchInput:m},props:{initialOrganization:String,initialDistrict:String,initialCity:String,initialState:String,initialCountry:String},data:function(){return{countries:g.getNames(),usaStates:(new y).states,organization:this.initialOrganization,district:this.initialDistrict,city:this.initialCity,state:this.initialState,country:this.initialCountry,ncesData:null,hideModal:!1}},computed:{showUsStatesDropDown:function(){return"United States"===this.country}},watch:{country:function(){this.showUsStatesDropDown||(this.ncesData=null)},hideModal:function(){this.hideModal&&a("#coco-modal-header-close-button").click()}},created:function(){var e=this;this.$store.dispatch("trialRequest/fetchCurrentTrialRequest").then((function(t){var s=e.fetchedTrialRequest
2();s&&(e.district=s.district,e.state=s.state,e.country=s.country||"United States",e.city=s.city,e.organization=s.organization)}))},methods:h(h(h({},(0,r.mapActions)({updateTrialRequest:"trialRequest/updateProperties"})),(0,r.mapGetters)({fetchedTrialRequest:"trialRequest/properties"})),{},{onClose:function(){this.$emit("close")},submitDetails:function(e){var t,s=this;return(t=d().mark((function e(){var t;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=h({organization:s.organization,district:s.district,state:s.state,city:s.city,country:s.country},s.ncesData),e.prev=1,e.next=4,s.updateTrialRequest(t);case 4:e.next=9;break;case 6:e.prev=6,e.t0=e.catch(1),console.error("Error in updating account details - TeacherDetails",e.t0);case 9:s.$emit("close"),s.hideModal=!0;case 11:case"end":return e.stop()}}),e,null,[[1,6]])})),function(){var e=this,s=arguments;return new Promise((function(a,n){var r=t.apply(e,s);function o(e){p(r,a,n,o,i,"next",e)}function i(e){p(r,a,n,o,i,"throw",e)}o(void 0)}))})()},updateState:function(e){this.state=e.target.value},updateCountry:function(e){this.country=e.target.value},onNcesSchoolChoose:function(e,t){for(var s={},a=0,n=Object.entries(t);a<n.length;a++){var r=(c=n[a],d=2,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var s=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=s){var a,n,r,o,i=[],l=!0,c=!1;try{if(r=(s=s.call(e)).next,0===t){if(Object(s)!==s)return;l=!1}else for(;!(l=(a=r.call(s)).done)&&(i.push(a.value),i.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=s.return&&(o=s.return(),Object(o)!==o))return}finally{if(c)throw n}}return i}}(c,d)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var s={}.toString.call(e).slice(8,-1);return"Object"===s&&e.constructor&&(s=e.constructor.name),"Map"===s||"Set"===s?Array.from(e):"Arguments"===s||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?u(e,t):void 0}}(c,d)||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.")}()),o=r[0],l=r[1];i.SCHOOL_NCES_KEYS.includes(o)&&(s["nces_".concat(o)]=l)}var c,d;this.ncesData=s,this.organization=t.name,this.state=t.state,this.city=t.city,this.district=t.district},onNcesSchoolInput:function(e,t){this.organization=t}})})},181856:(e,t,s)=>{"use strict";function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}t.Z=void 0;var n,r=(n=s(269471))&&n.__esModule?n:{default:n};function o(){o=function(){return t};var e,t={},s=Object.prototype,n=s.hasOwnProperty,r=Object.defineProperty||function(e,t,s){e[t]=s.value},i="function"==typeof Symbol?Symbol:{},l=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function d(e,t,s){return Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{d({},"")}catch(e){d=function(e,t,s){return e[t]=s}}function p(e,t,s,a){var n=t&&t.prototype instanceof y?t:y,o=Object.create(n.prototype),i=new j(a||[]);return r(o,"_invoke",{value:O(e,s,i)}),o}function v(e,t,s){try{return{type:"normal",arg:e.call(t,s)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var h="suspendedStart",f="executing",m="completed",g={};function y(){}function b(){}function _(){}var w={};d(w,l,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(D([])));C&&C!==s&&n.call(C,l)&&(w=C);var S=_.prototype=y.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){d(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function s(r,o,i,l){var c=v(e[r],e,o);if("throw"!==c.type){var u=c.arg,d=u.value;return d&&"object"==a(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){s("next",e,i,l)}),(function(e){s("throw",e,i,l)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return s("throw",e,i,l)}))}l(c.arg)}var o;r(this,"_invoke",{value:function(e,a){function n(){return new t((function(t,n){s(e,a,t,n)}))}return o=o?o.then(n,n):n()}})}function O(t,s,a){var n=h;return function(r,o){if(n===f)throw Error("Generator is already running");if(n===m){if("throw"===r)throw o;return{value:e,done:!0}}for(a.method=r,a.arg=o;;){var i=a.delegate;if(i){var l=L(i,a);if(l){if(l===g)continue;return l}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(n===h)throw n=m,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);n=f;var c=v(t,s,a);if("normal"===c.type){if(n=a.done?m:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(n=m,a.method="throw",a.arg=c.arg)}}}
vendor: 4,115 bytes, line 2
2function L(t,s){var a=s.method,n=t.iterator[a];if(n===e)return s.delegate=null,"throw"===a&&t.iterator.return&&(s.method="return",s.arg=e,L(t,s),"throw"===s.method)||"return"!==a&&(s.method="throw",s.arg=new TypeError("The iterator does not provide a '"+a+"' method")),g;var r=v(n,t.iterator,s.arg);if("throw"===r.type)return s.method="throw",s.arg=r.arg,s.delegate=null,g;var o=r.arg;return o?o.done?(s[t.resultName]=o.value,s.next=t.nextLoc,"return"!==s.method&&(s.method="next",s.arg=e),s.delegate=null,g):o:(s.method="throw",s.arg=new TypeError("iterator result is not an object"),s.delegate=null,g)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function D(t){if(t||""===t){var s=t[l];if(s)return s.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function s(){for(;++r<t.length;)if(n.call(t,r))return s.value=t[r],s.done=!1,s;return s.value=e,s.done=!0,s};return o.next=o}}throw new TypeError(a(t)+" is not iterable")}return b.prototype=_,r(S,"constructor",{value:_,configurable:!0}),r(_,"constructor",{value:b,configurable:!0}),b.displayName=d(_,u,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,d(e,u,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(P.prototype),d(P.prototype,c,(function(){return this})),t.AsyncIterator=P,t.async=function(e,s,a,n,r){void 0===r&&(r=Promise);var o=new P(p(e,s,a,n),r);return t.isGeneratorFunction(s)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(S),d(S,u,"Generator"),d(S,l,(function(){return this})),d(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),s=[];for(var a in t)s.push(a);return s.reverse(),function e(){for(;s.length;){var a=s.pop();if(a in t)return e.value=a,e.done=!1,e}return e.done=!0,e}},t.values=D,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var s in this)"t"===s.charAt(0)&&n.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var s=this;function a(a,n){return i.type="throw",i.arg=t,s.next=a,n&&(s.method="next",s.arg=e),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return a("end");if(o.tryLoc<=this.prev){var l=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return a(o.catchLoc,!0);if(this.prev<o.finallyLoc)return a(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return a(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return a(o.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var a=this.tryEntries[s];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var r=a;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var o=r?r.completion:{};return o.type=e,o.arg=t,r?(this.method="next",this.next=r.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.finallyLoc===e)return this.complete(s.completion,s.afterLoc),T(s),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];
2if(s.tryLoc===e){var a=s.completion;if("throw"===a.type){var n=a.arg;T(s)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,s,a){return this.delegate={iterator:D(t),resultName:s,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function i(e,t,s,a,n,r,o){try{var i=e[r](o),l=i.value}catch(e){return void s(e)}i.done?t(l):Promise.resolve(l).then(a,n)}var l=s(291652);t.Z=Vue.extend({components:{BaseModal:r.default},data:function(){return{show:!0,hasPlayed:!1,playerVars:{rel:0}}},computed:{tryOzariaLink:function(){return me.useChinaServices()?"https://aojiarui.com/teachers/classes?utm_campaign=emodel&utm_medium=web&utm_source=codecombat":"https://www.ozaria.com/teachers/classes?utm_campaign=emodel&utm_medium=web&utm_source=codecombat"},showChinaVideo:function(){return me.showChinaVideo()}},mounted:function(){window.tracker.trackEvent("Ozaria Encouragement Modal Displayed",{category:"Teachers"})},beforeCreate:function(){Vue.use(l.default)},methods:{startPlay:function(){var e,t=this;return(e=o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.hasPlayed){e.next=2;break}return e.abrupt("return");case 2:return t.hasPlayed=!0,e.next=5,t.$refs.player.player.getIframe();case 5:e.sent.requestFullscreen();case 7:case"end":return e.stop()}}),e)})),function(){var t=this,s=arguments;return new Promise((function(a,n){var r=e.apply(t,s);function o(e){i(r,a,n,o,l,"next",e)}function l(e){i(r,a,n,o,l,"throw",e)}o(void 0)}))})()},close:function(){this.show=!1},noThanksClicked:function(){window.tracker.trackEvent("Ozaria Encouragement Modal Declined",{category:"Teachers"}),this.close()},tryOzariaEvent:function(){window.tracker.trackEvent("Ozaria Encouragement Modal CTA Click",{category:"Teachers"})}}})},821617:(e,t,s)=>{"use strict";Object.defineProperty(t,"X",{value:!0}),t.Z=void 0;
vendor: 4,927 bytes, line 2
2var a=u(s(937031)),n=u(s(760185)),r=u(s(249449)),o=s(420629),i=u(s(218484)),l=u(s(893211)),c=s(755895);function u(e){return e&&e.__esModule?e:{default:e}}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function p(){p=function(){return t};var e,t={},s=Object.prototype,a=s.hasOwnProperty,n=Object.defineProperty||function(e,t,s){e[t]=s.value},r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",l=r.toStringTag||"@@toStringTag";function c(e,t,s){return Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,s){return e[t]=s}}function u(e,t,s,a){var r=t&&t.prototype instanceof y?t:y,o=Object.create(r.prototype),i=new j(a||[]);return n(o,"_invoke",{value:O(e,s,i)}),o}function v(e,t,s){try{return{type:"normal",arg:e.call(t,s)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var h="suspendedStart",f="executing",m="completed",g={};function y(){}function b(){}function _(){}var w={};c(w,o,(function(){return this}));var k=Object.getPrototypeOf,C=k&&k(k(D([])));C&&C!==s&&a.call(C,o)&&(w=C);var S=_.prototype=y.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function s(n,r,o,i){var l=v(e[n],e,r);if("throw"!==l.type){var c=l.arg,u=c.value;return u&&"object"==d(u)&&a.call(u,"__await")?t.resolve(u.__await).then((function(e){s("next",e,o,i)}),(function(e){s("throw",e,o,i)})):t.resolve(u).then((function(e){c.value=e,o(c)}),(function(e){return s("throw",e,o,i)}))}i(l.arg)}var r;n(this,"_invoke",{value:function(e,a){function n(){return new t((function(t,n){s(e,a,t,n)}))}return r=r?r.then(n,n):n()}})}function O(t,s,a){var n=h;return function(r,o){if(n===f)throw Error("Generator is already running");if(n===m){if("throw"===r)throw o;return{value:e,done:!0}}for(a.method=r,a.arg=o;;){var i=a.delegate;if(i){var l=L(i,a);if(l){if(l===g)continue;return l}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(n===h)throw n=m,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);n=f;var c=v(t,s,a);if("normal"===c.type){if(n=a.done?m:"suspendedYield",c.arg===g)continue;return{value:c.arg,done:a.done}}"throw"===c.type&&(n=m,a.method="throw",a.arg=c.arg)}}}function L(t,s){var a=s.method,n=t.iterator[a];if(n===e)return s.delegate=null,"throw"===a&&t.iterator.return&&(s.method="return",s.arg=e,L(t,s),"throw"===s.method)||"return"!==a&&(s.method="throw",s.arg=new TypeError("The iterator does not provide a '"+a+"' method")),g;var r=v(n,t.iterator,s.arg);if("throw"===r.type)return s.method="throw",s.arg=r.arg,s.delegate=null,g;var o=r.arg;return o?o.done?(s[t.resultName]=o.value,s.next=t.nextLoc,"return"!==s.method&&(s.method="next",s.arg=e),s.delegate=null,g):o:(s.method="throw",s.arg=new TypeError("iterator result is not an object"),s.delegate=null,g)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function j(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function D(t){if(t||""===t){var s=t[o];if(s)return s.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function s(){for(;++n<t.length;)if(a.call(t,n))return s.value=t[n],s.done=!1,s;return s.value=e,s.done=!0,s};return r.next=r}}throw new TypeError(d(t)+" is not iterable")}return b.prototype=_,n(S,"constructor",{value:_,configurable:!0}),n(_,"constructor",{value:b,configurable:!0}),b.displayName=c(_,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,c(e,l,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(P.prototype),c(P.prototype,i,(function(){return this})),t.AsyncIterator=P,t.async=function(e,s,a,n,r){void 0===r&&(r=Promise);var o=new P(u(e,s,a,n),r);return t.isGeneratorFunction(s)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},x(S),c(S,l,"Generator"),c(S,o,(function(){return this})),c(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),s=[];for(var a in t)s.push(a);return s.reverse(),function e(){for(;s.length;){var a=s.pop();if(a in t)return e.value=a,e.done=!1,e}return e.done=!0,e}},t.values=D,j.prototype={constructor:j,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEac
2h(T),!t)for(var s in this)"t"===s.charAt(0)&&a.call(this,s)&&!isNaN(+s.slice(1))&&(this[s]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var s=this;function n(a,n){return i.type="throw",i.arg=t,s.next=a,n&&(s.method="next",s.arg=e),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var s=this.tryEntries.length-1;s>=0;--s){var n=this.tryEntries[s];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var r=n;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=t&&t<=r.finallyLoc&&(r=null);var o=r?r.completion:{};return o.type=e,o.arg=t,r?(this.method="next",this.next=r.finallyLoc,g):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.finallyLoc===e)return this.complete(s.completion,s.afterLoc),T(s),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var s=this.tryEntries[t];if(s.tryLoc===e){var a=s.completion;if("throw"===a.type){var n=a.arg;T(s)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,s,a){return this.delegate={iterator:D(t),resultName:s,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function v(e,t,s,a,n,r,o){try{var i=e[r](o),l=i.value}catch(e){return void s(e)}i.done?t(l):Promise.resolve(l).then(a,n)}function h(e){return function(){var t=this,s=arguments;return new Promise((function(a,n){var r=e.apply(t,s);function o(e){v(r,a,n,o,i,"next",e)}function i(e){v(r,a,n,o,i,"throw",e)}o(void 0)}))}}function f(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function m(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?f(Object(s),!0).forEach((function(t){g(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):f(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function g(e,t,s){return(t=function(e){var t=function(e,t){if("object"!=d(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var a=s.call(e,t);if("object"!=d(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==d(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}t.Z=Vue.extend({name:"ModalShareWithTeachers",components:{Modal:a.default,IconClose:l.default},props:{classroomId:{type:String}},data:function(){return{email:null,permission:"write",error:null,deleteInProgress:null,addInProgress:!1,alreadySharedWith:null}},computed:m(m({},(0,o.mapGetters)({getClassroomById:"classrooms/classroomById"})),{},{classroom:function(){return this.getClassroomById(this.classroomId)}}),watch:{addInProgress:function(e){!1===e&&this.updateAlreadySharedWith()},deleteInProgress:function(e){e||this.updateAlreadySharedWith()}},created:function(){var e=this;return h(p().mark((function t(){return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getClassroomForId(e.classroomId);case 2:return t.next=4,e.updateAlreadySharedWith();case 4:case"end":return t.stop()}}),t)})))()},methods:m(m({},(0,o.mapActions)({updateClassroom:"classrooms/updateClassroom",addPermission:"classrooms/a
2ddPermission",removePermission:"classrooms/removePermission",getClassroomForId:"classrooms/fetchClassroomForId"})),{},{addTeacher:function(){var e=this;return h(p().mark((function t(){var s,a,o,i,l,c;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e.addInProgress=!0,e.error="",t.prev=2,t.next=5,n.default.getByEmail({email:e.email},{data:{includeRole:!0}});case 5:if(a=t.sent,o=e.classroom.permissions||[],i=o.find((function(e){return e.target===a._id})),l=a._id===e.classroom.ownerID,r.default.isTeacher(a,!0)?(i||l)&&(s="User already has permission"):s="User does not have a teacher account",e.error=s,!s){t.next=14;break}return e.addInProgress=!1,t.abrupt("return");case 14:return c={target:a._id,access:e.permission},t.next=17,e.addPermission({classroom:e.classroom,permission:c});case 17:t.next=23;break;case 19:t.prev=19,t.t0=t.catch(2),s="cant-fetch-nonteacher-by-email"===t.t0.errorID?"User does not have a teacher account":null===t.t0||void 0===t.t0?void 0:t.t0.message,e.error=s;case 23:e.addInProgress=!1;case 24:case"end":return t.stop()}}),t,null,[[2,19]])})))()},updatePermission:function(e){this.permission=e.target.value},removeTeacher:function(e){var t=this;return h(p().mark((function s(){return p().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:return t.deleteInProgress=e.target,s.next=3,t.removePermission({classroom:t.classroom,permission:e});case 3:t.deleteInProgress=null;case 4:case"end":return s.stop()}}),s)})))()},displayPermission:function(e){return(0,c.getDisplayPermission)(e)},updateAlreadySharedWith:function(){var e=this;return h(p().mark((function t(){var s;return p().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.classroom.permissions.length){t.next=7;break}return t.next=3,i.default.getPermission({classroomID:e.classroomId});case 3:s=t.sent,e.alreadySharedWith=s.data,t.next=8;break;case 7:e.alreadySharedWith=null;case 8:case"end":return t.stop()}}),t)})))()}})})},987415:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("button",{class:{disabled:e.inactive},attrs:{disabled:e.inactive},on:{click:e.onClick}},[e._t("default")],2)},t.xk=[]},974544:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"ozaria-cta"}},[t("div",{staticClass:"ozaria-row"},[t("img",{attrs:{src:"/images/ozaria/modal/encouragement-modal/Icon_StandardsAlignment.svg"}}),e._v(" "),t("div",[t("h4",[e._v(e._s(e.$t("ozaria_cta.title1")))]),e._v(" "),t("p",[e._v(e._s(e.$t("ozaria_cta.description1")))])])]),e._v(" "),t("div",{staticClass:"ozaria-row"},[t("img",{attrs:{src:"/images/ozaria/modal/encouragement-modal/Icon_Turnkey.svg"}}),e._v(" "),t("div",[t("h4",[e._v(e._s(e.$t("ozaria_cta.title2")))]),e._v(" "),t("p",[e._v(e._s(e.$t("ozaria_cta.description2")))])])]),e._v(" "),t("div",{staticClass:"ozaria-row"},[t("img",{attrs:{src:"/images/ozaria/modal/encouragement-modal/Icon_NewTeacherDashboard.svg"}}),e._v(" "),t("div",[t("h4",[e._v(e._s(e.$t("ozaria_cta.title3")))]),e._v(" "),t("p",[e._v(e._s(e.$t("ozaria_cta.description3")))])])])])},t.xk=[]},406684:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("div",{staticClass:"container"},[t("div",{staticClass:"gradient"},[t("div",{attrs:{id:"panel-try-ozaria"}},[t("div",{staticClass:"top-gradient-border"}),e._v(" "),t("div",[t("h3",[e._v("\n          "+e._s(e.$t("teacher.ozaria_intro"))+"\n        ")]),e._v(" "),t("img",{staticClass:"oz-logo",attrs:{alt:"Ozaria logo",src:"/images/pages/home/logo_ozaria.png"}})]),e._v(" "),t("OzariaCTA")],1),e._v(" "),t("a",{staticClass:"try-oz-btn",attrs:{href:"https://ozaria.com/teachers",rel:"external",target:"_blank"}},[e._v("\n      "+e._s(e.$t("teacher.try_ozaria_free"))+"\n    ")])])])},t.xk=[]},793013:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this;return(0,e._self._c)("img",{attrs:{src:"/images/common/IconClose.svg"},on:{click:function(t){return e.$emit("clicked")}}})},t.xk=[]},488942:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return e._self._setupProxy,t("modal",{attrs:{title:e.$t("teachers_quote.teacher_account_details"),"backbone-dismiss-modal":!0},on:{close:e.onClose}},[t("div",{staticClass:"teacher-details-modal"},[t("form",{staticClass:"teacher-details-form",on:{submit:function(t){return t.preventDefault(),e.submitDetails.apply(null,arguments)}}},[t("div",{staticClass:"form-group"},[t("label",{attrs:{for:"schoolName"}}
2,[e._v(e._s(e.$t("teachers_quote.school_name")))]),e._v(" "),e.showUsStatesDropDown?t("nces-search-input",{attrs:{"initial-value":e.organization,"display-key":"name"},on:{updateValue:e.onNcesSchoolInput,navSearchChoose:e.onNcesSchoolChoose}}):t("input",{directives:[{name:"model",rawName:"v-model",value:e.organization,expression:"organization"}],staticClass:"form-control",attrs:{id:"schoolName",type:"text",required:""},domProps:{value:e.organization},on:{input:function(t){t.target.composing||(e.organization=t.target.value)}}})],1),e._v(" "),t("div",{staticClass:"form-group row"},[t("div",{staticClass:"col-lg-6"},[t("label",{attrs:{for:"district"}},[e._v(e._s(e.$t("teachers_quote.district_name")))]),e._v(" "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.district,expression:"district"}],staticClass:"form-control",attrs:{id:"district",type:"text",required:""},domProps:{value:e.district},on:{input:function(t){t.target.composing||(e.district=t.target.value)}}})]),e._v(" "),t("div",{staticClass:"col-lg-6"},[t("label",{attrs:{for:"city"}},[e._v(e._s(e.$t("teachers_quote.city")))]),e._v(" "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.city,expression:"city"}],staticClass:"form-control",attrs:{id:"city",type:"text",required:""},domProps:{value:e.city},on:{input:function(t){t.target.composing||(e.city=t.target.value)}}})])]),e._v(" "),t("div",{staticClass:"form-group row"},[t("div",{staticClass:"col-lg-6"},[t("label",{staticClass:"dropdown-label",attrs:{for:"country"}},[e._v(e._s(e.$t("teachers_quote.country")))]),e._v(" "),t("select",{staticClass:"select-dropdown",attrs:{id:"country"},on:{change:e.updateCountry}},[t("option",{attrs:{value:"",disabled:"",hidden:""},domProps:{selected:""===e.country}},[e._v("\n              Select\n            ")]),e._v(" "),e._l(e.countries,(function(s){return t("option",{key:s,domProps:{selected:e.country===s}},[e._v("\n              "+e._s(s)+"\n            ")])}))],2)]),e._v(" "),e.showUsStatesDropDown?t("div",{staticClass:"col-lg-6",attrs:{z:""}},[t("label",{staticClass:"dropdown-label",attrs:{for:"stateDropDown"}},[e._v(e._s(e.$t("teachers_quote.state")))]),e._v(" "),t("div",[t("select",{staticClass:"select-dropdown w-100",attrs:{id:"stateDropDown"},on:{change:e.updateState}},[t("option",{attrs:{value:"",disabled:"",hidden:""},domProps:{selected:""===e.state}},[e._v("\n                Select\n              ")]),e._v(" "),e._l(e.usaStates,(function(s){return t("option",{key:s.abbreviation,domProps:{selected:e.state===s.abbreviation,value:s.abbreviation}},[e._v("\n                "+e._s(s.name)+"\n              ")])}))],2)])]):t("div",{staticClass:"col-lg-6"},[t("label",{attrs:{for:"state"}},[e._v(e._s(e.$t("teachers_quote.state")))]),e._v(" "),t("input",{directives:[{name:"model",rawName:"v-model",value:e.state,expression:"state"}],staticClass:"form-control",attrs:{id:"state",type:"text",required:""},domProps:{value:e.state},on:{input:function(t){t.target.composing||(e.state=t.target.value)}}})])]),e._v(" "),t("div",{staticClass:"buttons"},[t("secondary-button",{staticClass:"next pull-right"},[e._v("\n          "+e._s(e.$t("common.submit"))+"\n        ")])],1)])])])},t.xk=[]},586166:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return e._self._setupProxy,e.show?t("base-modal",{staticClass:"encouragement-modal"},[t("template",{slot:"header"},[t("div",{staticClass:"header"},[t("h1",[e._v("\n        "+e._s(e.$t("teacher_ozaria_encouragement_modal.title"))+"\n      ")]),e._v(" "),t("h2",[e._v("\n        "+e._s(e.$t("teacher_ozaria_encouragement_modal.sub_title"))+"\n      ")]),e._v(" "),t("div",{staticClass:"spacer"})])]),e._v(" "),t("template",{slot:"body"},[t("div",{staticClass:"content"},[t("div",{staticClass:"trailer"},[t("div",{staticClass:"player-container"},[t("div",{staticClass:"player-sizer"},[e.showChinaVideo?e._e():t("youtube",{ref:"player",staticClass:"player",attrs:{"video-id":"prJJvvI3WJM","player-vars":e.playerVars},on:{playing:e.startPlay}}),e._v(" "),e.showChinaVideo?t("video",{staticClass:"player",attrs:{controls:"",poster:"https://ozaria-assets.oss-cn-qingdao.aliyuncs.com/home-video-poster.jpg",preload:"metadata"}},[t("source",{attrs:{src:"https://ozaria-assets.oss-cn-qingdao.aliyuncs.com/aojiarui-home.mp4",type:"video/mp4"}}
2)]):e._e()],1)])]),e._v(" "),t("ul",[t("li",[e._v(e._s(e.$t("teacher_ozaria_encouragement_modal.bullet1")))]),e._v(" "),t("li",[e._v(e._s(e.$t("teacher_ozaria_encouragement_modal.bullet2")))]),e._v(" "),t("li",[e._v(e._s(e.$t("teacher_ozaria_encouragement_modal.bullet3")))]),e._v(" "),t("li",[e._v(e._s(e.$t("teacher_ozaria_encouragement_modal.bullet4")))])])])]),e._v(" "),t("template",{slot:"footer"},[t("div",{staticClass:"footer"},[t("div",{staticClass:"top-row"},[t("a",{staticClass:"no-thanks",attrs:{href:"#"},on:{click:e.noThanksClicked}},[e._v("\n          "+e._s(e.$t("teacher_ozaria_encouragement_modal.cancel"))+"\n        ")]),e._v(" "),t("a",{staticClass:"try-ozaria",attrs:{href:e.tryOzariaLink},on:{click:e.tryOzariaEvent}},[e._v("\n          "+e._s(e.$t("teacher_ozaria_encouragement_modal.accept"))+"\n        ")])]),e._v(" "),t("div",{staticClass:"bottom-row"},[t("span",[e._v(e._s(e.$t("teacher_ozaria_encouragement_modal.you_can_return")))])])])])],2):e._e()},t.xk=[]},516621:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return e._self._setupProxy,e.classroom?t("modal",{attrs:{title:"Share Class","backbone-dismiss-modal":!0},on:{close:function(t){return e.$emit("close")}}},[t("div",{staticClass:"share-class-modal"},[t("div",{staticClass:"selected-class"},[e._v("\n      "+e._s(e.classroom.name)+"\n    ")]),e._v(" "),t("div",{staticClass:"small-text"},[e._v("\n      "+e._s(e.$t("teacher_dashboard.share_info"))+"\n    ")]),e._v(" "),t("form",{staticClass:"share-class-form",on:{submit:function(t){return t.preventDefault(),e.addTeacher.apply(null,arguments)}}},[t("div",{staticClass:"form-group row"},[t("div",{staticClass:"col-lg-6"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.email,expression:"email"}],staticClass:"form-control",attrs:{id:"share-teacher-email",type:"text",placeholder:"Teacher's email",required:""},domProps:{value:e.email},on:{input:function(t){t.target.composing||(e.email=t.target.value)}}})]),e._v(" "),t("div",{staticClass:"col-lg-4"},[t("select",{staticClass:"select-dropdown form-control",attrs:{id:"share-teacher-permission",required:""},on:{change:e.updatePermission}},[t("option",{attrs:{value:"",disabled:""},domProps:{selected:""===e.permission}},[e._v("\n              Permission\n            ")]),e._v(" "),t("option",{attrs:{value:"write"},domProps:{selected:"write"===e.permission}},[e._v("\n              "+e._s(e.displayPermission("Write"))+"\n            ")]),e._v(" "),t("option",{attrs:{value:"read"},domProps:{selected:"read"===e.permission}},[e._v("\n              "+e._s(e.displayPermission("Read"))+"\n            ")])])]),e._v(" "),t("div",{staticClass:"col-lg-2"},[t("button",{staticClass:"btn btn-primary",attrs:{type:"submit",disabled:e.addInProgress}},[e._v("\n            Add\n          ")])])]),e._v(" "),e.error?t("div",{staticClass:"form-group error"},[e._v("\n        "+e._s(e.error)+"\n      ")]):e._e()]),e._v(" "),t("div",{staticClass:"already-shared-with"},[t("div",{staticClass:"already-shared-heading"},[e._v("\n        Shared With:\n      ")]),e._v(" "),e.alreadySharedWith?t("div",[t("ul",e._l(e.alreadySharedWith,(function(s){return t("li",{key:s.target},[e._v("\n            "+e._s(s.email)+" - "+e._s(e.displayPermission(s.access))+" "),t("icon-close",{on:{clicked:function(t){return e.removeTeacher(s)}}}),e.deleteInProgress===s.target?t("span",{staticClass:"small-text"}
2,[e._v("deleting...")]):e._e()],1)})),0)]):t("div",{staticClass:"small-text"},[e._v("\n        "+e._s(e.$t("teacher_dashboard.shared_with_none"))+"\n      ")])]),e._v(" "),t("div",[e._v("\n      Note:\n      "),t("ul",[t("li",{staticClass:"small-text"},[e._v("\n          "+e._s(e.$t("teacher_dashboard.read_blurb"))+"\n        ")]),e._v(" "),t("li",{staticClass:"small-text"},[e._v("\n          "+e._s(e.$t("teacher_dashboard.write_blurb"))+"\n        ")])])])])]):e._e()},t.xk=[]},141523:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return t("div",{staticClass:"row level-row"},[t("div",{staticClass:"col-xs-5"},[t("div",{staticClass:"level-type"},[e.isCumulative&&"middle"===e.assessmentPlacement?t("span",[e._v(e._s(e.$t("teacher.combo"))+": "+e._s(e.$t("teacher.mid_course")))]):e.isCumulative?t("span",[e._v(e._s(e.$t("teacher.combo"))+": "+e._s(e.$t("teacher.end_course")))]):e.primaryConcept?t("span",[e._v(e._s(e.$t("teacher.concept"))+": "+e._s(e.$t("concepts."+e.primaryConcept)))]):e._e()]),t("div",{staticClass:"small"},[t("strong",[e._v(e._s(e.$t("courses.level_name")))]),e._v(e._s(" ")),t("span",[e._v(e._s(e.name))])])]),t("div",{staticClass:"col-xs-5"},[t("div",{staticClass:"level-status"},[e.complete?t("span",[t("span",{staticClass:"glyphicon glyphicon-ok-sign success-symbol text-forest"}),e._v(e._s(" ")+e._s(e.$t("teacher.success"))+e._s(" ")),e.isCumulative?t("span",[e._v(e._s(" ")+"("+e._s(e.$t("play_level.combo_concepts_used",{complete:e.conceptGoalsCompleted.length,total:e.conceptGoals.length}))+")")]):e._e(),t("br")]):e.started?t("span",[t("span",{staticClass:"glyphicon glyphicon-question-sign in-progress-symbol text-gold"}),e._v(e._s(" ")+e._s(e.$t("teacher.in_progress")))]):t("span")]),e.isCumulative&&e.started?t("div",{staticClass:"small"},[t("strong",[e._v(e._s(e.$t("courses.concepts_used")))]),e._v(e._s(" ")),e._l(e.conceptsUsed||[],(function(s,a){return t("span",[a>0?t("span",[e._v(e._s(", "))]):e._e(),t("span",[e._v(e._s(e.$t("concepts."+s)))])])})),e.conceptsUsed&&e.conceptsUsed.length?e._e():t("span",[e._v(e._s(e.$t("teacher.none")))])],2):e._e()]),t("div",{staticClass:"col-xs-2"},[e.playUrl?t("div",[e.complete?t("a",{staticClass:"play-level-btn btn btn-navy-alt",attrs:{href:e.playUrl}},[e._v(e._s(e.$t("play.replay")))]):e.started?t("a",{staticClass:"play-level-btn btn btn-forest",attrs:{href:e.playUrl}},[e._v(e._s(e.$t("courses.keep_trying")))]):t("a",{staticClass:"play-level-btn btn btn-navy",attrs:{href:e.playUrl}},[e._v(e._s(e.$t("courses.start_challenge")))])]):t("div",[t("a",{staticClass:"btn btn-gray-alt",attrs:{disabled:""}},[e._v(e._s(e.$t("courses.locked")))])])])])},t.xk=[]},22393:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return t("flat-layout",[t("div",{staticClass:"container m-t-3"},[t("p",[t("a",{attrs:{href:"/students"}},[e._v(e._s(e.$t("courses.back_courses_"+e.product)))])]),t("div",{staticClass:"m-t-2"},[t("h2",{staticClass:"text-center"},[e._v(e._s(e.$t("courses.challenges")))]),e.classroom?t("h1",{staticClass:"text-center"},[e._v(e._s(e.classroom.name))]):e._e(),t("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedCourse,expression:"selectedCourse"}],on:{change:function(t){var s=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.selectedCourse=t.target.multiple?s:s[0]}}},e._l(e.levelsByCourse,(function(s){return t("option",{key:s.course._id,domProps:{value:s.course._id}},[e._v(e._s(e.$dbt(s.course,"name")))])})),0),e._l(e.levelsByCourse,(function(s){return s.course._id===e.selectedCourse?t("div",{key:s.course._id,staticClass:"assessments-list m-t-3"},[t("div",{staticClass:"row"},[t("div",{staticClass:"col-xs-5"},[t("span",{staticClass:"table-header"},[e._v(e._s(e.$dbt(s.course,"name")))])]),t("div",{staticClass:"status-column col-xs-5"},[t("span",{staticClass:"table-header"},[e._v(e._s(e.$t("courses.status")))])])]),e._l(s.assessmentLevels,(function(s){return t("student-assessment-row",{key:e.$dbt(s,"name"),attrs:{assessment:s.assessment,assessmentPlacement:s.assessmentPlacement,primaryConcept:s.primaryConcept,name:e.$dbt(s,"name"),complete:!(!e.sessionMap[s.original]||!e.sessionMap[s.original].state.complete),started:!!e.sessionMap[s.original],playUrl:e.playLevelUrlMap[s.original],goals:s.goals,goalStates:e.sessionMap[s.original]?e.sessionMap[s.original].state.goalStates:[]}})}))],2):e._e()}))],2)])])},t.xk=[]},713425:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return t("a",{staticClass:"student-level-progress-dot-link student-level-progress-dot",attrs:{href:e.link,"data-html":"true","data-title":e.titleTemplate,"data-student-id":e.student._id,"data-level-slug":e.level.slug,"data-level-progress":e.progressAttribute,"data-course-id":e.course._id}},["cumulative"===e.level.assessment&&e.percentConceptsCompleted?t("pie-chart",{staticClass:"progress-dot level-progress-dot",attrs:{percent:e.percentConceptsCompleted,"stroke-width":10,
2color:"#20572B",opacity:1}}):t("span",{staticClass:"progress-dot level-progress-dot",class:e.dotClass},[t("div",{staticClass:"dot-label text-center"},[t("div",{staticClass:"dot-label-inner"},[e._v(e._s(e.labelText))])])])],1)},t.xk=[]},303834:(e,t)=>{"use strict";t.xk=t.sY=void 0,t.sY=function(){var e=this,t=e._self._c;return e.courseInstance&&e.courseInstance.members.length>0?t("div",{attrs:{id:"teacher-class-assessments-table"}},["5d41d731a8d1836b5aa3cba1"===e.course._id?t("div",{staticClass:"table-row",style:{width:"100%"}},[t("div",{staticClass:"table-cell",style:{width:"100%"}},[e._v("Assessments are featured in later chapters of Ozaria.")])]):0===e.levels.length?t("div",{staticClass:"table-row"},[t("div",{staticClass:"table-cell"},[e._v("No assessment levels available for this course yet.")])]):e._e(),e.levels.length>0?t("div",{staticClass:"freeze-column"},e._l(e.students,(function(s,a){return t("div",[a%8==0?t("div",{staticClass:"table-row table-header-row"},[t("div",{staticClass:"table-header"})]):e._e(),a%8==0?t("div",{staticClass:"prev-arrow",style:{display:e.showPrevArrows?"block":"none"},on:{click:function(t){return e.onClickArrow(-1)}}},[t("span",{staticClass:"glyphicon glyphicon-circle-arrow-left"})]):e._e(),a%8==0?t("div",{staticClass:"next-arrow",style:{display:e.showNextArrows?"block":"none"},on:{click:function(t){return e.onClickArrow(1)}}},[t("span",{staticClass:"glyphicon glyphicon-circle-arrow-right"})]):e._e(),t("div",{staticClass:"table-row",class:e.backgroundClass(a)},[t("div",{staticClass:"table-cell name"},[t("div",[t("strong",[e.readOnly?t("span",[e._v(e._s(e.broadName(s)))]):t("a",{attrs:{href:e.studentLink(s._id)}},[e._v(e._s(e.broadName(s)))])])]),t("div",{staticClass:"student-email"},[e._v(e._s(s.email||s.name))])])])])})),0):e._e(),e.levels.length>0?t("div",{ref:"dataColumn",staticClass:"data-column",on:{scroll:e.updateArrows}},e._l(e.students,(function(s,a){return t("div",[a%8==0?t("div",{staticClass:"small table-row table-header-row alternating-background"},e._l(e.levels,(function(s){return t("div",{staticClass:"table-header",class:{"combo-cell":"cumulative"===s.assessment}},["cumulative"===s.assessment?t("div",[t("span",[e._v(e._s(e.$t("teacher.combo"))+e._s(" ")),t("i",{staticClass:"glyphicon glyphicon-question-sign",attrs:{"data-html":"true","data-title":e.$t("teacher.combo_explanation")}})])]):(s.primaryConcepts||[]).length?t("div",[t("span",[e._v(e._s(e.$t("concepts."+(s.primaryConcepts||[])[0])))])]):t("div",[t("span",[e._v("?")])])])})),0):e._e(),t("div",{staticClass:"table-row",class:e.backgroundClass(a)},e._l(e.levels,(function(a){return t("div",{staticClass:"table-cell",class:{"combo-cell":"cumulative"===a.assessment}},[e.progress[a.original]?t("student-level-progress-dot",{attrs:{level:a,progress:e.progress[a.original][s._id],student:s,courseInstance:e.courseInstance,course:e.course,classroom:e.classroom,readOnly:e.readOnly}}):e._e()],1)})),0)])})),0):e._e()]):t("div",[e._m(0)])},t.xk=[function(){var e=this._self._c;return e("h2",{staticClass:"text-center"},[e("i",{attrs:{"data-i18n":"teacher.no_student_assigned"}})])}]},847504:(e,t,s)=>{var a,n,r,o,i,l,c,u,d,p,v,h=[].indexOf||function(e){for(var t=0,s=this.length;t<s;t++)if(t in this&&this[t]===e)return t;return-1},f={}.hasOwnProperty;n=s(727851),i={},c=s(28045).me,l=s(105950),u=function(e){return e.replace(/[A-z]/g,(function(e){return String.fromCharCode(e.charCodeAt(0)+(e.toUpperCase()<="M"?13:-13))}))},v=function(){var e,t,s,a;for(a=[],e=0,t=(s=["nefrubyr","nffubyr","onfgneq","ovgpu","oybbql","obyybpxf","ohttre","pbpx","penc","phag","qnza","qnea","qvpx","qbhpur","snt","shpx","cvff","chffl","fuvg","fyhg","svqqyrfgvpxf"]).length;e<t;e++)d=s[e],a.push(u(d));return a}(),p=[l.WebAudioPlugin,l.HTMLAudioPlugin],l.Sound.registerPlugins(p),r=function(){function e(){this.storage={}}return e.prototype.add=function(e,t){var s;if(null==t&&(t="misc"),s=s||e,null==this.storage[t]&&(this.storage[t]=[]),!(h.call(this.storage[t],e)>=0))return this.storage[t].push(e)},e.prototype.addPrimarySound=function(e){return this.add(e,"primarySounds")},e.prototype.addSecondarySound=function(e){return this.add(e,"secondarySounds")},e.prototype.getData=function(){return this.storage},e}(),o=function(){function e(e){e&&(this.name=e)}return e.prototype.loaded=!1,e.prototype.data=null,e.prototype.progress=0,e.prototype.error=null,e.prototype.name="",e}(),a=function(e){function t(){this.onSoundLoaded=function(e,t){return function(){return e.apply(t,arguments)}}(this.onSoundLoaded,this),t.__super__.constructor.call(this),this.ext=l.Sound.c
2apabilities.mp3?".mp3":".ogg",this.camera=null,this.listenToSound(),this.createNewManifest(),this.soundsToPlayWhenLoaded={}}return function(e,t){for(var s in t)f.call(t,s)&&(e[s]=t[s]);function a(){this.constructor=e}a.prototype=t.prototype,e.prototype=new a,e.__super__=t.prototype}(t,e),t.prototype.subscriptions={"audio-player:play-sound":function(e){return this.playInterfaceSound(e.trigger,e.volume,e.delay,e.pos,e.pan)}},t.prototype.createNewManifest=function(){return this.manifest=new r},t.prototype.listenToSound=function(){return l.Sound.on("fileload",this.onSoundLoaded)},t.prototype.applyPanning=function(e,t){var s,a,n,r;return n=this.camera.worldToSurface(t),r=this.camera.surfaceViewport,a=Math.max(-1,Math.min(1,(n.x-r.x-r.width/2)/r.width)),_.isNaN(a)&&(a=0),s=this.camera.distanceRatioTo(t),_.isNaN(s)&&(s=.8),Math.min(1,e.volume/Math.pow(s+.2,2)),{volume:e.volume,delay:e.delay,pan:a}},t.prototype.soundForDialogue=function(e,t){var s,a,n,r;return _.isArray(e)&&(e=e.join(" ")),_.isString(e)?(n=null!=t?t.say:void 0)?(r=n[e=_.string.slugify(e)])||_.string.startsWith(e,"attack")&&(r=n.attack)||-1!==e.indexOf("i-dont-see-anyone")&&(r=n["i-dont-see-anyone"])||-1!==e.indexOf("i-see-you")&&(r=n["i-see-you"])||-1!==e.indexOf("repeating-loop")&&(r=n["repeating-loop"])||/move(up|down|left|right)/.test(e)&&(r=n["move-"+e.slice(4)])||"cleave"===e&&(r=n["take-that"])?r:(s=n.defaultSimlish,(null!=(a=n.swearingSimlish)?a.length:void 0)&&_.find(v,(function(t){return-1!==e.search(t)}))&&(s=n.swearingSimlish),(null!=s?s.length:void 0)?s[e.length%s.length]:null):null:e},t.prototype.preloadInterfaceSounds=function(e){var t,s,a,n,r;if(c.get("volume")){for(r=[],s=0,a=e.length;s<a;s++)t="/file/interface/"+(n=e[s])+this.ext,r.push(this.preloadSound(t,n));return r}},t.prototype.playInterfaceSound=function(e,t,s,a,n){var r;if(null==t&&(t=1),null==s&&(s=0),null==a&&(a=null),null==n&&(n=0),t&&c.get("volume"))return r="/file/interface/"+e+this.ext,this.hasLoadedSound(r)?this.playSound(e,t,s,a,n):(r in i||this.preloadInterfaceSounds([e]),this.soundsToPlayWhenLoaded[e]=t)},t.prototype.playSound=function(e,t,s,a,n){var r,o;return null==t&&(t=1),null==s&&(s=0),null==a&&(a=null),null==n&&(n=0),e?t&&c.get("volume")?(r={volume:t,delay:s},o=_.string.startsWith(e,"/file/")?e:"/file/"+e,this.hasLoadedSound(o)||(this.soundsToPlayWhenLoaded[e]=r.volume),this.camera&&!this.camera.destroyed&&a&&(r=this.applyPanning(r,a)),r.pan||(r.pan=n),l.Sound.play(e,r)):void 0:console.error("Trying to play empty sound?")},t.prototype.hasLoadedSound=function(e,t){return e in i&&!!l.Sound.loadComplete(e)},t.prototype.preloadSoundReference=function(e){var t,s;if(c.get("volume")&&(s=this.nameForSoundReference(e)))return t="/file/"+s,this.preloadSound(t,s),t},t.prototype.nameForSoundReference=function(e){return e[this.ext.slice(1)]},t.prototype.preloadSound=function(e,t,s){if(null==s&&(s=1),e&&!(e in i))return null==t&&(t=e),l.Sound.registerSound(e,t,s),i[e]=new o(t)},t.prototype.onSoundLoaded=function(e){var t,s;if(t=i[e.src])return t.loaded=!0,t.progress=1,(s=this.soundsToPlayWhenLoaded[t.name])&&(this.playSound(t.name,s),this.soundsToPlayWhenLoaded[t.name]=!1),this.notifyProgressChanged()},t.prototype.onSoundLoadError=function(e){return console.error("Could not load sound",e)},t.prototype.notifyProgressChanged=function(){return Backbone.Mediator.publish("audio-player:loaded",{sender:this})},t.prototype.getStatus=function(e){return i[e]||null},t}(n),e.exports=new a},11942:e=>{e.exports=Vue.extend({props:["assessment","assessmentPlacement","primaryConcept","name","goals","complete","started","goalStates","playUrl"],computed:{isCumulative:function(){return"cumulative"===this.assessment},conceptGoals:function(){return this.goals.filter((function(e){var t;return null!=(t=e.concepts)?t.length:void 0}))},conceptGoalsCompleted:function(){return this.conceptGoals.filter((e=this,function(t){var s;return"success"===(null!=(s=e.goalStates)?s[t.id].status:void 0)}));var e},conceptsUsed:function(){return _.uniq(_.flatten(this.conceptGoalsCompleted.map((function(e){return e.concepts}))))}}})},313818:(e,t,s)=>{var a,n,r,o,i=[].indexOf||function(e){for(var t=0,s=this.length;t<s;t++)if(t in this&&this[t]===e)return t;return-1};a=s(572269),r=s(694879),s(249449),s(523402),s(444705),o=s(299498),n=s(477387).default,e.exports=Vue.extend({name:"student-assessments-component",components:{"flat-layout":a,"student-assessment-row":n},props:{classroomID:{type:String,default:function(){return null}}},data:function(){return{courseInstances:[],levelSessions:[],classroom:null,levels:null,levelsByCourse:null,sessionMap:{},levelMap:{},playLevelUrlMap:{},levelUnlockedMap:{},inCourses:{},courses:[],selectedCourse:"",product:o.isOzaria?"ozar":"coco"}},computed:{backToClassroomUrl:function(){var e;return"/teachers/classes/"+(null!=(e=this.classroom)?e._id:void 0)}},created:function(){return Promise.all([Promise.all([r.users.getCourseInstances({userID:me.id}).then((e=this,function(t){e.courseInstances=t})),this.$store.dispatch("courses/fetch").then(function(e){return function(){return e.courses=e.$store.getters["courses/sorted"]}}(this)),r.classrooms.get({classroomID:this.classroomID},{data:{memberID:me.id}}).then(function(e){return function(t){e.classroom=t}}(this))]).then(function(e){return function(){var t,s,a,n,o,l,c,u,d,p;for(e.allLevels=_.flatten(_.map(e.classroom.courses,(function(e){return e.levels}))),s=0,n=(c=e.allLevels).length;s<n;s++)l=c[s],e.levelMap[l.original]=l;for(e.levels=_.flatten(_.map(e.classroom.courses,(function(e){return _.filter(e.levels,"assessment")}))),e.inCourses={},a=0,o=(u=e.courseInstances).length;a<o;
2a++)(t=u[a]).classroomID===e.classroomID&&(d=me.id,i.call(t.members,d)>=0)&&(e.inCourses[t.courseID]=!0);return e.levelsByCourse=_.map(e.classroom.courses,(function(t){return{course:e.$store.state.courses.byId[t._id],assessmentLevels:_.filter(t.levels,"assessment")}})).filter((function(t){return t.assessmentLevels.length&&e.inCourses[t.course._id]})),e.selectedCourse=document.location.hash.replace("#","")||(null!=(p=_.first(e.levelsByCourse))?p.course._id:void 0),e.courses=e.classroom.courses,Promise.all(_.map(e.levels,(function(t){return r.levels.getByOriginal(t.original,{data:{project:"slug,name,original,primaryConcepts,i18n,goals,displayName"}}).then((function(t){var s;return s=_.find(e.levels,{original:t.original}),Vue.set(s,"primaryConcept",_.first(t.primaryConcepts)),Vue.set(s,"i18n",t.i18n),Vue.set(s,"goals",t.goals)}))})))}}(this)),r.users.getLevelSessions({userID:me.id}).then(function(e){return function(t){e.levelSessions=t}}(this))]).then(function(e){return function(){return e.sessionMap=e.createSessionMap(),e.previousLevelMap=e.createPreviousLevelMap(),e.levelUnlockedMap=e.createLevelUnlockedMap(),e.playLevelUrlMap=e.createPlayLevelUrlMap()}}(this));var e},methods:{createSessionMap:function(){return _.reduce(this.levelSessions,(e=this,function(t,s){var a,n,r;return(n=e.levelMap[s.level.original])?(a=n.primerLanguage||e.classroom.aceConfig.language,s.codeLanguage!==a||(t[s.level.original]=s,n.complete=null!=(r=s.state)?r.complete:void 0),t):t}),{});var e},createPlayLevelUrlMap:function(){return _.reduce(this.levels,(e=this,function(t,s){var a,n;return e.levelUnlockedMap[s.original]||e.sessionMap[s.original]?(a=_.find(e.courses,(function(e){return Boolean(_.find(e.levels,(function(e){return e.original===s.original})))})),n=_.find(e.courseInstances,(function(t){return t.courseID===a._id&&t.classroomID===e.classroomID})),_.all([s.slug,null!=n?n._id:void 0,null!=a?a._id:void 0])&&(t[s.original]="/play/level/"+s.slug+"?course-instance="+(null!=n?n._id:void 0)+"&course="+(null!=a?a._id:void 0)),t):t}),{});var e},createPreviousLevelMap:function(){var e,t,s,a,n,r,i,l,c,u,d,p,v;for(l={},n=a=0,r=(d=this.allLevels).length;a<r;n=++a)if(c="course-ladder"!==(p=(i=d[n]).type)&&"ladder"!==p&&!i.assessment&&o.needsPractice((null!=(v=this.sessionMap[i.original])?v.playtime:void 0)||0,i.practiceThresholdMinutes),(e=o.findNextAssessmentForLevel(this.allLevels,n,c))>=0){if(i.practice&&!c)continue;for(null==l[t=this.allLevels[e].original]&&(l[t]=i.original),s=e;s+=1,(u=this.allLevels[s])&&u.assessment;)l[u.original]=i.original}return l},createLevelUnlockedMap:function(){var e,t,s,a,n,r,o;for(n={},t=e=0,s=(r=this.levels).length;e<s;t=++e)n[(a=r[t]).original]=(null!=(o=this.sessionMap[this.previousLevelMap[a.original]])?o.state.complete:void 0)||!1;return n}},watch:{selectedCourse:function(e){return document.location.hash=e}}})},929443:function(e,t,s){var a,n,r,o,i,l,c=s(619755);s(444705),a=s(523402),l=s(299498),i=s(586369),o=function(e,t){return c("<div />").html(e(t)).i18n().html()},r=_.wrap(s(74371),o),n=s(74536).default,e.exports=Vue.extend({props:["progress","level","levelNumber","student","courseInstance","course","classroom","schoolAdminOnly"],components:{PieChart:n},computed:{progressAttribute:function(){return this.progress.completed?"complete":this.progress.started?"started":"not started"},dotClass:function(){var e;return e={},this.progress.completed?a.isProject(this.level)?e.navy=!0:e.forest=!0:this.progress.started&&(e.gold=!0),(a.isLadder(this.level)||a.isProject(this.project))&&(e["progress-dot-lg"]=!0),this.level.practice&&(e.practice=!0),e},levelName:function(){return l.i18n(this.level,"displayName")||l.i18n(this.level,"name")},link:function(){var e;return this.progress.started&&(e=this.schoolAdminOnly?"/school-administrator/teacher/"+this.classroom.ownerID+"/classroom/"+this.classroom._id:"/teachers/classes/"+this.classroom._id,e+="/"+this.student._id+"#"+this.level.slug),a.isLadder(this.level)&&this.courseInstance&&(e=i.courseArenaLadder({level:this.level,courseInstance:this.courseInstance})),a.isProject(this.level)&&this.progress.started&&(e=i.playDevLevel({level:this.level,session:this.progress.session,course:this.course})),e},labelText:function(){var e;return e=this.levelNumber||"",a.isLadder(this.level)&&(e=c.i18n.t("courses.arena")),a.isProject(this.level)&&(this.progress.started?(e=c.i18n.t("teacher.view_project"),this.progress.completed&&!this.progress.session.published&&(e+=" "+c.i18n.t("teacher.unpublished"))):e=c.i18n.t("teacher.project")),!this.level.practice||this.progress.completed||this.progress.started||(e=""),e},titleTemplate:function(){var e,t;return e=_.merge(this.progress,{levelName:this.levelName,moment,practice:this.level.practice,isLadder:a.isLadder(this.level),isProject:a.isProject(this.level),assessment:this.level.assessment,primaryConcept:_.first(this.level.primaryConcepts),translate:c.i18n.t,conceptGoals:this.conceptGoals,goalStates:null!=(t=this.progress.session)?t.state.goalStates:void 0}),r(e)},conceptGoals:function(){return(this.level.goals||[]).filter((function(e){var t;return null!=(t=e.concepts)?t.length:void 0}))},conceptGoalsCompleted:function(){return this.conceptGoals.filter((e=this,function(t){var s,a,n;return"success"===(null!=(s=e.progress.session)&&null!=(a=s.state.goalStates)&&null!=(n=a[t.id])?n.status:void 0)})).length;var e},percentConceptsCompleted:function(){var e;return e=100*this.conceptGoalsCompleted/this.conceptGoals.length,_.isNaN(e)?0:e}},mounted:function(){return c(this.$el).tooltip({html:!0})}})},449086:(e,t,s)=>{var a,n,r=s(619755);n=s(249449),a=s(642085).default,e.exports=Vue.extend({props:{students:{},levels:{},progress:{default:function(){return{}}},course:{},courseInstance:{},classroom:{},readOnly:Boolean},data:function(){return{showPrevArrows:!1,showNextArrows:!1}},methods:{broadName:n.broadName,onClickArrow:function(e){return this.$refs.dataColumn.scrollLeft+=this.$refs.dataColumn.offsetWidth*e},updateArrows:function(){var e;if(e=this.$refs.dataColumn)return this.showPrevArrows=e.scrollLeft>0,this.showNextArrows=e.scrollWidth>e.offsetWidth&&e.offsetWidth+e.scrollLeft<e.scrollWidth},backgroundClass:function(e){return e%2?{darker:!0}:{lighter:!0}},studentLink:function(e){return"/teachers/classes/"+this.classroom._id+"/"+e}},components:{StudentLevelProgressDot:a},mounted:function(){return this.updateArrows(),r(".glyphicon-question-sign",this.$el).each((function(e,t){return r(t).tooltip({html:!0,container:"#teacher-class-assessments-table"})}))}})},178598:function(e,t,s){var a,n=n||function(e){"use strict";if(!(void 0===e||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var t=e.document,s=function(){return e.URL||e.webkitURL||e},a=t.createElementNS("http://www.w3.org/1999/xhtml","a"),n="download"in a,r=/constructor/i.test(e.HTMLElement)||e.safari,o=/CriOS\/[\d]+/.test(navigator.userAgent),i=function(t){(e.setImmediate||e.setTimeout)((function(){throw t}),0)},l=function(e){setTimeout((function(){"string"==typeof e?s().revokeObjectURL(e):e.remove()}),4e4)},c=function(e){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e},u=function(t,u,d){d||(t=c(t));
2var p,v=this,h="application/octet-stream"===t.type,f=function(){!function(e,t,s){for(var a=(t=[].concat(t)).length;a--;){var n=e["on"+t[a]];if("function"==typeof n)try{n.call(e,e)}catch(e){i(e)}}}(v,"writestart progress write writeend".split(" "))};if(v.readyState=v.INIT,n)return p=s().createObjectURL(t),void setTimeout((function(){var e,t;a.href=p,a.download=u,e=a,t=new MouseEvent("click"),e.dispatchEvent(t),f(),l(p),v.readyState=v.DONE}));!function(){if((o||h&&r)&&e.FileReader){var a=new FileReader;return a.onloadend=function(){var t=o?a.result:a.result.replace(/^data:[^;]*;/,"data:attachment/file;");e.open(t,"_blank")||(e.location.href=t),t=void 0,v.readyState=v.DONE,f()},a.readAsDataURL(t),void(v.readyState=v.INIT)}p||(p=s().createObjectURL(t)),h?e.location.href=p:e.open(p,"_blank")||(e.location.href=p),v.readyState=v.DONE,f(),l(p)}()},d=u.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(e,t,s){return t=t||e.name||"download",s||(e=c(e)),navigator.msSaveOrOpenBlob(e,t)}:(d.abort=function(){},d.readyState=d.INIT=0,d.WRITING=1,d.DONE=2,d.error=d.onwritestart=d.onprogress=d.onwrite=d.onabort=d.onerror=d.onwriteend=null,function(e,t,s){return new u(e,t||e.name||"download",s)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);e.exports?e.exports.saveAs=n:null!==s.amdD&&null!==s.amdO&&(void 0===(a=function(){return n}.call(t,s,t,e))||(e.exports=a))},324021:()=>{},870186:()=>{},632825:()=>{},980593:()=>{},955515:()=>{},359640:()=>{},508955:()=>{},532147:()=>{},623988:()=>{},875185:()=>{},962365:()=>{},74949:()=>{},900806:()=>{},586804:()=>{},912355:()=>{},941172:()=>{},113817:()=>{},242383:()=>{},848304:(e,t,s)=>{s(477055),e.exports=function(e){return""+'<div class="style-flat"><nav id="main-nav">\x3c!-- Will be replaced by Navigation.vue in RootView--\x3e</nav><div id="site-content-area"><p>If this is showing, you dun goofed</p></div><footer id="site-footer">\x3c!-- Will be replaced by Footer.vue in RootView--\x3e</footer></div>'}},52461:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e){s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let n=e.utils&&e.utils.isOzaria;s=s+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",n?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',e.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),e.options.headerContent&&(s=s+"<h3>"+(null==(t=e.options.headerContent)?"":t)+"</h3>"),s+='</div><div class="modal-body">',e.options.bodyContent?s=s+"<div>"+(null==(t=e.options.bodyContent)?"":t)+"</div>":s+="<p>Loading</p>",s+='</div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"><button class="btn btn-primary" type="button" data-dismiss="modal" aria-hidden="true" data-i18n="modal.okay">Okay</button></div></div></div>'}.call(this,"view"in n?n.view:"undefined"!=typeof view?view:void 0),s}},399809:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r,o,i){var l=i&&i.get("state")&&i.get("state").complete;s=s+"<h3>"+a.escape(null==(t=n)?"":t)+". "+a.escape(null==(t=r.get("name").replace("Course: ",""))?"":t)+"</h3>",i&&(s=s+'<p><span class="spr" data-i18n="courses.play_time"></span><span>'+a.escape(null==(t=o.duration(i.get("playtime"),"seconds").humanize())?"":t)+'</span></p><p><span class="spr"'+a.attr("data-i18n",l?"courses.completed":"clans.last_played",!0,!0)+"></span><span>"+a.escape(null==(t=o(i.get("changed")).format("MMMM Do YYYY, h:mm:ss a"))?"":t)+"</span></p>"),i&&e&&(s=s+"<strong"+a.attr("data-i18n",l?"clans.view_solution":"clans.view_attempt",!0,!0)+"></strong>")}.call(this,"canViewSolution"in n?n.canViewSolution:"undefined"!=typeof canViewSolution?canViewSolution:void 0,"i"in n?n.i:"undefined"!=typeof i?i:void 0,"level"in n?n.level:"undefined"!=typeof level?level:void 0,"moment"in n?n.moment:"undefined"!=typeof moment?moment:void 0,"session"in n?n.session:"undefined"!=typeof session?session:void 0),s}},357529:(e,t,s)=>{var a=s(619755),n=s(477055);e.exports=function(e){var t,s="",r={},o=e||{};return function(e,a,o,i){r.ageRange=t=function(e){this&&this.block,this&&this.attributes,s=s+'<select class="age-range-select form-control"'+n.attr("name",e,!0,!0)+n.attr("value",i.classroom.get(e),!0,!0)+'><option value="">-</option><option value="&lt;6" data-i18n="courses.student_age_range_younger"></option>',function(){var e=a.range(6,18);if("number"==typeof e.length)for(var r=0,o=e.length;r<o;r++){var i=e[r];s=s+"<option"+n.attr("value",i,!0,!0)+">"+n.escape(null==(t=i)?"":t)+"</option>"}else for(var r in o=0,e)o++,i=e[r],s=s+"<option"+n.attr("value",i,!0,!0)+">"+n.escape(null==(t=i)?"":t)+"</option>"}.call(this),s+='<option value="18" data-i18n="courses.student_age_range_older"></option></select>'},s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let l=i.utils&&i.utils.isOzaria;s=s+"<div"+n.attr("class",n.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+n.attr("class",n.classes(["modal-content","style-flat",l?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',i.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),i.classroom.isNew()?s+='<h3 class="modal-title" data-i18n="courses.create_new_class"></h3>':s+='<h3 class="modal-title" data-i18n="courses.edit_settings1"></h3>',s+='</div><div class="modal-body"><form><div class="row"><div class="col-lg-6 col-md-12">',i.shouldShowGoogleClassroomButton()&&(s+='<a class="btn btn-primary btn-lg" id="link-google-classroom-btn" data-i18n="courses.link_google_classroom"></a>'),i.shouldShowLMSButton()&&(s+='<a class="btn btn-primary btn-lg" id="link-lms-classroom-btn" data-i18n="courses.link_lms_classroom"></a>'),i.showLMSDropDown&&(s+='<div class="form-group lms-class-name"><label data-i18n="courses.select_your_classroom"></label>',i.lmsClassrooms.length>0?(s+='<select class="select-lms-class form-control" name="lmsClassroomId" type="text"><option value="" data-i18n="courses.select_your_classroom"></option>',function(){var e=i.lmsClassrooms;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<option"+n.attr("value",o.id,!0,!0)+">"+n.escape(null==(t=o.name)?"":t)+"</option>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<option"+n.attr("value",o.id,!0,!0)+">"+n.escape(null==(t=o.name)?"":t)+"</option>"}.call(this),s+="</select>"):s+='<select class="select-lms-class form-control" name="lmsClassroomId" type="text" disabled><option value="" data-i18n="courses.no_classrooms_found"></option></select><a class="small create-manually"><u data-i18n="courses.create_classroom_manually"></u></a>',s+="</div>"),s+='<div class="form-group google-class-name secret"><label data-i18n="courses.select_your_classroom"></label>',i.googleClassrooms.length>0?(s+='<select class="select-google-class form-control" name="googleClassroomId" type="text"><option value="" data-i18n="courses.select_your_classroom"></option>',function(){var e=i.googleClassrooms;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<option"+n.attr("value",o.id,!0,!0)+">"+n.escape(null==(t=o.name)?"":t)+"</option>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<option"+n.attr("value",o.id,!0,!0)+">"+n.escape(null==(t=o.name)?"":t)+"</option>"}.call(this),s+="</select>"):s+='<select class="select-google-class form-control" name="googleClassroomId" type="text" disabled><option value="" data-i18n="courses.no_classrooms_found"></option></select><a class="small create-manually"><u data-i18n="courses.create_classroom_manually"></u></a>
2',s=s+'</div><div class="form-group class-name"><label data-i18n="courses.class_name"></label><input class="form-control" id="name-input" name="name" type="text"'+n.attr("value",i.classroom.get("name"),!0,!0)+'></div><div class="form-group"><label data-i18n="choose_hero.programming_language"></label>';var c=i.classroom.get("aceConfig")||{};!!a.size(i.classroom.get("members"))&&(s+='<div class="help-block small text-navy" data-i18n="teachers.programming_language_edit_desc_new"></div>'),s=s+'<select class="form-control" id="programming-language-select" name="language"'+n.attr("value",c.language,!0,!0)+">",c=i.classroom.get("aceConfig")||{},s+='<option value="" data-i18n="courses.language_select"></option><option value="python" data-i18n="courses.python">Python</option><option value="javascript" data-i18n="courses.javascript">JavaScript</option>',i.enableCpp&&(s+='<option value="cpp">C++</option>'),i.enableJava&&(s+='<option value="java" data-i18n="courses.java">Java (Beta)</option>'),s=s+'</select></div><div class="form-group"><label><span data-i18n="courses.classroom_items"></span><span>'+n.escape(null==(t=": ")?"":t)+'</span><input id="classroom-items" name="classroomItems"'+n.attr("checked",i.classroom.get("classroomItems",!0),!0,!0)+' type="checkbox"></label><div class="help-block small text-navy" data-i18n="teachers.classroom_items_description"></div></div><div class="form-group"><label><span data-i18n="courses.classroom_live_completion"></span>';var u=(c=a.assign({liveCompletion:!0},i.classroom.get("aceConfig"))).liveCompletion;if(s=s+'<input id="live-completion" name="liveCompletion"'+n.attr("checked",u,!0,!0)+' type="checkbox"></label><div class="help-block small text-navy" data-i18n="teachers.classroom_live_completion"></div></div><div class="code-formats-part">',i.enableBlocks){s+="\x3c!-- TODO: check is junior course included--\x3e";var d=["text-code","blocks-and-code","blocks-text","blocks-icons"];
2s+='<label><span data-i18n="teachers.code_formats"></span></label><div class="form-group">';var p=(c=i.classroom.get("aceConfig")||{}).codeFormats;void 0===p&&(p=["text-code"],s+="\x3c!-- Later, we can turn everything on by default--\x3e\x3c!-- - codeFormats = isJunior ? allCodeFormats : _.omit(allCodeFormats, 'blocks-icons')--\x3e"),function(){var e=d;if("number"==typeof e.length)for(var t=0,a=e.length;t<a;t++){var r="choose_hero."+(o=e[t]).replace(/-/g,"_");s=s+'<label class="checkbox-inline"'+n.attr("data-i18n","[title]"+r+"_blurb",!0,!0)+'><input class="codeformats-checkbox" name="codeFormats"'+n.attr("value",o,!0,!0)+n.attr("checked",p.includes(o),!0,!0)+' type="checkbox"><span'+n.attr("data-i18n","choose_hero."+o.replace(/-/g,"_"),!0,!0)+"></span></label>"}else for(var t in a=0,e){var o;a++,r="choose_hero."+(o=e[t]).replace(/-/g,"_"),s=s+'<label class="checkbox-inline"'+n.attr("data-i18n","[title]"+r+"_blurb",!0,!0)+'><input class="codeformats-checkbox" name="codeFormats"'+n.attr("value",o,!0,!0)+n.attr("checked",p.includes(o),!0,!0)+' type="checkbox"><span'+n.attr("data-i18n","choose_hero."+o.replace(/-/g,"_"),!0,!0)+"></span></label>"}}.call(this),s+='<div class="help-block small text-navy" data-i18n="teachers.code_formats_description"></div><label><span data-i18n="teachers.default_code_format"></span></label>';var v=(c=i.classroom.get("aceConfig")||{}).codeFormatDefault;void 0===v&&(v="text-code"),s=s+'<select class="form-control" id="default-codeformat-select" name="codeFormatDefault"'+n.attr("value",v,!0,!0)+">",function(){var a=i.enabledCodeFormats;if("number"==typeof a.length)for(var r=0,o=a.length;r<o;r++){var l="choose_hero."+(c=a[r]).replace(/-/g,"_");s=s+"<option"+n.attr("value",c,!0,!0)+">"+n.escape(null==(t=e.i18n.t(l)+" - "+e.i18n.t(l+"_blurb"))?"":t)+"</option>"}else for(var r in o=0,a){var c;o++,l="choose_hero."+(c=a[r]).replace(/-/g,"_"),s=s+"<option"+n.attr("value",c,!0,!0)+">"+n.escape(null==(t=e.i18n.t(l)+" - "+e.i18n.t(l+"_blurb"))?"":t)+"</option>"}}.call(this),s+='</select><div class="help-block small text-navy" data-i18n="teachers.default_code_format_description"></div></div>'}s=s+'</div><div class="form-group"><label><span data-i18n="teachers.classroom_level_chat"></span><span>'+n.escape(null==(t=": ")?"":t)+"</span>";var h="fixed_prompt_only"===(c=a.assign({levelChat:"fixed_prompt_only"},i.classroom.get("aceConfig"))).levelChat;s=s+'<input id="level-chat" name="levelChat"'+n.attr("checked",h,!0,!0)+' value="fixed_prompt_only" type="checkbox"></label><div class="help-block small text-navy" data-i18n="teachers.classroom_level_chat_blurb"></div></div></div><div class="col-lg-6 col-md-12"><div class="form-group"><label><span data-i18n="courses.classroom_announcement"></span><i class="spl text-muted" data-i18n="signup.optional"></i><div class="pick-image-button btn btn-middle btn-forest" data-i18n="common.pick_image"></div></label><textarea class="form-control" id="classroom-announcement" name="description" rows="2">'+n.escape(null==(t=i.classroom.get("description"))?"":t)+'</textarea></div><div class="form-group hide">\x3c!-- We don\'t show this any more, as we didn\'t do anything with the data anyway--\x3e<label><span data-i18n="courses.avg_student_exp_label"></span><i class="spl text-muted" data-i18n="signup.optional"></i></label><div class="help-block small text-navy" data-i18n="courses.avg_student_exp_desc"></div><select class="form-control" name="averageStudentExp"'+n.attr("value",i.classroom.get("averageStudentExp"),!0,!0)+'><option value="" data-i18n="courses.avg_student_exp_select"></option><option value="none" data-i18n="courses.avg_student_exp_none"></option><option value="beginner" data-i18n="courses.avg_student_exp_beginner"></option><option value="intermediate" data-i18n="courses.avg_student_exp_intermediate"></option><option value="advanced" data-i18n="courses.avg_student_exp_advanced"></option><option value="varied" data-i18n="courses.avg_student_exp_varied"></option></select></div><div class="form-group"><label for="type"><span data-i18n="courses.class_type_label"></span>',o.isILK()||(s+='<i class="spl text-muted" data-i18n="signup.optional"></i>'),s=s+'</label><select class="form-control" name="type"'+n.attr("value",i.classroom.get("type"),!0,!0)+'><option value="" data-i18n="courses.avg_student_exp_select"></option>',o.isCodeNinja()||(s+='<option value="in-school" data-i18n="courses.class_type_in_school"></option>'),s+='<option value="after-school" data-i18n="courses.class_type_after_school"></option>',o.isCodeNinja()||(s+='<option value="online" data-i18n="courses.class_type_online"></option><option value="camp" data-i18n="courses.class_type_camp"></option><option value="homeschool" data-i18n="courses.class_type_homeschool"></option><option value="other" data-i18n="courses.class_type_other"></option>'),s+='</select></div><div class="form-group"><label><span data-i18n="courses.student_age_range_label"></span><i class="spl text-muted" data-i18n="signup.optional"></i></label><div>',r.ageRange("ageRangeMin"),s+='<span class="spl spr" data-i18n="courses.student_age_range_to"></span>',r.ageRange("ageRangeMax"),s=s+'</div></div><div class="form-group"><label><span data-i18n="courses.estimated_class_dates_label"></span><i class="spl text-muted" data-i18n="signup.optional"></i></label><div><input class="class-dates form-control" name="classDateStart" type="date"'+n.attr("value",i.classroom.get("classDateStart"),!0,!0)+' max="9999-12-31"><span class="spl spr" data-i18n="courses.student_age_range_to"></span><input class="class-dates form-control" name="classDateEnd" type="date"'+n.attr("value",i.classroom.get("classDateEnd"),!0,!0)+' max="9999-12-31"></div></div><div class="form-group"><label><span data-i18n="courses.estimated_class_frequency_label"></span><i class="spl text-muted" data-i18n="signup.optional"></i></label><div class="row"><div class="col-sm-5"><select class="classes-per-week-select form-control" name="classesPerWeek"'+n.attr("value",i.classroom.get("classesPerWeek"),!0,
2!0)+">",function(){var e=a.range(1,6);if("number"==typeof e.length)for(var r=0,o=e.length;r<o;r++){var i=e[r];s=s+"<option"+n.attr("value",i,!0,!0)+">"+n.escape(null==(t=i)?"":t)+"</option>"}else for(var r in o=0,e)o++,i=e[r],s=s+"<option"+n.attr("value",i,!0,!0)+">"+n.escape(null==(t=i)?"":t)+"</option>"}.call(this),s=s+'</select><div class="help-block small text-navy m-l-1 classes-per-week-help" data-i18n="courses.classes_per_week"></div></div><div class="col-sm-5"><select class="minutes-per-class-select form-control" name="minutesPerClass"'+n.attr("value",i.classroom.get("minutesPerClass"),!0,!0)+'><option value="&lt;30">'+n.escape(null==(t="<30")?"":t)+'</option><option value="30">'+n.escape(null==(t="30")?"":t)+'</option><option value="50">'+n.escape(null==(t="50")?"":t)+'</option><option value="75">'+n.escape(null==(t="75")?"":t)+'</option><option value="&gt;75">'+n.escape(null==(t=">75")?"":t)+'</option></select><div class="help-block small text-navy m-l-1 minutes-per-class-help" data-i18n="courses.minutes_per_class"></div></div></div></div></div></div></form></div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"><div class="text-center">',i.classroom.isNew()?s+='<button class="btn btn-primary btn-lg" id="save-settings-btn" data-i18n="courses.create_class"></button>':s+='<button class="btn btn-primary btn-lg" id="save-settings-btn" data-i18n="common.save_changes"></button>',o.isAdmin()&&(s+='<hr><h3>Admin Only</h3><button class="btn btn-forest btn-lg" id="update-courses-btn">Update Courses</button>'),s+="</div></div></div></div>"}.call(this,"$"in o?o.$:void 0!==a?a:void 0,"_"in o?o._:"undefined"!=typeof _?_:void 0,"me"in o?o.me:"undefined"!=typeof me?me:void 0,"view"in o?o.view:"undefined"!=typeof view?view:void 0),s}},361233:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r,o){s+='<nav class="legacy" id="main-nav">\x3c!-- Will be replaced by Navigation.vue in RootView--\x3e</nav><div id="site-content-area">',!r.isAnonymous()&&r.isTeacher()&&(s+='<div class="alert alert-danger text-center"><h3>ATTENTION TEACHERS:</h3><p>We are transitioning to a new classroom management system; this page will soon be student-only.</p><a href="/teachers/classes">Go to teachers area.</a></div>');var i=!!o.classroom&&o.classroom.get("ownerID")===r.id;if(s+=i?'<a href="/teachers/classes" data-i18n="courses.back_classrooms"></a>':'<a href="/students" data-i18n="courses.back_courses_coco"></a>',!r.isAnonymous()){s=s+'<h1><span class="spr">'+a.escape(null==(t=o.classroom.get("name"))?"":t)+"</span>",i&&(s+='<a id="edit-class-details-link"><small data-i18n="courses.edit_details"></small></a>'),s+="</h1>",o.classroom.get("description")&&(s=s+"<p>"+a.escape(null==(t=o.classroom.get("description"))?"":t)+"</p>"),s+='<h3 data-i18n="courses.stats"></h3><table class="progress-stats-container">';var l=o.classStats();s=s+'<tr><td data-i18n="courses.total_students"></td><td><span class="spr">'+a.escape(null==(t=e.size(o.classroom.get("members")))?"":t)+'</span></td></tr><tr><td data-i18n="courses.average_time"></td><td>'+a.escape(null==(t=l.averagePlaytime)?"":t)+'</td></tr><tr><td data-i18n="courses.total_time"></td><td>'+a.escape(null==(t=l.totalPlaytime)?"":t)+'</td></tr><tr><td data-i18n="courses.average_levels"></td><td>'+a.escape(null==(t=l.averageLevelsComplete)?"":t)+'</td></tr><tr><td data-i18n="courses.total_levels"></td><td>'+a.escape(null==(t=l.totalLevelsComplete)?"":t)+'</td></tr></table><h1><span data-i18n="courses.students"></span>',o.teacherMode&&(s=s+'<div class="pull-right" id="main-button-area"><button class="btn btn-primary text-uppercase" id="add-students-btn" data-i18n="courses.add_students"></button><button class="btn btn-info text-uppercase" id="activate-licenses-btn" data-i18n="courses.enroll_paid"></button><a class="btn btn-success text-uppercase"'+a.attr("href","/courses/purchase?from-classroom="+o.classroom.id,!0,!0)+' data-i18n="courses.purchase_enrollments"></a></div>'),s+="</h1><hr>",function(){var r=o.users.models;if("number"==typeof r.length)for(var i=0,l=r.length;i<l;i++){var c=r[i];s=s+'<div class="row"><div class="col-md-6"><div class="student-name">'+a.escape(null==(t=c.broadName())?"":t)+'</div></div><div class="col-md-6">',o.teacherMode&&(s=s+'<a class="remove-student-link pull-right text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+'><span class="glyphicon glyphicon-remove"></span><span class="spl" data-i18n="courses.remove_student"></span></a>'),s+="</div></div>";var u=o.userLastPlayedString(c),d=o.userPlaytimeString(c);(u||d)&&(s+='<div class="row" id="student-stats-row">',u&&(s=s+'<div class="col-sm-6"><span data-i18n="user.last_played"></span><span class="spr">:</span><span>'+a.escape(null==(t=u)?"":t)+"</span></div>"),d&&(s=s+'<div class="col-sm-6"><span data-i18n="clans.playtime"></span><span class="spr">:</span><span>'+a.escape(null==(t=d)?"":t)+"</span></div>"),s+="</div>");var p=c.isEnrolled();(function(){var r=o.courseInstances.models;if("number"==typeof r.length)for(var i=0,l=r.length;i<l;i++){var u=r[i];if((b=e.contains(u.get("members"),c.id))||o.teacherMode){var d=o.courses.get(u.get("courseID")),v=u.sessionsByUser[c.id]||[];
2if(d.get("free")||p)if(b){if(s=s+'<div class="row"><div class="col-sm-3 text-right">'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+'</div><div class="col-sm-9">',b){var h=(_=o.classroom.getLevels({courseID:d.id})).size(),f=e.zipObject(e.map(v,(function(e){return e.get("level").original})),v),m=100;h>0&&(m=100/h);var g="width:"+m+"%;",y=0;s+='<div class="progress">',function(){var e=_.models;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id"));y++;var p=f[l.get("original")];s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">";var v=o.levelPopoverContent(l,p,c);s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}else for(var n in r=0,e)r++,i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id")),y++,p=f[l.get("original")],s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">",v=o.levelPopoverContent(l,p,c),s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}.call(this),s+="</div>"}s+="</div></div>"}else p&&(s=s+'<div class="text-center"><button class="enable-btn btn btn-info btn-sm text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+a.attr("data-course-instance-cid",u.cid,!0,!0)+'><span class="spr" data-i18n="courses.assign"></span><span>'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+"</span></button></div>")}}else for(var i in l=0,r){var b;if(l++,u=r[i],((b=e.contains(u.get("members"),c.id))||o.teacherMode)&&(d=o.courses.get(u.get("courseID")),v=u.sessionsByUser[c.id]||[],d.get("free")||p))if(b){var _;if(s=s+'<div class="row"><div class="col-sm-3 text-right">'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+'</div><div class="col-sm-9">',b)h=(_=o.classroom.getLevels({courseID:d.id})).size(),f=e.zipObject(e.map(v,(function(e){return e.get("level").original})),v),m=100,h>0&&(m=100/h),g="width:"+m+"%;",y=0,s+='<div class="progress">',function(){var e=_.models;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id"));y++;var p=f[l.get("original")];s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">";var v=o.levelPopoverContent(l,p,c);s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}else for(var n in r=0,e)r++,i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id")),y++,p=f[l.get("original")],s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">",v=o.levelPopoverContent(l,p,c),s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,
2!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}.call(this),s+="</div>";s+="</div></div>"}else p&&(s=s+'<div class="text-center"><button class="enable-btn btn btn-info btn-sm text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+a.attr("data-course-instance-cid",u.cid,!0,!0)+'><span class="spr" data-i18n="courses.assign"></span><span>'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+"</span></button></div>")}}).call(this),o.teacherMode&&!p&&(s=s+'<div class="text-center"><p><em><span class="spr" data-i18n="courses.enroll"></span><strong>'+a.escape(null==(t=c.broadName())?"":t)+'</strong><span class="spl" data-i18n="courses.to_assign"></span></em></p><p><button class="activate-single-license-btn btn btn-info btn-sm text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+'><span class="spr" data-i18n="courses.enroll"></span><span>'+a.escape(null==(t=c.broadName())?"":t)+"</span></button></p></div>"),s+="<hr>"}else for(var i in l=0,r)l++,c=r[i],s=s+'<div class="row"><div class="col-md-6"><div class="student-name">'+a.escape(null==(t=c.broadName())?"":t)+'</div></div><div class="col-md-6">',o.teacherMode&&(s=s+'<a class="remove-student-link pull-right text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+'><span class="glyphicon glyphicon-remove"></span><span class="spl" data-i18n="courses.remove_student"></span></a>'),s+="</div></div>",u=o.userLastPlayedString(c),d=o.userPlaytimeString(c),(u||d)&&(s+='<div class="row" id="student-stats-row">',u&&(s=s+'<div class="col-sm-6"><span data-i18n="user.last_played"></span><span class="spr">:</span><span>'+a.escape(null==(t=u)?"":t)+"</span></div>"),d&&(s=s+'<div class="col-sm-6"><span data-i18n="clans.playtime"></span><span class="spr">:</span><span>'+a.escape(null==(t=d)?"":t)+"</span></div>"),s+="</div>"),p=c.isEnrolled(),function(){var r=o.courseInstances.models;if("number"==typeof r.length)for(var i=0,l=r.length;i<l;i++){var u=r[i];if((b=e.contains(u.get("members"),c.id))||o.teacherMode){var d=o.courses.get(u.get("courseID")),v=u.sessionsByUser[c.id]||[];if(d.get("free")||p)if(b){if(s=s+'<div class="row"><div class="col-sm-3 text-right">'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+'</div><div class="col-sm-9">',b){var h=(_=o.classroom.getLevels({courseID:d.id})).size(),f=e.zipObject(e.map(v,(function(e){return e.get("level").original})),v),m=100;h>0&&(m=100/h);var g="width:"+m+"%;",y=0;s+='<div class="progress">',function(){var e=_.models;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id"));y++;var p=f[l.get("original")];s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">";var v=o.levelPopoverContent(l,p,c);s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}else for(var n in r=0,e)r++,i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id")),y++,p=f[l.get("original")],s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">",v=o.levelPopoverContent(l,p,c),s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,
2!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}.call(this),s+="</div>"}s+="</div></div>"}else p&&(s=s+'<div class="text-center"><button class="enable-btn btn btn-info btn-sm text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+a.attr("data-course-instance-cid",u.cid,!0,!0)+'><span class="spr" data-i18n="courses.assign"></span><span>'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+"</span></button></div>")}}else for(var i in l=0,r){var b;if(l++,u=r[i],((b=e.contains(u.get("members"),c.id))||o.teacherMode)&&(d=o.courses.get(u.get("courseID")),v=u.sessionsByUser[c.id]||[],d.get("free")||p))if(b){var _;if(s=s+'<div class="row"><div class="col-sm-3 text-right">'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+'</div><div class="col-sm-9">',b)h=(_=o.classroom.getLevels({courseID:d.id})).size(),f=e.zipObject(e.map(v,(function(e){return e.get("level").original})),v),m=100,h>0&&(m=100/h),g="width:"+m+"%;",y=0,s+='<div class="progress">',function(){var e=_.models;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id"));y++;var p=f[l.get("original")];s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">";var v=o.levelPopoverContent(l,p,c);s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}else for(var n in r=0,e)r++,i=e[n],l=o.levels.get(i.get("original")),c=o.classroom.getLevelNumber(l.get("original"),y+1,d.get("_id")),y++,p=f[l.get("original")],s=s+"<a"+a.attr("href",o.getLevelURL(l,d,u,p),!0,!0)+">",v=o.levelPopoverContent(l,p,c),s=p&&p.get("state")&&p.get("state").complete?s+'<div class="progress-bar progress-bar-complete"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":p?s+'<div class="progress-bar progress-bar-started"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>":s+'<div class="progress-bar progress-bar-default"'+a.attr("style",a.style(g),!0,!0)+a.attr("data-content",v,!0,!0)+' data-toggle="popover">'+a.escape(null==(t=c)?"":t)+"</div>",s+="</a>"}.call(this),s+="</div>";s+="</div></div>"}else p&&(s=s+'<div class="text-center"><button class="enable-btn btn btn-info btn-sm text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+a.attr("data-course-instance-cid",u.cid,!0,!0)+'><span class="spr" data-i18n="courses.assign"></span><span>'+a.escape(null==(t=n(d.attributes,"name"))?"":t)+"</span></button></div>")}}.call(this),o.teacherMode&&!p&&(s=s+'<div class="text-center"><p><em><span class="spr" data-i18n="courses.enroll"></span><strong>'+a.escape(null==(t=c.broadName())?"":t)+'</strong><span class="spl" data-i18n="courses.to_assign"></span></em></p><p><button class="activate-single-license-btn btn btn-info btn-sm text-uppercase"'+a.attr("data-user-id",c.id,!0,!0)+'><span class="spr" data-i18n="courses.enroll"></span><span>'+a.escape(null==(t=c.broadName())?"":t)+"</span></button></p></div>"),s+="<hr>"}.call(this)}s+='</div><div class="achievement-corner"></div><footer id="site-footer">\x3c!-- Will be replaced by Footer.vue in RootView--\x3e</footer>'}.call(this,"_"in n?n._:"undefined"!=typeof _?_:void 0,"i18n"in n?n.i18n:"undefined"!=typeof i18n?i18n:void 0,"me"in n?n.me:"undefined"!=typeof me?me:void 0,"view"in n?n.view:"undefined"!=typeof view?view:void 0),s}},490872:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r){s+='<div class="style-flat"><nav id="main-nav">\x3c!-- Will be replaced by Navigation.vue in RootView--\x3e</nav><div id="site-content-area"><div class="container m-t-3"><p><a href="/students" data-i18n="courses.back_courses_coco"></a></p><p><strong>',r.courseInstance.get("name")?s=s+"<span>"+a.escape(null==(t=r.courseInstance.get("name"))?"":t)+"</span>":r.classroom.get("name")?s=s+"<span>"+a.escape(null==(t=r.classroom.get("name"))?"":t)+"</span>":s+='<span data-i18n="courses.unnamed_class"></span>',s+="</strong>",!r.owner.isNew()&&r.getOwnerName()&&"Single Player"!=r.courseInstance.get("name")&&(s=s+'<sp
2an class="spl">-</span><span class="spl" data-i18n="courses.teacher"></span><span class="spr">:</span><span><strong>'+a.escape(null==(t=r.getOwnerName())?"":t)+"</strong></span>"),s=s+"</p><h1>"+a.escape(null==(t=e(r.course.attributes,"name"))?"":t),r.courseComplete&&(s+='<span class="spl">-</span><span class="spl" data-i18n="clans.complete_2"></span><span>!</span>'),s+="</h1><p>",r.courseInstance.get("description")&&function(){var e=r.courseInstance.get("description").split("\n");if("number"==typeof e.length)for(var n=0,o=e.length;n<o;n++){var i=e[n];s=s+"<div>"+a.escape(null==(t=i)?"":t)+"</div>"}else for(var n in o=0,e)o++,i=e[n],s=s+"<div>"+a.escape(null==(t=i)?"":t)+"</div>"}.call(this),s+='</p><div class="available-courses-title" data-i18n="courses.available_levels"></div><table class="table table-striped table-condensed"><thead><tr><th></th><th data-i18n="clans.status"></th><th data-i18n="editor.level_components_type"></th><th data-i18n="resources.level"></th><th data-i18n="courses.concepts"></th></tr></thead><tbody>';var o=!0,i=r.getLastLevelCompleted(),l=!i,c=0;(function(){var u=r.levels.models;if("number"==typeof u.length)for(var d=0,p=u.length;d<p;d++){var v=u[d],h=null,f=r.classroom.getLevelNumber(v.get("original"),++c,r.course.id);if(r.userLevelStateMap[n.id]&&(h=r.userLevelStateMap[n.id][v.get("original")]),s+="<tr><td>",o||!l||h){var m=v.isLadder()?"play.compete":"common.play";if(s=s+'<button class="btn btn-forest btn-play-level"'+a.attr("data-level-slug",v.get("slug"),!0,!0)+a.attr("data-i18n",m,!0,!0)+a.attr("data-level-id",v.get("original"),!0,!0)+"></button>",v.get("shareable")){var g=v.get("original");if(b=r.levelSessions.find((function(e){return e.get("level").original===g}))){var y="/play/"+v.get("type")+"-level/"+v.get("slug")+"/"+b.id+"?course="+r.courseID+"&course-instance="+r.courseInstanceID;s=s+'<a class="btn btn-gold btn-view-project-level"'+a.attr("href",y,!0,!0)+">",v.isType("game-dev")?s+='<span data-i18n="sharing.game"></span>':s+='<span data-i18n="sharing.webpage"></span>',s+="</a>"}}}s+="</td><td>",r.userLevelStateMap[n.id]&&(s=s+"<div"+a.attr("data-i18n","courses."+r.userLevelStateMap[n.id][v.get("original")],!0,!0)+"></div>"),s+="</td>",v.get("practice")?s+='<td data-i18n="courses.practice"></td>':s+='<td data-i18n="courses.required"></td>',s=s+"<td>"+a.escape(null==(t=f)?"":t)+". "+a.escape(null==(t=e(v.attributes,"name").replace("Course: ",""))?"":t)+"</td><td>",r.levelConceptMap[v.get("original")]&&function(){var e=r.course.get("concepts");if("number"==typeof e.length)for(var t=0,n=e.length;t<n;t++){var o=e[t];r.levelConceptMap[v.get("original")][o]&&(s=s+'<span class="spr concept"'+a.attr("data-i18n","concepts."+o,!0,!0)+"></span>")}else for(var t in n=0,e)n++,o=e[t],r.levelConceptMap[v.get("original")][o]&&(s=s+'<span class="spr concept"'+a.attr("data-i18n","concepts."+o,!0,!0)+"></span>")}.call(this),s+="</td>",v.get("original")===i&&(l=!0),v.get("practice")||(o=!!r.userLevelStateMap[n.id]&&"complete"===r.userLevelStateMap[n.id][v.get("original")]),s+="</tr>"}else for(var d in p=0,u){var b;if(p++,v=u[d],h=null,f=r.classroom.getLevelNumber(v.get("original"),++c,r.course.id),r.userLevelStateMap[n.id]&&(h=r.userLevelStateMap[n.id][v.get("original")]),s+="<tr><td>",o||!l||h)if(m=v.isLadder()?"play.compete":"common.play",s=s+'<button class="btn btn-forest btn-play-level"'+a.attr("data-level-slug",v.get("slug"),!0,!0)+a.attr("data-i18n",m,!0,!0)+a.attr("data-level-id",v.get("original"),!0,!0)+"></button>",v.get("shareable"))g=v.get("original"),(b=r.levelSessions.find((function(e){return e.get("level").original===g})))&&(y="/play/"+v.get("type")+"-level/"+v.get("slug")+"/"+b.id+"?course="+r.courseID+"&course-instance="+r.courseInstanceID,s=s+'<a class="btn btn-gold btn-view-project-level"'+a.attr("href",y,!0,!0)+">",v.isType("game-dev")?s+='<span data-i18n="sharing.game"></span>':s+='<span data-i18n="sharing.webpage"></span>',s+="</a>");s+="</td><td>",r.userLevelStateMap[n.id]&&(s=s+"<div"+a.attr("data-i18n","courses."+r.userLevelStateMap[n.id][v.get("original")],!0,!0)+"></div>"),s+="</td>",v.get("practice")?s+='<td data-i18n="courses.practice"></td>':s+='<td data-i18n="courses.required"></td>',s=s+"<td>"+a.escape(null==(t=f)?"":t)+". "+a.escape(null==(t=e(v.attributes,"name").replace("Course: ",""))?"":t)+"</td><td>",r.levelConceptMap[v.get("original")]&&function(){var e=r.course.get("concepts");if("number"==typeof e.length)for(var t=0,n=e.length;t<n;t++){var o=e[t];
2r.levelConceptMap[v.get("original")][o]&&(s=s+'<span class="spr concept"'+a.attr("data-i18n","concepts."+o,!0,!0)+"></span>")}else for(var t in n=0,e)n++,o=e[t],r.levelConceptMap[v.get("original")][o]&&(s=s+'<span class="spr concept"'+a.attr("data-i18n","concepts."+o,!0,!0)+"></span>")}.call(this),s+="</td>",v.get("original")===i&&(l=!0),v.get("practice")||(o=!!r.userLevelStateMap[n.id]&&"complete"===r.userLevelStateMap[n.id][v.get("original")]),s+="</tr>"}}).call(this),s+='</tbody></table></div></div><footer id="site-footer">\x3c!-- Will be replaced by Footer.vue in RootView--\x3e</footer></div>'}.call(this,"i18n"in n?n.i18n:"undefined"!=typeof i18n?i18n:void 0,"me"in n?n.me:"undefined"!=typeof me?me:void 0,"view"in n?n.view:"undefined"!=typeof view?view:void 0),s}},826307:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t="",s=e||{};return function(e,s){t+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let n=s.utils&&s.utils.isOzaria;t=t+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",n?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',s.closeButton&&(t+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),t+='<h2 data-i18n="teacher.not_assigned_modal_title"></h2></div><div class="modal-body">',t=s.state.get("promoteStarterLicenses")?t+'<p class="small" data-i18n="teacher.not_assigned_modal_starter_body_1"'+a.attr("data-i18n-options",e.stringify(s.i18nData),!0,!0)+'></p><p class="small" data-i18n="teacher.not_assigned_modal_starter_body_2"'+a.attr("data-i18n-options",e.stringify(s.i18nData),!0,!0)+"></p>":t+'<p class="small" data-i18n="teacher.not_assigned_modal_full_body_1"'+a.attr("data-i18n-options",e.stringify(s.i18nData),!0,!0)+'></p><p class="small" data-i18n="teacher.not_assigned_modal_full_body_2"'+a.attr("data-i18n-options",e.stringify(s.i18nData),!0,!0)+'></p><p class="small" data-i18n="[html]teacher.not_assigned_modal_full_body_3"'+a.attr("data-i18n-options",e.stringify({supportEmail:"<a href='mailto:[email protected]'>[email protected]</a>",interpolation:{escapeValue:!1}}),!0,!0)+"></p>",t+='</div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer">',s.state.get("promoteStarterLicenses")?t+='<div class="text-center"><a class="btn btn-navy btn-lg" data-i18n="general.learn_more" href="/teachers/starter-licenses"></a></div>':t+='<button class="btn btn-forest btn-lg pull-left"><span data-i18n="general.contact_us"></span></button><button class="btn btn-navy btn-lg pull-right" data-dismiss="modal"><span data-i18n="general.close_window"></span></button>',t+="</div></div></div>"}.call(this,"JSON"in s?s.JSON:"undefined"!=typeof JSON?JSON:void 0,"view"in s?s.view:"undefined"!=typeof view?view:void 0),t}},222533:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t="",s=e||{};return function(e,s){t+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let n=s.utils&&s.utils.isOzaria;t=t+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",n?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',s.closeButton&&(t+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),e.useChinaServices()?t+='<script src="https://www.recaptcha.net/recaptcha/api.js"><\/script>':t+='<script src="https://www.google.com/recaptcha/api.js"><\/script>',t=t+'</div><div class="modal-body"><h3 data-i18n="courses.option1_header"></h3><div class="form"><div class="form-group"><p class="small help-block" data-i18n="courses.enter_emails"></p><textarea class="form-control" id="invite-emails-textarea" rows="10"></textarea></div><div class="form-group"><div class="text-center"><div class="g-recaptcha"'+a.attr("data-sitekey",s.recaptcha_site_key,!0,!0)+' data-callback="recaptchaCallback"></div></div></div><div class="form-group"><div class="text-center"><button class="btn btn-lg btn-primary disabled" id="send-invites-btn" data-i18n="courses.send_invites"></button><div class="alert alert-info hide" id="invite-emails-sending-alert" data-i18n="common.sending"></div><div class="alert alert-success hide" id="invite-emails-success-alert" data-i18n="play_level.done"></div></div></div></div><br><p class="small"><span data-i18n="[html]courses.student_email_invite_blurb"'+a.attr("data-i18n-options",{classCode:s.classroom.get("codeCamel")},!0,!0)+'></span></p></div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"></div></div></div>'}.call(this,"me"in s?s.me:"undefined"!=typeof me?me:void 0,"view"in s?s.view:"undefined"!=typeof view?view:void 0),t}},222733:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n={},r=e||{};return function(e,r,o,i){n.applyPage=t=function(){this&&this.block,this&&this.attributes;var e=o.get("visibleSelectedUsers").length,n=e>i.prepaidByGroup[i.selectedPrepaidType],r=0==e;s+='<div id="apply-page"><form class="form m-t-3"><div class="prepaid-type-line"><span data-i18n="teacher.select_license_type"><span>:</span></span><span data-i18n="inventory.available_item"></span></div><div class="well form-group" id="selectPrepaidType">';var l=i.prepaidByGroup;(function(){var e=l;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var o=e[n],c=i.selectedPrepaidType==n,u=n.split("<br>");s=s+'<div class="radio prepaid-type-line"><label><input type="radio"'+a.attr("checked",c,!0,!0)+' name="licenseType"'+a.attr("value",n,!0,!0)+'><p class="prepaid-type">'+a.escape(null==(t=u[0])?"":t)+'</p></label><p class="prepaid-end-date">'+a.escape(null==(t=u[1])?"":t)+'</p><span class="prepaid-number">'+a.escape(null==(t=o.num)?"":t)+"</span></div>"}else for(var n in r=0,e)r++,o=e[n],c=i.selectedPrepaidType==n,u=n.split("<br>"),s=s+'<div class="radio prepaid-type-line"><label><input type="radio"'+a.attr("checked",c,!0,!0)+' name="licenseType"'+a.attr("value",n,!0,!0)+'><p class="prepaid-type">'+a.escape(null==(t=u[0])?"":t)+'</p></label><p class="prepaid-end-date">'+a.escape(null==(t=u[1])?"":t)+'</p><span class="prepaid-number">'+a.escape(null==(t=o.num)?"":t)+"</span></div>"}).call(this),s+='</div></form><form class="form m-t-3"><span data-i18n="teacher.apply_licenses_to_the_following_students"></span><span>:</span><div class="well form-group">';var c=i.enrolledUsers(),u=i.unenrolledUsers(),d=i.areAllSelected();s=s+'<div class="checkbox"><label><input class="select-all-users-checkbox" type="checkbox"'+a.attr("checked",d,!0,!0)+'><span class="spr" data-i18n="teacher.select_all"></span></label><div class="note"><span class="spr" data-i18n="teacher.owned_license"></span></div></div>',function(){var e=u;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var l=e[n],c=o.get("selectedUsers").get(l.id),d=l.prepaidNumericalCourses();s=s+'<div class="checkbox"><label><input class="user-checkbox" type="checkbox"'+a.attr("checked",c,!0,!0)+a.attr("data-user-id",l.id,!0,!0)+' name="user"><span class="spr">'+a.escape(null==(t=l.broadName())?"":t)+'</span></label><div class="status-col">',d===i.utils.courseNumericalStatus.NO_ACCESS?s+='<span data-i18n="teacher.status_not_enrolled"></span>':s=s+"<span>"+a.escape(null==(t=l.prepaidType("includeCourseIDs"))?"":t)+"</span>",s+="</div></div>"}else for(var n in r=0,e)r++,l=e[n],c=o.get("selectedUsers").get(l.id),d=l.prepaidNumericalCourses(),s=s+'<div class="checkbox"><label><input class="user-checkbox" type="checkbox"'+a.attr("checked",c,!0,!0)+a.attr("data-user-id",l.id,!0,!0)+' name="user"><span class="spr">'+a.escape(null==(t=l.broadName())?"":t)+'</span></label><div class="status-col">',d===i.utils.courseNumericalStatus.NO_ACCESS?s+='<span data-i18n="teacher.status_not_enrolled"></span>':s=s+"<span>"+a.escape(null==(t=l.prepaidType("includeCourseIDs"))?"":t)+"</span>",s+="</div></div>"}
2.call(this),c.length>0&&(s+='<div class="small-details m-t-3"><span data-i18n="teacher.students_have_licenses"></span></div>'),function(){var e=c;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var i=e[n];o.get("selectedUsers").get(i.id),s=s+'<div class="checkbox"><label><input class="user-checkbox" type="checkbox" disabled checked'+a.attr("data-user-id",i.id,!0,!0)+' name="user"><span class="spr">'+a.escape(null==(t=i.broadName())?"":t)+"</span></label></div>"}else for(var n in r=0,e)r++,i=e[n],o.get("selectedUsers").get(i.id),s=s+'<div class="checkbox"><label><input class="user-checkbox" type="checkbox" disabled checked'+a.attr("data-user-id",i.id,!0,!0)+' name="user"><span class="spr">'+a.escape(null==(t=i.broadName())?"":t)+"</span></label></div>"}.call(this),s+="</div>",o.get("error")&&(s=s+'<div class="alert alert-danger">'+a.escape(null==(t=o.get("error"))?"":t)+"</div>"),s=s+'<div class="text-center" id="submit-form-area"><p'+a.attr("class",a.classes(["small-details","not-enough-enrollments",n?"visible":""],[!1,!1,!0]),!1,!0)+'><span data-i18n="teacher.not_enough_enrollments"></span></p><p class="small-details"><span class="spr" data-i18n="courses.enrollment_credits_available"></span><span id="total-available">'+a.escape(null==(t=i.prepaids.totalAvailable())?"":t)+"</span></p><p><button"+a.attr("class",a.classes(["btn","btn-lg","btn-primary",n||r?"disabled":""],[!1,!1,!1,!0]),!1,!0)+' id="activate-licenses-btn" type="submit"><span data-i18n="teacher.apply_licenses"></span> (<span id="total-selected-span">'+a.escape(null==(t=e)?"":t)+'</span>)</button></p><p><a class="btn btn-lg btn-primary-alt" id="get-more-licenses-btn" href="/teachers/licenses" data-i18n="courses.get_enrollments"></a></p></div></form></div>'},n.revokePage=t=function(){this&&this.block,this&&this.attributes,s+='<div class="form m-t-3"><span data-i18n="teacher.revoke_these_licenses"></span><span>:</span><div id="revoke-student-page">';var n=i.users.models,l=i.studentsPrepaidsFromTeacher();i.areAllSelected(),s=s+'<table class="overflow"><thead><tr><th><div class="checkbox"><label><input class="select-all-users-revoke-checkbox" type="checkbox"'+a.attr("checked",e,!0,!0)+'></label><span class="spr" data-i18n="teacher.select_all"></span></div></th>',function(){var e=l;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var o=e[n];s=s+"<th>"+a.escape(null==(t=o.name)?"":t)+"</th>"}else for(var n in r=0,e)r++,o=e[n],s=s+"<th>"+a.escape(null==(t=o.name)?"":t)+"</th>"}.call(this),s+="</tr></thead><tbody>",function(){var e=n;if("number"==typeof e.length)for(var i=0,c=e.length;i<c;i++){var u=e[i],d=o.get("selectedUsers").get(u.id);s=s+'<tr><td><div class="checkbox"><label><input class="user-checkbox" type="checkbox"'+a.attr("checked",d,!0,!0)+a.attr("data-user-id",u.id,!0,!0)+' name="user"></label><span class="spr">'+a.escape(null==(t=u.broadName())?"":t)+"</span></div></td>",function(){var e=l;if("number"==typeof e.length)for(var n=0,o=e.length;n<o;n++){var i=e[n];(c=u.findCourseProduct(i.id))?s=s+"<td"+a.attr("class",a.classes([r().isAfter(c.endDate)?"text-danger":""],[!0]),!1,!0)+">"+a.escape(null==(t=r(c.endDate).utc().format("ll"))?"":t)+"</td>":s+="<td></td>"}else for(var n in o=0,e){var c;o++,i=e[n],(c=u.findCourseProduct(i.id))?s=s+"<td"+a.attr("class",a.classes([r().isAfter(c.endDate)?"text-danger":""],[!0]),!1,!0)+">"+a.escape(null==(t=r(c.endDate).utc().format("ll"))?"":t)+"</td>":s+="<td></td>"}}.call(this),s+="</tr>"}else for(var i in c=0,e)c++,u=e[i],d=o.get("selectedUsers").get(u.id),s=s+'<tr><td><div class="checkbox"><label><input class="user-checkbox" type="checkbox"'+a.attr("checked",d,!0,!0)+a.attr("data-user-id",u.id,!0,!0)+' name="user"></label><span class="spr">'+a.escape(null==(t=u.broadName())?"":t)+"</span></div></td>",function(){var e=l;if("number"==typeof e.length)for(var n=0,o=e.length;n<o;n++){var i=e[n];(c=u.findCourseProduct(i.id))?s=s+"<td"+a.attr("class",a.classes([r().isAfter(c.endDate)?"text-danger":""],[!0]),!1,!0)+">"+a.escape(null==(t=r(c.endDate).utc().format("ll"))?"":t)+"</td>":s+="<td></td>"}else for(var n in o=0,e){var c;
2o++,i=e[n],(c=u.findCourseProduct(i.id))?s=s+"<td"+a.attr("class",a.classes([r().isAfter(c.endDate)?"text-danger":""],[!0]),!1,!0)+">"+a.escape(null==(t=r(c.endDate).utc().format("ll"))?"":t)+"</td>":s+="<td></td>"}}.call(this),s+="</tr>"}.call(this),s+="<tr><td></td>",function(){var e=l;if("number"==typeof e.length)for(var t=0,n=e.length;t<n;t++){var r=e[t];s=s+'<td><button class="revoke-student-button btn btn-navy" data-i18n="teacher.revoke_license"'+a.attr("data-prepaid-id",r.id,!0,!0)+"></button></td>"}else for(var t in n=0,e)n++,r=e[t],s=s+'<td><button class="revoke-student-button btn btn-navy" data-i18n="teacher.revoke_license"'+a.attr("data-prepaid-id",r.id,!0,!0)+"></button></td>"}.call(this),s+="</tr></tbody></table></div>",o.get("error")&&(s=s+'<div class="alert alert-danger">'+a.escape(null==(t=o.get("error"))?"":t)+"</div>"),s+="</div>"},s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let l=i.utils&&i.utils.isOzaria;s=s+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",l?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',i.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),s+='<div class="clearfix"></div><div class="text-center"><h1 data-i18n="teacher.manage_license"></h1><h2 data-i18n="courses.grants_lifetime_access"></h2></div></div><div class="modal-body">';var c=i.activeTab;i.classrooms.length>1&&(s+='<div class="row"><div class="col-sm-10 col-sm-offset-1"><div class="text-center m-b-3"><div class="small color-navy"><span data-i18n="teacher.show_students_from"></span><span class="spr">:</span></div><select class="classroom-select">',function(){var e=i.classrooms.models;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var o=e[n];s=s+"<option"+(a.attr("selected",!!i.classroom&&o.id===i.classroom.id,!0,!0)+a.attr("value",o.id,!0,!0))+">"+a.escape(null==(t=o.get("name"))?"":t)+"</option>"}else for(var n in r=0,e)r++,o=e[n],s=s+"<option"+(a.attr("selected",!!i.classroom&&o.id===i.classroom.id,!0,!0)+a.attr("value",o.id,!0,!0))+">"+a.escape(null==(t=o.get("name"))?"":t)+"</option>"}.call(this),s=s+"<option"+a.attr("selected",!i.classroom,!0,!0)+' value="" data-i18n="teacher.all_students"></option></select></div></div></div>'),s=s+'<div class="row" id="tab-nav"><div class="col-sm-2">.</div><div class="col-sm-4"><div class="text-center"><span'+a.attr("class",a.classes(["change-tab","apply"==c?"focus":""],[!1,!0]),!1,!0)+' data-i18n="teacher.apply_licenses" data-tab="apply"></span></div></div><div class="col-sm-4"><div class="text-center"><span'+a.attr("class",a.classes(["change-tab","revoke"==c?"focus":""],[!1,!0]),!1,!0)+' data-i18n="teacher.check_and_revoke_license" data-tab="revoke"></span></div></div><div class="col-sm-2">.</div></div><div class="modal-body-content">',"apply"===c?n.applyPage():"revoke"===c&&n.revokePage(),s+='</div></div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"></div></div></div>'}.call(this,"areAllSelectedRevoke"in r?r.areAllSelectedRevoke:"undefined"!=typeof areAllSelectedRevoke?areAllSelectedRevoke:void 0,"moment"in r?r.moment:"undefined"!=typeof moment?moment:void 0,"state"in r?r.state:"undefined"!=typeof state?state:void 0,"view"in r?r.view:"undefined"!=typeof view?view:void 0),s}},76793:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n={},r=e||{};return function(e,r,o){s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let i=o.utils&&o.utils.isOzaria;s=s+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",i?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',o.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),s+='<h3>Activate codes</h3></div><div class="modal-body">',o.prepaids.size()&&(s+='<h3 class="m-t-3" id="prepaids">Existing Prepaids</h3><table class="table table-condensed"><tr><th>ID</th><th>Shared by</th><th>Type</th>',"Asia/Shanghai"==o.timeZone?s+="<th>Issued (CT)</th><th>Start (CT)</th><th>End (CT)</th>":s+="<th>Issued (PT)</th><th>Start (PT)</th><th>End (PT)</th>",s+="<th>Used</th></tr>",function(){var n=o.prepaids.models;if("number"==typeof n.length)for(var i=0,l=n.length;i<l;i++){var c=(v=n[i]).id;if(s=s+"<tr"+a.attr("id",c,!0,!0)+"><td>
2"+a.escape(null==(t=v.id)?"":t)+"</td><td>",v.creator&&(v.creator.id!==o.user.id?s=s+'<a class="user-link"'+a.attr("data-user-id",v.creator.id,!0,!0)+">"+a.escape(null==(t=v.creator.get("name"))?"":t)+"</a>":s+="-"),s=s+"</td><td>"+a.escape(null==(t=v.get("type"))?"":t)+"</td><td>"+a.escape(null==(t=o.momentTimezone(new e(1e3*r(v.id.substring(0,8),16))).tz(o.timeZone).format("l"))?"":t)+"</td><td>",v.get("startDate"))if(o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]){var u="startDate-"+v.id;s=s+"<input"+a.attr("id",u,!0,!0)+' type="date" name="startDate"'+a.attr("value",o.momentTimezone(v.get("startDate")).tz(o.timeZone).format("YYYY-MM-DD"),!0,!0)+">"}else s+=a.escape(null==(t=o.momentTimezone(v.get("startDate")).tz(o.timeZone).format("l"))?"":t);if(s+="</td><td>",v.get("endDate"))if(o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]){var d="endDate-"+v.id;s=s+"<input"+a.attr("id",d,!0,!0)+' type="date" name="endDate"'+a.attr("value",o.momentTimezone(v.get("endDate")).tz(o.timeZone).format("YYYY-MM-DD"),!0,!0)+">"}else s+=a.escape(null==(t=o.momentTimezone(v.get("endDate")).tz(o.timeZone).format("l"))?"":t);if(s+="</td><td>",o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]){var p="totalLicenses-"+v.id;s=s+a.escape(null==(t=(v.get("redeemers")||[]).length+" / ")?"":t)+"<input"+a.attr("id",p,!0,!0)+' type="number" name="totalLicenses"'+a.attr("value",v.get("maxRedeemers"),!0,!0)+' style="width:50px">'}else s+=a.escape(null==(t=(v.get("redeemers")||[]).length+" / "+v.get("maxRedeemers")||0)?"":t);s+="</td><td>",s=o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]?s+'<button class="btn btn-primary save-prepaid-info-btn"'+a.attr("data-prepaid-id",v.id,!0,!0)+'>Save</button><button class="btn btn-primary cancel-prepaid-info-edit-btn"'+a.attr("data-prepaid-id",v.id,!0,!0)+">Cancel</button>":s+'<button class="btn btn-primary edit-prepaids-info-btn"'+a.attr("data-prepaid-id",v.id,!0,!0)+">Edit</button>",s+="</td></tr>"}else for(var i in l=0,n){var v;l++,c=(v=n[i]).id,s=s+"<tr"+a.attr("id",c,!0,!0)+"><td>"+a.escape(null==(t=v.id)?"":t)+"</td><td>",v.creator&&(v.creator.id!==o.user.id?s=s+'<a class="user-link"'+a.attr("data-user-id",v.creator.id,!0,!0)+">"+a.escape(null==(t=v.creator.get("name"))?"":t)+"</a>":s+="-"),s=s+"</td><td>"+a.escape(null==(t=v.get("type"))?"":t)+"</td><td>"+a.escape(null==(t=o.momentTimezone(new e(1e3*r(v.id.substring(0,8),16))).tz(o.timeZone).format("l"))?"":t)+"</td><td>",v.get("startDate")&&(o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]?(u="startDate-"+v.id,s=s+"<input"+a.attr("id",u,!0,!0)+' type="date" name="startDate"'+a.attr("value",o.momentTimezone(v.get("startDate")).tz(o.timeZone).format("YYYY-MM-DD"),!0,!0)+">"):s+=a.escape(null==(t=o.momentTimezone(v.get("startDate")).tz(o.timeZone).format("l"))?"":t)),s+="</td><td>",v.get("endDate")&&(o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]?(d="endDate-"+v.id,s=s+"<input"+a.attr("id",d,!0,!0)+' type="date" name="endDate"'+a.attr("value",o.momentTimezone(v.get("endDate")).tz(o.timeZone).format("YYYY-MM-DD"),!0,!0)+">"):s+=a.escape(null==(t=o.momentTimezone(v.get("endDate")).tz(o.timeZone).format("l"))?"":t)),s+="</td><td>",o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]?(p="totalLicenses-"+v.id,s=s+a.escape(null==(t=(v.get("redeemers")||[]).length+" / ")?"":t)+"<input"+a.attr("id",p,!0,!0)+' type="number" name="totalLicenses"'+a.attr("value",v.get("maxRedeemers"),!0,!0)+' style="width:50px">'):s+=a.escape(null==(t=(v.get("redeemers")||[]).length+" / "+v.get("maxRedeemers")||0)?"":t),s+="</td><td>",s=o.prepaidTableState&&"editMode"===o.prepaidTableState[v.id]?s+'<button class="btn btn-primary save-prepaid-info-btn"'+a.attr("data-prepaid-id",v.id,!0,!0)+'>Save</button><button class="btn btn-primary cancel-prepaid-info-edit-btn"'+a.attr("data-prepaid-id",v.id,!0,!0)+">Cancel</button>":s+'<button class="btn btn-primary edit-prepaids-info-btn"'+a.attr("data-prepaid-id",v.id,!0,!0)+">Edit</button>",s+="</td></tr>"}}.call(this),s+="</table><hr>"),s+='<h3 class="m-t-3" id="licenses">Grant Student Licenses</h3><div class="form" id="prepaid-form">',n["license-form-group"]=t=function(e,n){var r=this&&this.block,o=this&&this.attributes||{};s=s+'<div class="form-group"><label><span>
2'+a.escape(null==(t=e)?"":t)+"</span>"+a.escape(null==(t=" ")?"":t)+"<input"+a.attrs(o,!0)+">",n&&(s+=a.escape(null==(t=n)?"":t)),s+="</label>",r&&r&&r(),s+="</div>"},n["license-type"]=t=function(e,n,r,o){this&&this.block,this&&this.attributes,s=s+'<div class="form-group"><label><span>Licenses Type</span>'+a.escape(null==(t=":")?"":t)+'<div id="license-type-select"><div class="radio"><label class="license-type"><input type="radio" name="licenseType" value="all"'+a.attr("checked","all"===e,!0,!0)+'><span data-i18n="admin.license_type_full"></span></label></div><div class="radio"><label class="license-type"><input type="radio" name="licenseType" value="hackstack"'+a.attr("checked","hackstack"===e,!0,!0)+'><span data-i18n="admin.license_type_hackstack"></span></label></div>',function(){var r=n;if("number"==typeof r.length)for(var o=0,i=r.length;o<i;o++)r[o],s=s+'<div class="radio"><label class="license-type"><input type="radio" name="licenseType"'+a.attr("value",o,!0,!0)+a.attr("checked",e===o,!0,!0)+"><span>"+a.escape(null==(t=o)?"":t)+"</span></label></div>";else for(var o in i=0,r)i++,r[o],s=s+'<div class="radio"><label class="license-type"><input type="radio" name="licenseType"'+a.attr("value",o,!0,!0)+a.attr("checked",e===o,!0,!0)+"><span>"+a.escape(null==(t=o)?"":t)+"</span></label></div>"}.call(this),s=s+'<div class="radio"><label class="license-type"><input type="radio" name="licenseType" value="customize"'+a.attr("checked","customize"===e,!0,!0)+'><span data-i18n="admin.license_type_customize"></span></label></div><div id="select-courses">',"customize"===e&&function(){var e=r.allCourseIDs;if("number"==typeof e.length)for(var n=0,o=e.length;n<o;n++){var i=e[n];s=s+'<label class="course-name"><input type="checkbox" name="includedCourseIDs"'+a.attr("value",i,!0,!0)+a.attr("checked","INTRODUCTION_TO_COMPUTER_SCIENCE"===n||"JUNIOR"===n,!0,!0)+"><span>"+a.escape(null==(t=r.courseAcronyms[i])?"":t)+"</span></label>"}else for(var n in o=0,e)o++,i=e[n],s=s+'<label class="course-name"><input type="checkbox" name="includedCourseIDs"'+a.attr("value",i,!0,!0)+a.attr("checked","INTRODUCTION_TO_COMPUTER_SCIENCE"===n||"JUNIOR"===n,!0,!0)+"><span>"+a.escape(null==(t=r.courseAcronyms[i])?"":t)+"</span></label>"}.call(this),s+='</div><div id="credits-details">',"hackstack"===e&&(s=s+'<span>Every</span><label class="duration-amount"><input type="number" min="1" name="durationAmount"'+a.attr("value",o.amount,!0,!0)+'></label><label class="duration-key"><select id="credit-duration-select" name="durationKey"><option value="day"'+a.attr("selected","day"===o.key,!0,!0)+'>Day</option><option value="week"'+a.attr("selected","week"===o.key,!0,!0)+'>Week</option><option value="month"'+a.attr("selected","month"===o.key,!0,!0)+'>Month</option></select></label><label class="credit-limit"><input type="number" min="1" name="creditLimit"'+a.attr("value",o.limit,!0,!0)+"></label><span>prompts</span>"),s+="</div></div></label></div>"},"creating-prepaid"===o.state?s+='<div class="progress progress-striped active"><div class="progress-bar" style="width: 100%"></div></div>':"made-prepaid"===o.state?s+='<div class="alert alert-success">Licenses created!</div>':("Asia/Shanghai"==o.timeZone?s+='<h4 class="small" style="max-width: 700px">*All licenses granted after Oct 29, 2018 start at 12am CT on the start date and end at 11:59pm CT on the end date listed. All licenses that were granted before that date start and end at 3pm CT on the date listed.</h4>':s+='<h4 class="small" style="max-width: 700px">*All licenses granted after July 9, 2018 start at 12am PT on the start date and end at 11:59pm PT on the end date listed. All licenses that were granted before that date start and end at 5pm PT on the date listed.</h4>',n["license-form-group"].call({attributes:{id:"seats-input",type:"number",name:"maxRedeemers",min:"1"}},"Number of Activation Codes"),n["license-type"](o.licenseType,o.licensePresets,o.utils),n["license-form-group"].call({attributes:{type:"number",name:"duration",value:365}},"Duration"," Days"),n["license-form-group"].call({attributes:{type:"date",name:"endDate",value:a.escape(o.momentTimezone().tz(o.timeZone).add(1,"year").format("YYYY-MM-DD"))}},"Expiration Date"),s+='<div class="form-group"><button class="btn btn-primary" id="add-seats-btn">Add Licenses</button></div>'),s+='<hr></div></div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div></div></div>'}.call(this,"Date"in r?r.Date:"undefined"!=typeof Date?Date:void 0,"parseInt"in r?r.parseInt:"undefined"!=typeof parseInt?parseInt:void 0,"view"in r?r.view:"undefined"!=typeof view?view:void 0),s}},299745:(e,t,s)=>{s(477055),e.exports=function(e){return""+'<flat-layout><div class="container m-t-3"><p :style="{ visibility: (amSchoolAdministratorOfGallery === null || amTeacherOfGallery === null) ? \'hidden\' : \'visible\' }"><a v-if="amSchoolAdministratorOfGallery" :href="schoolAdministratorBackUrl">{{ $t(\'courses.back_classroom\') }}</a><a v-else-if="amTeacherOfGallery" :href="teacherBackUrl">{{ $t(\'courses.back_classroom\') }}</a><a v-else href="/students">{{ $t(\'courses.back_courses_\' + product) }}</a></p><div class="text-center m-t-2"><h2 v-if="classroom">{{ classroom.name }}</h2><h1 v-if="course">{{ courseName }}: {{ levelName }}</h1><div v-if="_.isEmpty(levelSessions)">{{ $t(\'project_gallery.no_projects_published\') }}</div><ul class="project-list m-t-3" v-else><div class="row"><li class="col-xs-8 col-xs-offset-2 project-list-item" v-for="session in levelSessions"><span class="creator-name" v-if="users &amp;&amp; creatorOfSession(session)"><span v-if="creatorOfSession(session).firstName">{{ creatorOfSession(session).firstName }}\n{{ creatorOfSession(session).lastName }}<span v-if="creatorOfSession(session).name">. ({{ creatorOfSession(session).name }})</span></span><span v-else>{{ creatorOfSession(session).name || \'Anonymous\' }}</span></span><div class="view-edit-buttons"><a class="edit-project-link btn btn-lg btn-gold" :data-session-id="session._id" :href="getProjectEditUrl(session)" v-if="isMyProject(session)">{{ $t(\'project_gallery.edit_project\') }}</a><a class="view-project-link btn btn-lg btn-forest" :data-session-id="session._id" :href="getProjectViewUrl(session)">{{ $t(\'project_gallery.view_project\') }}</a></div></li></div></ul></div></div></flat-layout>'}},689390:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e){s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let n=e.utils&&e.utils.isOzaria;s=s+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",n?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',e.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),s=s+'<div class="text-center"><h1 class="modal-title" data-i18n="courses.remove_student1"></h1><span class="glyphicon glyphicon-warning-sign text-danger"></span>
2<p><span>'+a.escape(null==(t=e.user.get("name",!0))?"":t)+"</span>",e.user.get("email")&&(s=s+"<span>"+a.escape(null==(t=" — "+e.user.get("email"))?"":t)+"</span>"),s+='</p><h2 data-i18n="courses.are_you_sure"></h2></div></div><div class="modal-body"><p class="text-center"><span data-i18n="courses.remove_description1"></span></p>',e.user.isEnrolled()&&(s+='<p class="text-center">',e.willRevokeLicense?s+='<span data-i18n="courses.license_will_revoke"></span>':s+='<span data-i18n="courses.remove_description2"></span>',s+="</p>"),s+='</div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"><div class="text-center" id="remove-student-buttons"><p><button class="btn btn-lg btn-forest text-uppercase" data-dismiss="modal" data-i18n="courses.keep_student"></button></p><p>- OR -</p><p><button class="btn btn-lg btn-burgundy text-uppercase" id="remove-student-btn" data-i18n="courses.remove_student1"></button></p></div><div class="text-center hide" id="remove-student-progress"><div class="progress"><div class="progress-bar"></div></div><p class="text-info" data-i18n="courses.removing_user"></p></div></div></div></div>'}.call(this,"view"in n?n.view:"undefined"!=typeof view?view:void 0),s}},335971:(e,t,s)=>{var a=s(619755),n=s(477055);e.exports=function(e){var t,r="",o={},i=e||{};return function(a,i,l,c,u,d,p,v,h,f,m,g,y,b,_,w,k,C,S){o.breadcrumbs=t=function(){this&&this.block,this&&this.attributes,r=r+'<div class="breadcrumbs rtl-allowed"><a data-i18n="teacher.my_classes" href="/teachers/classes"></a><span class="spl spr">></span><span>'+n.escape(null==(t=C.classroom.get("name"))?"":t)+"</span></div>"},r=r+'<div class="style-flat"><nav id="main-nav">\x3c!-- Will be replaced by Navigation.vue in RootView--\x3e</nav>'+(null==(t=s(830093).call(this,e))?"":t)+'<div id="site-content-area"><div class="container" dir="auto">',o.breadcrumbs(),r+="</div>",o.clanLeagueStatsMixin=t=function(e,s,o,i){this&&this.block,this&&this.attributes,r+='<div class="ai-league-stats">',e&&e.totalPlayers>1?(r+='<div class="container"><div class="row"><div class="col-xs-12"><h3><span data-i18n="courses.ai_league_team_rankings"></span>',e.totalPlayers&&(r=r+"<span>"+n.escape(null==(t=" ("+e.totalPlayers.toLocaleString()+" "+a.i18n.t("play.players")+")")?"":t)+"</span>"),r=r+"<span>"+n.escape(null==(t=" ")?"":t)+"</span>",i&&i.isOwner()&&(r=r+'<a class="view-ai-league text-h6" data-i18n="teacher.view_ai_league_team" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",g.id,!0,!0)+' data-event-action="Teachers Classes View AI League Team"></a>'),r=r+"<span>"+n.escape(null==(t=" ")?"":t)+"</span>",S.features.chinaUx||(r=r+'<a class="ai-league-quickstart-video text-h6" data-i18n="league.quickstart_video" data-event-action="Teachers Classes View AI League Quickstart video" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",g.id,!0,!0)+' href="https://www.youtube.com/watch?v=niKXOofTckEor" target="_blank"></a><a class="ai-league-custom-tournament text-h6" data-i18n="league.custom_tournament_text" href="/league/ladders" target="_blank"></a>'),r+='</h3></div></div><div class="row">',e.arenas&&u.some(e.arenas,(e=>u.some(e,(e=>e.clanPlayers>1||e.topPlayer&&e.topPlayer.percentileRank<.2))))&&(r+='<div class="col-md-7 stats-col"><h4 data-i18n="league.arena_rankings"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.arena_rankings_title;league.arena_rankings_blurb"></span>',function(){var o=e.arenas;if("number"==typeof o.length)for(var i=0,l=o.length;i<l;i++){var u=o[i];(function(){var e=u;if("number"==typeof e.length)for(var o=0,l=e.length;o<l;o++)((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5><a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>
2"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*c.ceil(p/5)).toFixed(0):p<50?(10*c.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"));else for(var o in l=0,e){var d,p;l++,((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5><a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*c.ceil(p/5)).toFixed(0):p<50?(10*c.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"))}}).call(this)}else for(var i in l=0,o)l++,u=o[i],function(){var e=u;if("number"==typeof e.length)for(var o=0,l=e.length;o<l;o++)((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5><a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*c.ceil(p/5)).toFixed(0):p<50?(10*c.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"));else for(var o in l=0,e){var d,p;l++,((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5>
2<a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*c.ceil(p/5)).toFixed(0):p<50?(10*c.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"))}}.call(this)}.call(this),r+="</div>"),r+='<div class="col-md-5 stats-col">',e.wins&&(e.wins.over100||e.wins.over50)&&(r+='<h4 data-i18n="league.arena_victories"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.arena_victories_title;league.arena_victories_blurb"></span>',(!e.wins.topPlayer||e.wins.total>e.wins.topPlayer.wins)&&(r=r+'<div class="stat"><span data-i18n="league.count_total"></span><strong><span>'+n.escape(null==(t=" "+e.wins.total.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.count_wins"></span></strong></div>'),(e.wins.over100>1||e.wins.over50>1)&&(r+='<div class="stat">',e.wins.over100&&e.wins.over100>e.wins.over50-2&&e.wins.over100>1?r=r+"<span>"+n.escape(null==(t="100+ ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+e.wins.over100+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong>':e.wins.over50>1&&(r=r+"<span>"+n.escape(null==(t="50+ ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+e.wins.over50+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong>'),r+="</div>"),e.wins.topPlayer&&e.wins.topPlayer.name&&(r=r+'<div class="stat"><span data-i18n="league.top_student"></span><strong>'+n.escape(null==(t=" "+e.wins.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" ("+e.wins.topPlayer.wins+" ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>)</span></span></div>')),e.codePoints&&e.codePoints.total&&(r=r+'<h4 data-i18n="league.codepoints"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.codepoints_title;league.codepoints_blurb"></span><div class="stat"><span data-i18n="league.count_total"></span><strong><span>'+n.escape(null==(t=" "+e.codePoints.total.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.codepoints"></span></strong></div>',e.codePoints.over100>1&&(r=r+'<div class="stat"><span>'+n.escape(null==(t="100+ ")?"":t)+'</span><span data-i18n="league.codepoints"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+e.codePoints.over100.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong></div>'),e.codePoints.topPlayer&&e.codePoints.topPlayer.name&&(r=r+'<div class="stat"><span data-i18n="league.top_student"></span><strong>'+n.escape(null==(t=" "+e.codePoints.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" ("+e.codePoints.topPlayer.codePoints.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.codepoints"></span><span>)</span></span></div>')),r+="</div></div></div>"):o&&(r+='<div class="container"><div class="row"><div class="col-xs-12">',e||(r+='<h3 style="display: inline-block;">No AI League stats yet.</h3>'),S.features.chinaUx||(r=r+'<a class="ai-league-quickstart-video text-h6" data-i18n="league.quickstart_video" data-event-action="Teachers Classes View AI League Quickstart video" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",g.id,!0,!0)+' href="https://www.youtube.com/watch?v=niKXOofTckEor" target="_blank"></a><a class="ai-league-custom-tournament text-h6" data-i18n="league.custom_tournament_text" href="/league/ladders" target="_blank"></a>'),r+="</div></div></div>"),r+="</div>"},o.longLevelName=t=function(e){this&&this.block,this&&this.attributes,e?r=r+'<div class="level-name"><span>'+n.escape(null==(t=e.courseName+": ")?"":t)+'</span><span data-i18n="play_level.level"></span><span class="spl">'+n.escape(null==(t=e.levelNumber)?"":t)+"</span></div>":r+='<div class="level-name" data-i18n="teacher.not_applicable"></div>'},o.inlineUserList=t=function(e){this&&this.block,this&&this.attributes,e&&(r+='<ul class="inline-student-list small">',function(){var s=e.slice(0,5);if("number"==typeof s.length)for(var a=0,o=s.length;a<o;a++){var i=s[a];r=r+'<li><span class="inline-student-name">'+n.escape(null==(t=i.broadName())?"":t)+"</span></li>"}else for(var a in o=0,s)o++,i=s[a],r=r+'<li><span class="inline-student-name">'+n.escape(null==(t=i.broadName())?"":t)+"</span></li>"}.call(this),e.length>5&&(r+='<li><span class="inline-student-name">',/^en/.test(g.get("preferredLanguage",!0))?r+=n.escape(null==(t=`and ${e.length-5} more`)?"":t):r+=n.escape(null==(t="+"+(e.length-5))?"":t),r+="</span></li>"),r+="</ul>")},o.addStudentsButton=t=function(){this&&this.block,this&&this.attributes,r=r+'<div class="add-students"><a class="add-students-btn btn btn-lg btn-primary"'+n.attr("data-classroom-id",C.classroom.id,!0,!0)+'><span data-i18n="teacher.add_students_manually"></span></a>',C.shouldShowGoogleClassroomButton()&&(r=r+'<a class="sync-google-classroom-btn btn btn-lg btn-primary"'+n.attr("data-classroom-id",C.classroom.id,!0,!0)+'><span data-i18n="teacher.sync_google_classroom"></span></a>'),r+="</div>"},o.studentsTab=t=function(){if(this&&this.block,this&&this.attributes,r+='<div id="students-tab">',b.get("readOnly")?r+="<br>":(r=r+"<div"+n.attr("dir",-1==["he","ar","fa","ur"].indexOf(g.get("preferredLanguage",!0))?"ltr":"rtl",!0,!0)+">
2",o.bulkAssignControls(),r+="</div>"),r+='<table class="students-table"><thead>',!b.get("readOnly")){r+='<th class="checkbox-col select-all small text-center"><span data-i18n="teacher.select_all"></span><div class="checkbox-flat">';var e=u.all(b.get("checkboxStates"));r=r+'<input type="checkbox" id="checkbox-all-students"'+n.attr("checked",e,!0,!0)+'><label class="checkmark" for="checkbox-all-students"></label></div></th>'}r+="<th>",o.sortButtons(),r+="</th></thead><tbody>",function(){var e=b.get("students").models;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++){var a=e[t];o.studentRow(a)}else for(var t in s=0,e)s++,a=e[t],o.studentRow(a)}.call(this),r+="</tbody></table></div>"},o.sortButtons=t=function(){this&&this.block,this&&this.attributes,r+='<div class="sort-buttons small rtl-allowed"><span data-i18n="teacher.sort_by"></span><span class="spr">:</span><button class="sort-button sort-by-last-name" data-i18n="general.last_name" value="last-name"></button><button class="sort-button sort-by-first-name" data-i18n="general.first_name" value="first-name"></button><button class="sort-button sort-by-progress" data-i18n="teacher.progress" value="progress"></button></div>'},o.studentRow=t=function(e){this&&this.block,this&&this.attributes,r+='<tr class="student-row alternating-background">',b.get("readOnly")||(r=r+'<td class="checkbox-col student-checkbox"><div class="checkbox-flat"><input type="checkbox"'+n.attr("id","checkbox-student-"+e.id,!0,!0)+n.attr("data-student-id",e.id,!0,!0)+n.attr("checked",b.get("checkboxStates")[e.id],!0,!0)+'><label class="checkmark"'+n.attr("for","checkbox-student-"+e.id,!0,!0)+"></label></div></td>"),r+='<td class="student-info-col"><div class="student-info">',e.get("deleted")&&(r+="<em>(deleted)</em>");var s="/teachers/classes/"+C.classroom.id+"/"+e.id;if(b.get("renderOnlyContent")&&(s="/school-administrator/teacher/"+C.classroom.get("ownerID")+"/classroom/"+C.classroom.id+"/"+e.id),r=r+'<a class="student-details-row"'+n.attr("href",s,!0,!0)+' data-event-action="Teachers Click Student Profile"><div class="student-name">'+n.escape(null==(t=e.broadName())?"":t)+'</div></a><div class="student-email small-details">'+n.escape(null==(t=e.get("email")||e.get("name"))?"":t)+'</div></div></td><td class="hidden"><a class="edit-student-button"'+n.attr("data-student-id",e.id,!0,!0)+'><span class="glyphicon glyphicon-edit"></span><span data-i18n="teacher.edit"></span></a></td><td class="latest-level-col small"><div><i><span data-i18n="teacher.latest_completed"></span></i></div>',C.allStatsLoaded()?(r+="<div>",o.longLevelName(e.latestCompleteLevel),r+="</div>"):r+='<div data-i18n="common.loading"></div>',r+="</td><td>",b.get("progressData")){var a=C.sortedCourses.map((function(e){return C.courses.get(e._id)})),i=C.helper.courseLabelsArray(a);(function(){var t=C.sortedCourses;if("number"==typeof t.length)for(var s=0,a=t.length;s<a;s++){var n=t[s];if((d=C.courses.get(n._id))&&(p=C.courseInstances.findWhere({courseID:d.id,classroomID:x.id}))&&p.hasMember(e)){var r=b.get("progressData").get({classroom:C.classroom,course:d,user:e}),l=u.reject(u.reject(n.levels,"practice"),"assessment").length,c=i[s];o.studentCourseProgressDot(r,l,c,e,d,p)}}else for(var s in a=0,t){var d,p;a++,n=t[s],(d=C.courses.get(n._id))&&(p=C.courseInstances.findWhere({courseID:d.id,classroomID:x.id}))&&p.hasMember(e)&&(r=b.get("progressData").get({classroom:C.classroom,course:d,user:e}),l=u.reject(u.reject(n.levels,"practice"),"assessment").length,c=i[s],o.studentCourseProgressDot(r,l,c,e,d,p))}}).call(this)}r+="</td>",b.get("readOnly")||(r=r+'<td><div class="pull-right"><a class="edit-student-link small center-block text-center m-r-2"'+n.attr("data-student-id",e.id,!0,!0)+'><div class="glyphicon glyphicon-edit"></div><div data-i18n="teacher.edit"></div></a><a class="remove-student-link small center-block text-center m-r-2"'+n.attr("data-student-id",e.id,!0,!0)+'><div class="glyphicon glyphicon-remove"></div><div data-i18n="teacher.remove"></div></a></div></td>'),r+="</tr>"},o.courseProgressTab=t=function(){this&&this.block,this&&this.attributes,r+='<div class="m-t-3" id="course-progress-tab">',C.courses&&(r+='<div class="course-progress-select-wrapper"><label for="course-select"><span data-i18n="teacher.select_course_coco"></span><span class="spr">:</span></label><select class="course-select" id="course-select">',function(){var e=C.latestReleasedCourses;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];r=r+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===b.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=v(o.attributes,"name"))?"":t),C.availableCourseMap[o.id]||(r+=n.escape(null==(t=" "+w("teacher.paren_new"))?"":t)),r+="</option>"}else for(var s in a=0,e)a++,o=e[s],r=r+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===b.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=v(o.attributes,"name"))?"":t),C.availableCourseMap[o.id]||(r+=n.escape(null==(t=" "+w("teacher.paren_new"))?"":t)),r+="</option>"}.call(this),r+="</select></div>");var e=b.get("selectedCourse"),s=C.getSelectedCourseInstance();if(s&&e&&C.campaignLevelNumberMap[e.get("campaignID")]){r=r+'<div class="course-progress-select-wrapper"'+n.attr("data-course-id",e.id,!0,!0)+'><label for="locked-level-select"><span data-i18n="courses.set_start_locked_level"></span><span class="spr">:</span></label><select id="locked-level-select"><option data-i18n="courses.no_level_limit" value="none"></option>';var a=C.classroom.getLevels({courseID:e.id}).models;(function(){var o=a;if("number"==typeof o.length)for(var i=0,l=o.length;i<l;i++)(c=o[i]).get("assessment")||c.get("practice")||(r=r+"<option"+(n.attr("value",c.get("slug"),!0,!0)+n.attr("selected",c.get("slug")===s.get("startLockedLevel"),!0,!0))+"><span>"+n.escape(null==(t=C.campaignLevelNumberMap[e.get("campaignID")][c.get("original")])?"":t)+"."+n.escape(null==(t=" ")?"":t)+"</span><span>"+n.escape(null==(t=v(c.attributes,"name").replace("Course: ",""))?"":t)+"</span></option>");else for(var i in l=0,o){var c;l++,(c=o[i]).get("assessment")||c.get("practice")||(r=r+"<option"+(n.attr("value",c.get("slug"),!0,!0)+n.attr("selected",c.get("slug")===s.get("startLockedLevel"),!0,!0))+"><span>"+n.escape(null==(t=C.campaignLevelNumberMap[e.get("campaignID")][c.get("original")])?"":t)+"."+n.escape(null==(t=" ")?"":t)+"</span><span>"+n.escape(null==(t=v(c.attributes,"name").replace("Course: ",""))?"":t)+"</span></option>")}}).call(this),r+="</select></div>"}if(r+='<h4 class="m-b-2 m-t-3" data-i18n="teacher.progress_color_key"></h4><div class="row m-b-3" id="progress-color-key-row"><div class="col col-md-2 col-xs-4"><div class="progress-dot forest"></div><div class="key-text"><span class="small" data-i18n="play_level.level_complete"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-4"><div class="progress-dot gold"></div><div class="key-text"><span class="small" data-i18n="teacher.level_in_progress"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-4"><div class="progress-dot navy"></div><div class="key-text"><span class="small" data-i18n="teacher.project_or_arena"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-4"><div class="progress-dot"></div><div class="key-text"><span class="small" data-i18n="teacher.level_not_started"></span></div><div class="clearfix"></div></div></div>\x3c!-- TODO: Refactor this to use Vue components like in the assessments tab--\x3e',e&&C.availableCourseMap[e.id]&&s&&s.get("members").length>0?(r+='<div class="render-on-course-sync">',o.courseOverview(e),r+='<div class="student-levels-table">',o.sortButtons(),function(){var e=b.get("students").models;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++){var a=e[t];u.contains(b.get("selectedCourse").members,a.id)&&o.studentLevelsRow(a)}else for(var t in s=0,e)s++,a=e[t],u.contains(b.get("selectedCourse").members,a.id)&&o.studentLevelsRow(a)}.call(this),r+="</div></div>"):r+='<br><h2 class="text-center"><i data-i18n="teacher.no_student_assigned"></i></h2>',r+='<div class="unassigned-students render-on-course-sync">',b.get("selectedCourse")&&b.get("selectedCourse").members.length<b.get("students").length){r+="<h2>";var i=v(b.get("selectedCourse").attributes,"name");r=r+"<span>"+n.escape(null==(t=w("teacher.students_not_assigned").replace("{{courseName}}",i))?"":t)+"</span></h2>",function(){var e=b.get("students").models;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var i=e[s];u.contains(b.get("selectedCourse").members,i.id)||(r=r+'<div class="row unassigned-student-row alternating-background"><div class="student-name col-sm-3">'+n.escape(null==(t=i.broadName())?"":t)+'</div><div class="student-email small-details col-sm-3">'+n.escape(null==(t=i.get("email")||i.get("name"))?"":t)+'</div><div class="col-sm-4"><div class="latest-completed truncate small"><i class="m-r-1"><span data-i18n="teacher.latest_completed"></span></i>',o.longLevelName(i.latestCompleteLevel),r+="</div></div>",b.get("readOnly")||(r=r+'<div class="col-sm-2"><div class="assign-student-button btn btn-md btn-navy pull-right"'+n.attr("data-user-id",i.id,!0,!0)+n.attr("data-course-id",b.get("selectedCourse").id,!0,!0)+'><span data-i18n="teacher.assign_course"></span></div></div>'),r+="</div>")}else for(var s in a=0,e)a++,i=e[s],u.contains(b.get("selectedCourse").members,i.id)||(r=r+'<div class="row unassigned-student-row alternating-background"><div class="student-name col-sm-3">'+n.escape(null==(t=i.broadName())?"":t)+'</div><div class="student-email small-details col-sm-3">'+n.escape(null==(t=i.get("email")||i.get("name"))?"":t)+'</div><div class="col-sm-4"><div class="latest-completed truncate small"><i class="m-r-1"><span data-i18n="teacher.latest_completed"></span></i>',o.longLevelName(i.latestCompleteLevel),r+="</div></div>",b.get("readOnly")||(r=r+'<div class="col-sm-2"><div class="assign-student-button btn btn-md btn-navy pull-right"'+n.attr("data-user-id",i.id,!0,!0)+n.attr("data-course-id",b.get("selectedCourse").id,!0,!0)+'><span data-i18n="teacher.assign_course"></span></div></div>'),r+="</div>")}.call(this)}r+="</div></div>"},o.courseOverview=t=function(e){this&&this.block,this&&this.attributes;var s=C.classroom.getLevels({courseID:e.id}).models;if(r=r+'<div class="course-overview-row"><div class="course-title student-name"><span>'+n.escape(null==(t=v(e.attributes,"name"))?"":t)+"</span><span>"+n.escape(null==(t=": ")?"":t)+'</span><span data-i18n="teacher.course_overview"></span></div><div class="course-overview-progress">',b.get("progressData")){var a=!1,i=C.getSelectedCourseInstance();(function(){var t=s;if("number"==typeof t.length){for(var n=0,r=t.length;n<r;n++)if(!(u=t[n]).get("assessment")){i&&u.get("slug")===i.get("startLockedLevel")&&(a=!0);var l=b.get("progressData").get({classroom:C.classroom,course:e,level:u}),c=C.classroom.getLevelNumber(u.get("original"),n+1,e.id);o.allStudentsLevelProgressDot(l,u,c,a)}}else for(var n in r=0,t){var u;r++,(u=t[n]).get("assessment")||(i&&u.get("slug")===i.get("startLockedLevel")&&(a=!0),l=b.get("progressData").get({classroom:C.classroom,course:e,level:u}),c=C.classroom.getLevelNumber(u.get("original"),n+1,e.id),o.allStudentsLevelProgressDot(l,u,c,a))}}).call(this)}r+="</div></div>"},o.studentLevelsRow=t=function(e){this&&this.block,this&&this.attributes,r=r+'<div class="student-levels-row alternating-background"><div class="student-info"><div class="student-name">'+n.escape(null==(t=e.broadName())?"":t)+'</div><div class="student-email small-details">'+n.escape(null==(t=e.get("email")||e.get("name"))?"":t)+'</div></div><div class="row"><div class="student-levels-progress col col-xs-12">';var s=b.get("selectedCourse"),a=C.classroom.getLevels({courseID:s.id}).models,i=!1;if(b.get("progressData")){var l=!1,c=C.getSelectedCourseInstance();(function(){var t=a;if("number"==typeof t.length){for(var n=0,r=t.length;n<r;n++)if(!(p=t[n]).get("assessment")){c&&p.get("slug")===c.get("startLockedLevel")&&(l=!0);var u=b.get("progressData").get({classroom:C.classroom,course:s,level:p,user:e}),d=C.classroom.getLevelNumber(p.get("original"),n+1,s.id);p.get("practice")||(i=u.completed),o.studentLevelProgressDot(u,p,d,e,l)}}else for(var n in r=0,t){var p;r++,(p=t[n]).get("assessment")||(c&&p.get("slug")===c.get("startLockedLevel")&&(l=!0),u=b.get("progressData").get({classroom:C.classroom,course:s,level:p,user:e}),d=C.classroom.getLevelNumber(p.get("original"),n+1,s.id),p.get("practice")||(i=u.completed),o.studentLevelProgressDot(u,p,d,e,l))}}).call(this)}r+="</div><div>",i?r=r+'<a class="certificate-link open-certificate-btn" target="_blank"'+n.attr("href","/certificates/"+e.id+"?class="+C.classroom.id+"&course="+s.id+"&course-instance="+b.get("selectedCourseInstance").id,!0,!0)+' data-event-action="Teachers Click Certificates - Progress tab"><img src="/images/pages/user/certificates/certificate-icon.png"><div data-i18n="user.certificate_view"></div></a>':r+='<div class="certificate-link" disabled><img src="/images/pages/user/certificates/certificate-icon.png"><div data-i18n="user.certificate_course_incomplete"></div></div>',r+="</div></div></div>"},o.studentCourseProgressDot=t=function(e,t,s,a,i,l){this&&this.block,this&&this.attributes,p=e.completed?"forest":e.started?"gold":"",u.assign(e,{levelsTotal:t}),e.completed?(r=r+'<a class="open-certificate-btn" target="_blank"'+n.attr("href","/certificates/"+a.id+"?class="+C.classroom.id+"&course="+i.id+"&course-instance="+l.id,!0,!0)+' data-event-action="Teachers Click Certificates - Students tab"><div'+n.attr("class",n.classes(["progress-dot","has-tooltip",p],[!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",C.singleStudentCourseProgressDotTemplate(e),!0,!0)+">",o.progressDotLabel(s),r+="</div></a>
2"):(r=r+"<div"+n.attr("class",n.classes(["progress-dot","has-tooltip",p],[!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",C.singleStudentCourseProgressDotTemplate(e),!0,!0)+">",o.progressDotLabel(s),r+="</div>")},o.allStudentsLevelProgressDot=t=function(e,t,s,a=!1){this&&this.block,this&&this.attributes,p=e.completed?"forest":e.started?"gold":"",f=v(t.attributes,"name"),d=u.merge(e,{levelName:f,levelNumber:s,numStudents:C.students.length,practice:t.get("practice"),locked:a}),m=null,h=s;var i=b.get("selectedCourseInstance");t.isLadder()?(i?(m=C.urls.courseArenaLadder({level:t,courseInstance:i}),h=w("teacher.view_arena_ladder")):h=w("courses.arena"),p="navy progress-dot-lg"):t.isProject()?(i&&(m=C.urls.courseProjectGallery({courseInstance:i})),h=w("teacher.view_project_gallery"),p+=" progress-dot-lg"):t.get("practice")&&(e.completed||e.started||(h="",p+=" practice")),a&&!e.completed&&(p+=" locked"),m?(b.get("readOnly")&&(m=m.replace("/teachers/classes/","/school-administrator/teacher/"+C.classroom.get("ownerID")+"/classroom/")),r=r+"<a"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot",p],[!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",C.allStudentsLevelProgressDotTemplate(d),!0,!0)+n.attr("href",m,!0,!0)+">",o.progressDotLabel(h),r+="</a>
2"):(r=r+"<div"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot",p],[!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",C.allStudentsLevelProgressDotTemplate(d),!0,!0)+">",o.progressDotLabel(h),r+="</div>")},o.studentLevelProgressDot=t=function(e,t,s,a,i=!1){this&&this.block,this&&this.attributes,p=e.completed?"forest":e.started?"gold":"",f=v(t.attributes,"name"),d=u.merge(e,{levelName:f,levelNumber:s,moment:y,practice:t.get("practice"),isProject:t.isProject(),assessment:t.get("assessment"),primaryConcept:u.first(t.get("primaryConcepts")),topScore:_,translate:w,locked:i});var l=null;p&&(l="/teachers/classes/"+C.classroom.id+"/"+a.id+"#"+t.get("slug")),h=s,t.isLadder()?(h=w("courses.arena"),p+=" progress-dot-lg"):t.isProject()?(e.started?(l=C.urls.playDevLevel({level:t,session:e.session,course:b.get("selectedCourse")}),h=w("teacher.view_project"),e.completed&&!e.session.published&&(h+=" "+w("teacher.unpublished")),p=e.completed?"navy":e.started?"gold":""):h=w("teacher.project"),p+=" progress-dot-lg"):t.get("practice")&&(e.completed||e.started||(h="",p+=" practice")),!i||e.completed||e.started||(p+=" locked"),l?(b.get("readOnly")&&(l=l.replace("/teachers/classes/","/school-administrator/teacher/"+C.classroom.get("ownerID")+"/classroom/")),r=r+"<a"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot","student-level-progress-dot",p],[!1,!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",C.singleStudentLevelProgressDotTemplate(d),!0,!0)+n.attr("href",l,!0,!0)+n.attr("data-student-id",a.id,!0,!0)+n.attr("data-level-slug",t.get("slug"),!0,!0)+n.attr("data-level-progress",e.completed?"complete":e.started?"started":"not started",!0,!0)+n.attr("data-course-id",C.state.get("selectedCourse").id,!0,!0)+">",o.progressDotLabel(h),r+="</a>
2"):(r=r+"<div"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot",p],[!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",C.singleStudentLevelProgressDotTemplate(d),!0,!0)+">",o.progressDotLabel(h),r+="</div>"),_&&_.thresholdAchieved&&(r=r+'<br><img class="threshold-icon over-progress-bubble"'+n.attr("src","/images/pages/courses/star-"+_.thresholdAchieved+".png",!0,!0)+">")},o.progressDotLabel=t=function(e){this&&this.block,this&&this.attributes,r=r+'<div class="dot-label text-center"><div class="dot-label-inner">'+n.escape(null==(t=e)?"":t)+"</div></div>"},o.copyCodes=t=function(){this&&this.block,this&&this.attributes,r=r+'<div class="copy-button-group form-inline m-b-3"><div class="input-group"><input class="text-h4 semibold" id="join-code-input"'+n.attr("value",b.get("classCode"),!0,!0)+n.attr("readonly",!0,!0,!0)+'><button class="form-control has-tooltip" id="regenerate-code-btn"'+n.attr("disabled",!i(b.get("classCode")),!0,!0)+' data-toggle="tooltip" data-i18n="[title]teacher.regenerate_class_code_tooltip"><span class="glyphicon glyphicon-refresh"></span></button></div><button class="form-control btn btn-lg btn-forest" id="copy-code-btn"><span data-i18n="teacher.copy_class_code"></span></button><div class="text-center small class-code-blurb" data-i18n="teacher.class_code_blurb"></div></div><div class="copy-button-group form-inline m-b-3"><div class="form-group"><input class="text-h4 semibold" id="join-url-input"'+n.attr("value",b.get("joinURL"),!0,!0)+' dir="ltr"'+n.attr("readonly",!0,!0,!0)+'></div><button class="form-control btn btn-lg btn-forest" id="copy-url-btn"><span data-i18n="teacher.copy_class_url"></span></button><div class="text-center small class-code-blurb" data-i18n="teacher.class_join_url_blurb"></div></div>'},o.bulkAssignControls=t=function(){this&&this.block,this&&this.attributes,r=r+'<div class="bulk-assign-controls form-inline"><div'+n.attr("class",n.classes(["no-students-selected","small-details",b.get("errors").nobodySelected?"visible":""],[!1,!1,!0]),!1,!0)+'><span data-i18n="teacher.no_students_selected"></span></div><span class="small"><span data-i18n="teacher.bulk_assign"></span><span>:</span></span><select class="bulk-course-select form-control">',function(){var e=u.rest(C.latestReleasedCourses);if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];r=r+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===b.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=v(o.attributes,"name"))?"":t),C.availableCourseMap[o.id]||(r+=n.escape(null==(t=" "+w("teacher.paren_new"))?"":t)),r+="</option>"}else for(var s in a=0,e)a++,o=e[s],r=r+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===b.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=v(o.attributes,"name"))?"":t),C.availableCourseMap[o.id]||(r+=n.escape(null==(t=" "+w("teacher.paren_new"))?"":t)),r+="</option>"}.call(this),r+="</select>",b.get("readOnly")||(r=r+'<button class="btn btn-primary assign-to-selected-students"'+n.attr("disabled",!C.allStatsLoaded(),!0,!0)+'><span data-i18n="teacher.assign_course"></span></button><button class="btn btn-burgundy-alt remove-from-selected-students"'+n.attr("disabled",!C.allStatsLoaded(),!0,!0)+'><span data-i18n="teacher.remove_course"></span></button>'),r+="</div>"},o.assessmentsTab=t=function(){this&&this.block,this&&this.attributes,r+='<div id="assessments-tab"><div class="text-center m-t-3"><span data-i18n="teacher.select_course_coco"></span><span class="spr">:</span><select class="course-select">',function(){var e=C.latestReleasedCourses;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];C.classroom.hasAssessments({courseId:o.id})&&(r=r+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===b.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=v(o.attributes,"name"))?"":t),C.availableCourseMap[o.id]||(r+=n.escape(null==(t=" "+w("teacher.paren_new"))?"":t)),r+="</option>")}else for(var s in a=0,e)a++,o=e[s],C.classroom.hasAssessments({courseId:o.id})&&(r=r+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===b.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=v(o.attributes,"name"))?"":t),C.availableCourseMap[o.id]||(r+=n.escape(null==(t=" "+w("teacher.paren_new"))?"":t)),r+="</option>")}.call(this),r+='</select></div><h4 class="m-b-2 m-t-3" data-i18n="teacher.progress_color_key"></h4><div class="row m-b-3" id="progress-color-key-row"><div class="col col-md-2 col-xs-3"><div class="progress-dot forest"></div><div class="key-text"><span class="small" data-i18n="teacher.success"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-3"><div class="progress-dot gold"></div><div class="key-text"><span class="small" data-i18n="teacher.in_progress"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-3"><div class="progress-dot"></div><div class="key-text"><span class="small" data-i18n="teacher.not_started"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-3"><div class="progress-dot pie"></div><div class="key-text"><span class="small" data-i18n="TODO">Partially Complete</span></div><div class="clearfix"></div></div></div><div class="assessments-table"></div></div>'},o.enrollmentStatusTab=t=function(){this&&this.block,this&&this.attributes,r+='\x3c!-- TODO: Have search input in all tabs--\x3e\x3c!--form.form-inline.text-center.m-t-3--\x3e\x3c!--  #search-form-group.form-group--\x3e\x3c!--    label(for="student-search") Search for student:--\x3e\x3c!--    input#student-search.form-control.m-l-1(type="search")--\x3e\x3c!--    span.glyphicon.glyphicon-search.form-control-feedback--\x3e<table class="table table-condensed m-t-3" id="license-status-table"><thead>\x3c!-- Checkbox code works, but don\'t need it yet.--\x3e\x3c!--th.checkbox-col.select-all.checkbox-flat\n  input(type=\'checkbox\' id=\'checkbox-all-students\')\n  label.checkmark(for=\'checkbox-all-students\')--\x3e<th width="25%"><div class="sort-buttons small"><span data-i18n="teacher.sort_by"></span><span class="spr">:</span><button class="sort-button sort-by-last-name" data-i18n="general.last_name" value="last-name"></button><button class="sort-button sort-by-first-name" data-i18n="general.first_name" value="first-name"></button><button class="sort-button sort-by-status" data-i18n="user.status" value="status"></button></div></th><th width="30%"><span data-i18n="teacher.owned_license"></span></th><th width="25%"></th>',g.canRevokeLicensesViaUI()&&!b.get("readOnly")&&(r+='<th><button class="revoke-all-students-button btn btn-burgundy-alt" data-i18n="teacher.revoke_licenses"></button></th>'),r+="</thead><tbody>";var e=b.get("searchTerm");(function(){var s=b.get("students").search(e);if("number"==typeof s.length)for(var o=0,i=s.length;o<i;o++){var d=(m=s[o]).prepaidNumericalCourses();if(r=r+'<tr class="student-row alternating-background">\x3c!--td.checkbox-col.student-checkbox.checkbox-flat\n  input(type=\'checkbox\' id=\'checkbox-student-\' + student.id, data-student-id=student.id)\n  label.checkmark(for=\'checkbox-student-\' + student.id)--\x3e<td class="student-info-col"><div class="student-info"><div class="student-name">'+n.escape(null==(t=m.broadName())?"":t)+'</div><div class="student-email small-details">'+n.escape(null==(t=m.get("email")||m.get("name"))?"":t)+'</div></div></td><td class="status-col">',d==C.utils.courseNumericalStatus.FULL_ACCESS)r+='<strong data-i18n="teacher.full_license"></strong>';else if(d)for(var p=0;p<C.utils.orderedCourseIDs.length;p++)d&c.pow(2,p)&&(r=r+'<div class="icon">'+n.escape(null==(t=C.utils.courseAcronyms[C.utils.orderedCourseIDs[p]])?"":t)+"</div>");else r+='<strong class="text-danger" data-i18n="teacher.status_not_enrolled"></strong>';if(r+='</td><td class="expires-col">',1==(_=m.activeProducts("course")).length){var v=a.t("teacher.status_enrolled");r=r+"<strong>"+n.escape(null==(t=v.replace("{{date}}",y(_[0].endDate).format("ll")))?"":t)+"</strong>"}else if(_.length>1){v=a.t("teacher.status_partly_expires");var h=u.min(_.map((e=>new l(e.endDate))));r=r+"<strong>"+n.escape(null==(t=v.replace("{{date}}",y(h).format("ll")))?"":t)+'</strong><div class="more">?</div><div class="details">',function(){var e=_;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];r=r+"<p>"+n.escape(null==(t=C.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}else for(var s in a=0,e)a++,o=e[s],r=r+"<p>"+n.escape(null==(t=C.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}.call(this),r+="</div>"}else if((w=m.expiredProducts("course")).length){var f=u.max(w.map((e=>new l(e.endDate))));v=a.t("teacher.status_expired"),r=r+'<strong class="text-danger">'+n.escape(null==(t=v.replace("{{date}}",y(f).format("ll")))?"":t)+"</strong>"}r+='</td><td class="enroll-col">',g.canManageLicensesViaUI()&&!b.get("readOnly")&&(r=r+'<button class="enroll-student-button btn btn-navy" data-i18n="teacher.manage_license"'+n.attr("data-user-id",m.id,!0,!0)+' data-event-action="Teachers Class Enrollment Enroll Student"></button>'),r+="</td></tr>"}else for(var o in i=0,s){var m,_;if(i++,d=(m=s[o]).prepaidNumericalCourses(),r=r+'<tr class="student-row alternating-background">\x3c!--td.checkbox-col.student-checkbox.checkbox-flat\n  input(type=\'checkbox\' id=\'checkbox-student-\' + student.id, data-student-id=student.id)\n  label.checkmark(for=\'checkbox-student-\' + student.id)--\x3e<td class="student-info-col"><div class="student-info"><div class="student-name">'+n.escape(null==(t=m.broadName())?"":t)+'</div><div class="student-email small-details">'+n.escape(null==(t=m.get("email")||m.get("name"))?"":t)+'</div></div></td><td class="status-col">',d==C.utils.courseNumericalStatus.FULL_ACCESS)r+='<strong data-i18n="teacher.full_license"></strong>';else if(d)for(p=0;p<C.utils.orderedCourseIDs.length;p++)d&c.pow(2,p)&&(r=r+'<div class="icon">'+n.escape(null==(t=C.utils.courseAcronyms[C.utils.orderedCourseIDs[p]])?"":t)+"</div>");else r+='<strong class="text-danger" data-i18n="teacher.status_not_enrolled"></strong>';if(r+='</td><td class="expires-col">',1==(_=m.activeProducts("course")).length)v=a.t("teacher.status_enrolled"),r=r+"<strong>"+n.escape(null==(t=v.replace("{{date}}",y(_[0].endDate).format("ll")))?"":t)+"</strong>";else if(_.length>1)v=a.t("teacher.status_partly_expires"),h=u.min(_.map((e=>new l(e.endDate)))),r=r+"<strong>"+n.escape(null==(t=v.replace("{{date}}",y(h).format("ll")))?"":t)+'</strong><div class="more">?</div><div class="details">',function(){var e=_;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];r=r+"<p>"+n.escape(null==(t=C.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}else for(var s in a=0,e)a++,o=e[s],r=r+"<p>"+n.escape(null==(t=C.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}.call(this),r+="</div>";else{var w;(w=m.expiredProducts("course")).length&&(f=u.max(w.map((e=>new l(e.endDate)))),v=a.t("teacher.status_expired"),r=r+'<strong class="text-danger">'+n.escape(null==(t=v.replace("{{date}}",y(f).format("ll")))?"":t)+"</strong>")}r+='</td><td class="enroll-col">',g.canManageLicensesViaUI()&&!b.get("readOnly")&&(r=r+'<button class="enroll-student-button btn btn-navy" data-i18n="teacher.manage_license"'+n.attr("data-user-id",m.id,!0,!0)+' data-event-action="Teachers Class Enrollment Enroll Student"></button>'),r+="</td></tr>"}}).call(this),r+="</tbody></table>"};var x=C.classroom;if(g.isTeacher()||g.isAdmin()||(r+='<div class="alert alert-danger text-center"><div class="container"><h3>ATTENTION: Please upgrade your account to a Teacher Account.</h3><p>We are transitioning to a new improved classroom management system for instructors.\nPlease convert your account to ensure you retain access to your classrooms.</p><a class="btn btn-primary btn-lg" href="/teachers/update-account">Upgrade to teacher account</a></div></div>'),x.loaded){r+='<div class="container" dir="auto"><div id="classes-nag-subview"></div>',x.get("archived")&&(r+='<div class="row center-block text-center m-t-3 m-b-3">',b.get("readOnly")||(r+='<div class="unarchive-btn btn btn-lg btn-navy"><span data-i18n="teacher.unarchive_this_class"></span></div>'),r+="</div>");var P=new l,O=x.created(),L=P.getTime()-O.getTime(),I=new l(2018,0,1);!b.get("readOnly")&&L/864e5>180&&O<I&&"Demo Class"!=x.get("name")&&(r+='<div class="update-class rtl-allowed"><div class="alert alert-info text-center rtl-allowed"><strong data-i18n="courses.update_old_classroom"></strong><div class="small-details rtl-allowed"><span class="spr" data-i18n="courses.update_old_classroom_detail"></span><a data-i18n="courses.teacher_dashboard" href="/teachers/"></a><span class="spl" data-i18n="courses.update_old_classroom_detail_2"></span></div></div></div>'),r=r+'<h3 class="m-t-2" dir="auto">'+n.escape(null==(t=x.get("name"))?"":t)+"</h3>",x.isOwner()&&(r+='<a class="label view-ai-league" data-event-action="Teachers Classes View AI League Team"><span data-i18n="teacher.view_ai_league_team"></span></a>'),!b.get("readOnly")&&x.hasWritePermission()&&(r=r+'<a class="label edit-classroom"'+n.attr("data-classroom-id",x.id,!0,!0)+'><span data-i18n="teacher.edit_class_settings"></span></a>'),x.getDisplayPermission()&&(r=r+"&nbsp;<span>"+n.escape(null==(t=x.getDisplayPermission())?"":t)+"</span>"),r=r+'<a class="pull-right view-outcomes-report"'+n.attr("href","/outcomes-report/classroom/"+x.id,!0,!0)+' target="_blank"><span data-i18n="outcomes.view_outcomes_report"></span></a><h4 dir="auto">'+(null==(t=C.markdownIt(x.get("description")))?"":t)+'</h4><div class="classroom-info-row row m-t-5 rtl-allowed"><div class="classroom-details col-md-3 rtl-allowed">';var T=b.get("classStats");if(r=r+'<h4 class="m-b-2" data-i18n="teacher.class_overview"></h4><div class="language small-details"><span data-i18n="teacher.language"></span><span class="spr">:</span><span>'+n.escape(null==(t=x.capitalLanguage)?"":t)+'</span></div><div class="student-count small-details"><span data-i18n="courses.students"></span><span class="spr">:</span><span>'+n.escape(null==(t=x.get("members").length)?"":t)+'</span></div><div class="average-playtime small-details"><span data-i18n="teacher.avg_playtime"></span><span class="spr">:</span>',C.allStatsLoaded()?r=r+"<span>"+n.escape(null==(t=T.averagePlaytime)?"":t)+"</span>
2":r+='<span data-i18n="common.loading"></span>',r+='</div><div class="total-playtime small-details"><span data-i18n="teacher.total_playtime"></span><span class="spr">:</span>',C.allStatsLoaded()?r=r+"<span>"+n.escape(null==(t=T.totalPlaytime)?"":t)+"</span>":r+='<span data-i18n="common.loading"></span>',r+='</div><div class="average-complete small-details"><span data-i18n="teacher.avg_completed"></span><span class="spr">:</span>',C.allStatsLoaded()?r=r+"<span>"+n.escape(null==(t=T.averageLevelsComplete)?"":t)+"</span>":r+='<span data-i18n="common.loading"></span>',r+='</div><div class="total-complete small-details"><span data-i18n="teacher.total_completed"></span><span class="spr">:</span>',C.allStatsLoaded()?r=r+"<span>"+n.escape(null==(t=T.totalLevelsComplete)?"":t)+"</span>":r+='<span data-i18n="common.loading"></span>',r=r+'</div><div class="total-complete small-details"><span data-i18n="teacher.created"></span><span class="spr">:</span><span>'+n.escape(null==(t=y(x.created()).format("l"))?"":t)+"</span></div>",C.students&&C.students.models.length>0&&(r=r+'<button class="export-student-progress-btn btn btn-lg btn-primary"'+n.attr("disabled",!C.allStatsLoaded(),!0,!0)+'><span data-i18n="teacher.export_student_progress"></span></button>'),r+='</div><div class="completeness-info col-md-4"><h4 class="m-b-2">&nbsp;</h4><div class="small-details rtl-allowed">',b.get("earliestIncompleteLevel")?(r+='<span data-i18n="teacher.earliest_incomplete"></span><span>:</span>',o.longLevelName(b.get("earliestIncompleteLevel")),o.inlineUserList(b.get("earliestIncompleteLevel").users)):(C.classroom.get("members")||[]).length>0&&!C.allStatsLoaded()&&(r+='<span data-i18n="teacher.earliest_incomplete"></span><span>:</span><div data-i18n="common.loading"></div>'),r+='</div><div class="small-details m-t-3 rtl-allowed">',b.get("latestCompleteLevel")?(r+='<span data-i18n="teacher.latest_complete"></span><span>:</span>',o.longLevelName(b.get("latestCompleteLevel")),o.inlineUserList(b.get("latestCompleteLevel").users)):(C.classroom.get("members")||[]).length>0&&!C.allStatsLoaded()&&(r+='<span data-i18n="teacher.latest_complete"></span><span>:</span><div data-i18n="common.loading"></div>'),r+="</div>",g.isAdmin()&&(r=r+'<button class="create-activation-codes-btn btn btn-lg btn-primary"'+n.attr("disabled",!C.allStatsLoaded(),!0,!0)+'><span data-i18n="admin.create_activate_codes">activation codes</span></button>'),r+='</div><div class="adding-students col-md-5"><h4 class="m-b-2"><span data-i18n="courses.add_students"></span><span>:</span></h4>',o.copyCodes(),b.get("readOnly")||o.addStudentsButton(),r+="</div></div>",C.students.length>0){r+='<ul class="nav nav-tabs m-t-5" role="tablist">';var j=b.get("activeTab");r=r+"<li"+n.attr("class",n.classes(["#students-tab"===j?"active":""],[!0]),!1,!0)+'><a class="students-tab-btn" href="#students-tab"><div class="small-details text-center" data-i18n="courses.students"></div></a></li><div class="tab-spacer"></div><li'+n.attr("class",n.classes(["#course-progress-tab"===j?"active":""],[!0]),!1,!0)+'><a class="course-progress-tab-btn" href="#course-progress-tab"><div class="small-details text-center" data-i18n="teacher.course_progress"></div></a></li><div class="tab-spacer"></div>',C.classroom.hasAssessments()&&(r=r+"<li"+n.attr("class",n.classes(["#assessments-tab"===j?"active":""],[!0]),!1,!0)+'><a class="assessments-tab-btn" href="#assessments-tab"><div class="small-details text-center" data-i18n="teacher.assessments"></div></a></li><div class="tab-spacer"></div>'),r=r+"<li"+n.attr("class",n.classes(["#license-status-tab"===j?"active":""],[!0]),!1,!0)+'><a class="course-progress-tab-btn" href="#license-status-tab"><div class="small-details text-center" data-i18n="teacher.license_status"></div></a></li><div class="tab-spacer"></div><li'+n.attr("class",n.classes(["#ai-league-stats-tab"===j?"active":""],[!0]),!1,!0)+'><a class="course-progress-tab-btn" href="#ai-league-stats-tab"><div class="small-details text-center">AI League</div></a></li><div class="tab-filler"></div></ul><div class="tab-content">',"#students-tab"===j?o.studentsTab():"#course-progress-tab"===j?o.courseProgressTab():"#assessments-tab"===j?o.assessmentsTab():"#license-status-tab"===j?o.enrollmentStatusTab():"#ai-league-stats-tab"===j&&o.clanLeagueStatsMixin(C.aiLeagueStats,C.classClan?C.classClan._id:null,!0,C.classroom),r+="</div>"}else r+='<div class="text-center m-t-5 m-b-5"><div class="text-h2"><span data-i18n="teacher.no_students_yet"></span></div><div class="text-h4"><span data-i18n="teacher.try_refreshing"></span></div></div>';r+="</div>"}
2r+='</div><footer id="site-footer">\x3c!-- Will be replaced by Footer.vue in RootView--\x3e</footer></div>'}.call(this,"$"in i?i.$:void 0!==a?a:void 0,"Boolean"in i?i.Boolean:"undefined"!=typeof Boolean?Boolean:void 0,"Date"in i?i.Date:"undefined"!=typeof Date?Date:void 0,"Math"in i?i.Math:"undefined"!=typeof Math?Math:void 0,"_"in i?i._:"undefined"!=typeof _?_:void 0,"context"in i?i.context:"undefined"!=typeof context?context:void 0,"dotClass"in i?i.dotClass:"undefined"!=typeof dotClass?dotClass:void 0,"i18n"in i?i.i18n:"undefined"!=typeof i18n?i18n:void 0,"labelText"in i?i.labelText:"undefined"!=typeof labelText?labelText:void 0,"levelName"in i?i.levelName:"undefined"!=typeof levelName?levelName:void 0,"link"in i?i.link:"undefined"!=typeof link?link:void 0,"me"in i?i.me:"undefined"!=typeof me?me:void 0,"moment"in i?i.moment:"undefined"!=typeof moment?moment:void 0,"state"in i?i.state:"undefined"!=typeof state?state:void 0,"topScore"in i?i.topScore:"undefined"!=typeof topScore?topScore:void 0,"translate"in i?i.translate:"undefined"!=typeof translate?translate:void 0,"value"in i?i.value:"undefined"!=typeof value?value:void 0,"view"in i?i.view:"undefined"!=typeof view?view:void 0,"window"in i?i.window:"undefined"!=typeof window?window:void 0),r}},190011:(e,t,s)=>{var a=s(619755),n=s(477055);e.exports=function(e){var t,s="",r={},o=e||{};return function(e,a,o,i,l,c,u,d,p,v,h,f,m,g,y,b,_,w,k){r.clanLeagueStatsMixin=t=function(a,r,o,c){this&&this.block,this&&this.attributes,s+='<div class="ai-league-stats">',a&&a.totalPlayers>1?(s+='<div class="container"><div class="row"><div class="col-xs-12"><h3><span data-i18n="courses.ai_league_team_rankings"></span>',a.totalPlayers&&(s=s+"<span>"+n.escape(null==(t=" ("+a.totalPlayers.toLocaleString()+" "+e.i18n.t("play.players")+")")?"":t)+"</span>"),s=s+"<span>"+n.escape(null==(t=" ")?"":t)+"</span>",c&&c.isOwner()&&(s=s+'<a class="view-ai-league text-h6" data-i18n="teacher.view_ai_league_team" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",f.id,!0,!0)+' data-event-action="Teachers Classes View AI League Team"></a>'),s=s+"<span>"+n.escape(null==(t=" ")?"":t)+"</span>",k.features.chinaUx||(s=s+'<a class="ai-league-quickstart-video text-h6" data-i18n="league.quickstart_video" data-event-action="Teachers Classes View AI League Quickstart video" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",f.id,!0,!0)+' href="https://www.youtube.com/watch?v=niKXOofTckEor" target="_blank"></a><a class="ai-league-custom-tournament text-h6" data-i18n="league.custom_tournament_text" href="/league/ladders" target="_blank"></a>'),s+='</h3></div></div><div class="row">',a.arenas&&l.some(a.arenas,(e=>l.some(e,(e=>e.clanPlayers>1||e.topPlayer&&e.topPlayer.percentileRank<.2))))&&(s+='<div class="col-md-7 stats-col"><h4 data-i18n="league.arena_rankings"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.arena_rankings_title;league.arena_rankings_blurb"></span>',function(){var o=a.arenas;if("number"==typeof o.length)for(var l=0,c=o.length;l<c;l++){var u=o[l];(function(){var a=u;if("number"==typeof a.length)for(var o=0,c=a.length;o<c;o++)((d=a[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(s=s+"<h5><a"+n.attr("href","/play/ladder/"+l+"/clan/"+r,!0,!0)+"><span>"+n.escape(null==(t=e.i18n.t("league."+l.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(s+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*i.ceil(p/5)).toFixed(0):p<50?(10*i.ceil(p/10)).toFixed(0):null,s=s+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>
2'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?s=s+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":s+="<span>)</span>",s+="</span></div>"));else for(var o in c=0,a){var d,p;c++,((d=a[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(s=s+"<h5><a"+n.attr("href","/play/ladder/"+l+"/clan/"+r,!0,!0)+"><span>"+n.escape(null==(t=e.i18n.t("league."+l.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(s+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*i.ceil(p/5)).toFixed(0):p<50?(10*i.ceil(p/10)).toFixed(0):null,s=s+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?s=s+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":s+="<span>)</span>",s+="</span></div>"))}}).call(this)}else for(var l in c=0,o)c++,u=o[l],function(){var a=u;if("number"==typeof a.length)for(var o=0,c=a.length;o<c;o++)((d=a[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(s=s+"<h5><a"+n.attr("href","/play/ladder/"+l+"/clan/"+r,!0,!0)+"><span>"+n.escape(null==(t=e.i18n.t("league."+l.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(s+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*i.ceil(p/5)).toFixed(0):p<50?(10*i.ceil(p/10)).toFixed(0):null,s=s+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?s=s+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":s+="<span>)</span>",s+="</span></div>"));else for(var o in c=0,a){var d,p;c++,((d=a[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(s=s+"<h5><a"+n.attr("href","/play/ladder/"+l+"/clan/"+r,!0,!0)+"><span>"+n.escape(null==(t=e.i18n.t("league."+l.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(s+='<div class="stat"><span data-i18n="league.top_student"></span>
2',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*i.ceil(p/5)).toFixed(0):p<50?(10*i.ceil(p/10)).toFixed(0):null,s=s+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?s=s+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":s+="<span>)</span>",s+="</span></div>"))}}.call(this)}.call(this),s+="</div>"),s+='<div class="col-md-5 stats-col">',a.wins&&(a.wins.over100||a.wins.over50)&&(s+='<h4 data-i18n="league.arena_victories"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.arena_victories_title;league.arena_victories_blurb"></span>',(!a.wins.topPlayer||a.wins.total>a.wins.topPlayer.wins)&&(s=s+'<div class="stat"><span data-i18n="league.count_total"></span><strong><span>'+n.escape(null==(t=" "+a.wins.total.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.count_wins"></span></strong></div>'),(a.wins.over100>1||a.wins.over50>1)&&(s+='<div class="stat">',a.wins.over100&&a.wins.over100>a.wins.over50-2&&a.wins.over100>1?s=s+"<span>"+n.escape(null==(t="100+ ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+a.wins.over100+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong>':a.wins.over50>1&&(s=s+"<span>"+n.escape(null==(t="50+ ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+a.wins.over50+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong>'),s+="</div>"),a.wins.topPlayer&&a.wins.topPlayer.name&&(s=s+'<div class="stat"><span data-i18n="league.top_student"></span><strong>'+n.escape(null==(t=" "+a.wins.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" ("+a.wins.topPlayer.wins+" ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>)</span></span></div>')),a.codePoints&&a.codePoints.total&&(s=s+'<h4 data-i18n="league.codepoints"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.codepoints_title;league.codepoints_blurb"></span><div class="stat"><span data-i18n="league.count_total"></span><strong><span>'+n.escape(null==(t=" "+a.codePoints.total.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.codepoints"></span></strong></div>',a.codePoints.over100>1&&(s=s+'<div class="stat"><span>'+n.escape(null==(t="100+ ")?"":t)+'</span><span data-i18n="league.codepoints"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+a.codePoints.over100.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong></div>'),a.codePoints.topPlayer&&a.codePoints.topPlayer.name&&(s=s+'<div class="stat"><span data-i18n="league.top_student"></span><strong>'+n.escape(null==(t=" "+a.codePoints.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" ("+a.codePoints.topPlayer.codePoints.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.codepoints"></span><span>)</span></span></div>')),s+="</div></div></div>"):o&&(s+='<div class="container"><div class="row"><div class="col-xs-12">',a||(s+='<h3 style="display: inline-block;">No AI League stats yet.</h3>'),k.features.chinaUx||(s=s+'<a class="ai-league-quickstart-video text-h6" data-i18n="league.quickstart_video" data-event-action="Teachers Classes View AI League Quickstart video" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",f.id,!0,!0)+' href="https://www.youtube.com/watch?v=niKXOofTckEor" target="_blank"></a><a class="ai-league-custom-tournament text-h6" data-i18n="league.custom_tournament_text" href="/league/ladders" target="_blank"></a>'),s+="</div></div></div>"),s+="</div>"},r.longLevelName=t=function(e){this&&this.block,this&&this.attributes,e?s=s+'<div class="level-name"><span>'+n.escape(null==(t=e.courseName+": ")?"":t)+'</span><span data-i18n="play_level.level"></span><span class="spl">'+n.escape(null==(t=e.levelNumber)?"":t)+"</span></div>":s+='<div class="level-name" data-i18n="teacher.not_applicable"></div>'},r.inlineUserList=t=function(e){this&&this.block,this&&this.attributes,e&&(s+='<ul class="inline-student-list small">',function(){var a=e.slice(0,5);if("number"==typeof a.length)for(var r=0,o=a.length;r<o;r++){var i=a[r];s=s+'<li><span class="inline-student-name">'+n.escape(null==(t=i.broadName())?"":t)+"</span></li>"}else for(var r in o=0,a)o++,i=a[r],s=s+'<li><span class="inline-student-name">'+n.escape(null==(t=i.broadName())?"":t)+"</span></li>"}.call(this),e.length>5&&(s+='<li><span class="inline-student-name">',/^en/.test(f.get("preferredLanguage",!0))?s+=n.escape(null==(t=`and ${e.length-5} more`)?"":t):s+=n.escape(null==(t="+"+(e.length-5))?"":t),s+="</span></li>"),s+="</ul>")},r.addStudentsButton=t=function(){this&&this.block,this&&this.attributes,s=s+'<div class="add-students"><a class="add-students-btn btn btn-lg btn-primary"'+n.attr("data-classroom-id",w.classroom.id,!0,!0)+'><span data-i18n="teacher.add_students_manually"></span></a>',w.shouldShowGoogleClassroomButton()&&(s=s+'<a class="sync-google-classroom-btn btn btn-lg btn-primary"'+n.attr("data-classroom-id",w.classroom.id,!0,!0)+'><span data-i18n="teacher.sync_google_classroom"></span></a>'),s+="</div>"},r.studentsTab=t=function(){if(this&&this.block,this&&this.attributes,s+='<div id="students-tab">',g.get("readOnly")?s+="<br>":(s=s+"<div"+n.attr("dir",-1==["he","ar","fa","ur"].indexOf(f.get("preferredLanguage",!0))?"ltr":"rtl",!0,!0)+">
2",r.bulkAssignControls(),s+="</div>"),s+='<table class="students-table"><thead>',!g.get("readOnly")){s+='<th class="checkbox-col select-all small text-center"><span data-i18n="teacher.select_all"></span><div class="checkbox-flat">';var e=l.all(g.get("checkboxStates"));s=s+'<input type="checkbox" id="checkbox-all-students"'+n.attr("checked",e,!0,!0)+'><label class="checkmark" for="checkbox-all-students"></label></div></th>'}s+="<th>",r.sortButtons(),s+="</th></thead><tbody>",function(){var e=g.get("students").models;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++){var a=e[t];r.studentRow(a)}else for(var t in s=0,e)s++,a=e[t],r.studentRow(a)}.call(this),s+="</tbody></table></div>"},r.sortButtons=t=function(){this&&this.block,this&&this.attributes,s+='<div class="sort-buttons small rtl-allowed"><span data-i18n="teacher.sort_by"></span><span class="spr">:</span><button class="sort-button sort-by-last-name" data-i18n="general.last_name" value="last-name"></button><button class="sort-button sort-by-first-name" data-i18n="general.first_name" value="first-name"></button><button class="sort-button sort-by-progress" data-i18n="teacher.progress" value="progress"></button></div>'},r.studentRow=t=function(e){this&&this.block,this&&this.attributes,s+='<tr class="student-row alternating-background">',g.get("readOnly")||(s=s+'<td class="checkbox-col student-checkbox"><div class="checkbox-flat"><input type="checkbox"'+n.attr("id","checkbox-student-"+e.id,!0,!0)+n.attr("data-student-id",e.id,!0,!0)+n.attr("checked",g.get("checkboxStates")[e.id],!0,!0)+'><label class="checkmark"'+n.attr("for","checkbox-student-"+e.id,!0,!0)+"></label></div></td>"),s+='<td class="student-info-col"><div class="student-info">',e.get("deleted")&&(s+="<em>(deleted)</em>");var a="/teachers/classes/"+w.classroom.id+"/"+e.id;if(g.get("renderOnlyContent")&&(a="/school-administrator/teacher/"+w.classroom.get("ownerID")+"/classroom/"+w.classroom.id+"/"+e.id),s=s+'<a class="student-details-row"'+n.attr("href",a,!0,!0)+' data-event-action="Teachers Click Student Profile"><div class="student-name">'+n.escape(null==(t=e.broadName())?"":t)+'</div></a><div class="student-email small-details">'+n.escape(null==(t=e.get("email")||e.get("name"))?"":t)+'</div></div></td><td class="hidden"><a class="edit-student-button"'+n.attr("data-student-id",e.id,!0,!0)+'><span class="glyphicon glyphicon-edit"></span><span data-i18n="teacher.edit"></span></a></td><td class="latest-level-col small"><div><i><span data-i18n="teacher.latest_completed"></span></i></div>',w.allStatsLoaded()?(s+="<div>",r.longLevelName(e.latestCompleteLevel),s+="</div>"):s+='<div data-i18n="common.loading"></div>',s+="</td><td>",g.get("progressData")){var o=w.sortedCourses.map((function(e){return w.courses.get(e._id)})),i=w.helper.courseLabelsArray(o);(function(){var t=w.sortedCourses;if("number"==typeof t.length)for(var s=0,a=t.length;s<a;s++){var n=t[s];if((d=w.courses.get(n._id))&&(p=w.courseInstances.findWhere({courseID:d.id,classroomID:C.id}))&&p.hasMember(e)){var o=g.get("progressData").get({classroom:w.classroom,course:d,user:e}),c=l.reject(l.reject(n.levels,"practice"),"assessment").length,u=i[s];r.studentCourseProgressDot(o,c,u,e,d,p)}}else for(var s in a=0,t){var d,p;a++,n=t[s],(d=w.courses.get(n._id))&&(p=w.courseInstances.findWhere({courseID:d.id,classroomID:C.id}))&&p.hasMember(e)&&(o=g.get("progressData").get({classroom:w.classroom,course:d,user:e}),c=l.reject(l.reject(n.levels,"practice"),"assessment").length,u=i[s],r.studentCourseProgressDot(o,c,u,e,d,p))}}).call(this)}s+="</td>",g.get("readOnly")||(s=s+'<td><div class="pull-right"><a class="edit-student-link small center-block text-center m-r-2"'+n.attr("data-student-id",e.id,!0,!0)+'><div class="glyphicon glyphicon-edit"></div><div data-i18n="teacher.edit"></div></a><a class="remove-student-link small center-block text-center m-r-2"'+n.attr("data-student-id",e.id,!0,!0)+'><div class="glyphicon glyphicon-remove"></div><div data-i18n="teacher.remove"></div></a></div></td>'),s+="</tr>"},r.courseProgressTab=t=function(){this&&this.block,this&&this.attributes,s+='<div class="m-t-3" id="course-progress-tab">',w.courses&&(s+='<div class="course-progress-select-wrapper"><label for="course-select"><span data-i18n="teacher.select_course_coco"></span><span class="spr">:</span></label><select class="course-select" id="course-select">',function(){var e=w.latestReleasedCourses;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===g.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=d(o.attributes,"name"))?"":t),w.availableCourseMap[o.id]||(s+=n.escape(null==(t=" "+b("teacher.paren_new"))?"":t)),s+="</option>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===g.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=d(o.attributes,"name"))?"":t),w.availableCourseMap[o.id]||(s+=n.escape(null==(t=" "+b("teacher.paren_new"))?"":t)),s+="</option>"}.call(this),s+="</select></div>");var e=g.get("selectedCourse"),a=w.getSelectedCourseInstance();if(a&&e&&w.campaignLevelNumberMap[e.get("campaignID")]){s=s+'<div class="course-progress-select-wrapper"'+n.attr("data-course-id",e.id,!0,!0)+'><label for="locked-level-select"><span data-i18n="courses.set_start_locked_level"></span><span class="spr">:</span></label><select id="locked-level-select"><option data-i18n="courses.no_level_limit" value="none"></option>';var o=w.classroom.getLevels({courseID:e.id}).models;(function(){var r=o;if("number"==typeof r.length)for(var i=0,l=r.length;i<l;i++)(c=r[i]).get("assessment")||c.get("practice")||(s=s+"<option"+(n.attr("value",c.get("slug"),!0,!0)+n.attr("selected",c.get("slug")===a.get("startLockedLevel"),!0,!0))+"><span>"+n.escape(null==(t=w.campaignLevelNumberMap[e.get("campaignID")][c.get("original")])?"":t)+"."+n.escape(null==(t=" ")?"":t)+"</span><span>"+n.escape(null==(t=d(c.attributes,"name").replace("Course: ",""))?"":t)+"</span></option>");else for(var i in l=0,r){var c;l++,(c=r[i]).get("assessment")||c.get("practice")||(s=s+"<option"+(n.attr("value",c.get("slug"),!0,!0)+n.attr("selected",c.get("slug")===a.get("startLockedLevel"),!0,!0))+"><span>"+n.escape(null==(t=w.campaignLevelNumberMap[e.get("campaignID")][c.get("original")])?"":t)+"."+n.escape(null==(t=" ")?"":t)+"</span><span>"+n.escape(null==(t=d(c.attributes,"name").replace("Course: ",""))?"":t)+"</span></option>")}}).call(this),s+="</select></div>"}if(s+='<h4 class="m-b-2 m-t-3" data-i18n="teacher.progress_color_key"></h4><div class="row m-b-3" id="progress-color-key-row"><div class="col col-md-2 col-xs-4"><div class="progress-dot forest"></div><div class="key-text"><span class="small" data-i18n="play_level.level_complete"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-4"><div class="progress-dot gold"></div><div class="key-text"><span class="small" data-i18n="teacher.level_in_progress"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-4"><div class="progress-dot navy"></div><div class="key-text"><span class="small" data-i18n="teacher.project_or_arena"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-4"><div class="progress-dot"></div><div class="key-text"><span class="small" data-i18n="teacher.level_not_started"></span></div><div class="clearfix"></div></div></div>\x3c!-- TODO: Refactor this to use Vue components like in the assessments tab--\x3e',e&&w.availableCourseMap[e.id]&&a&&a.get("members").length>0?(s+='<div class="render-on-course-sync">',r.courseOverview(e),s+='<div class="student-levels-table">',r.sortButtons(),function(){var e=g.get("students").models;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++){var a=e[t];l.contains(g.get("selectedCourse").members,a.id)&&r.studentLevelsRow(a)}else for(var t in s=0,e)s++,a=e[t],l.contains(g.get("selectedCourse").members,a.id)&&r.studentLevelsRow(a)}
2.call(this),s+="</div></div>"):s+='<br><h2 class="text-center"><i data-i18n="teacher.no_student_assigned"></i></h2>',s+='<div class="unassigned-students render-on-course-sync">',g.get("selectedCourse")&&g.get("selectedCourse").members.length<g.get("students").length){s+="<h2>";var i=d(g.get("selectedCourse").attributes,"name");s=s+"<span>"+n.escape(null==(t=b("teacher.students_not_assigned").replace("{{courseName}}",i))?"":t)+"</span></h2>",function(){var e=g.get("students").models;if("number"==typeof e.length)for(var a=0,o=e.length;a<o;a++){var i=e[a];l.contains(g.get("selectedCourse").members,i.id)||(s=s+'<div class="row unassigned-student-row alternating-background"><div class="student-name col-sm-3">'+n.escape(null==(t=i.broadName())?"":t)+'</div><div class="student-email small-details col-sm-3">'+n.escape(null==(t=i.get("email")||i.get("name"))?"":t)+'</div><div class="col-sm-4"><div class="latest-completed truncate small"><i class="m-r-1"><span data-i18n="teacher.latest_completed"></span></i>',r.longLevelName(i.latestCompleteLevel),s+="</div></div>",g.get("readOnly")||(s=s+'<div class="col-sm-2"><div class="assign-student-button btn btn-md btn-navy pull-right"'+n.attr("data-user-id",i.id,!0,!0)+n.attr("data-course-id",g.get("selectedCourse").id,!0,!0)+'><span data-i18n="teacher.assign_course"></span></div></div>'),s+="</div>")}else for(var a in o=0,e)o++,i=e[a],l.contains(g.get("selectedCourse").members,i.id)||(s=s+'<div class="row unassigned-student-row alternating-background"><div class="student-name col-sm-3">'+n.escape(null==(t=i.broadName())?"":t)+'</div><div class="student-email small-details col-sm-3">'+n.escape(null==(t=i.get("email")||i.get("name"))?"":t)+'</div><div class="col-sm-4"><div class="latest-completed truncate small"><i class="m-r-1"><span data-i18n="teacher.latest_completed"></span></i>',r.longLevelName(i.latestCompleteLevel),s+="</div></div>",g.get("readOnly")||(s=s+'<div class="col-sm-2"><div class="assign-student-button btn btn-md btn-navy pull-right"'+n.attr("data-user-id",i.id,!0,!0)+n.attr("data-course-id",g.get("selectedCourse").id,!0,!0)+'><span data-i18n="teacher.assign_course"></span></div></div>'),s+="</div>")}.call(this)}s+="</div></div>"},r.courseOverview=t=function(e){this&&this.block,this&&this.attributes;var a=w.classroom.getLevels({courseID:e.id}).models;if(s=s+'<div class="course-overview-row"><div class="course-title student-name"><span>'+n.escape(null==(t=d(e.attributes,"name"))?"":t)+"</span><span>"+n.escape(null==(t=": ")?"":t)+'</span><span data-i18n="teacher.course_overview"></span></div><div class="course-overview-progress">',g.get("progressData")){var o=!1,i=w.getSelectedCourseInstance();(function(){var t=a;if("number"==typeof t.length){for(var s=0,n=t.length;s<n;s++)if(!(u=t[s]).get("assessment")){i&&u.get("slug")===i.get("startLockedLevel")&&(o=!0);var l=g.get("progressData").get({classroom:w.classroom,course:e,level:u}),c=w.classroom.getLevelNumber(u.get("original"),s+1,e.id);r.allStudentsLevelProgressDot(l,u,c,o)}}else for(var s in n=0,t){var u;n++,(u=t[s]).get("assessment")||(i&&u.get("slug")===i.get("startLockedLevel")&&(o=!0),l=g.get("progressData").get({classroom:w.classroom,course:e,level:u}),c=w.classroom.getLevelNumber(u.get("original"),s+1,e.id),r.allStudentsLevelProgressDot(l,u,c,o))}}).call(this)}s+="</div></div>"},r.studentLevelsRow=t=function(e){this&&this.block,this&&this.attributes,s=s+'<div class="student-levels-row alternating-background"><div class="student-info"><div class="student-name">'+n.escape(null==(t=e.broadName())?"":t)+'</div><div class="student-email small-details">'+n.escape(null==(t=e.get("email")||e.get("name"))?"":t)+'</div></div><div class="row"><div class="student-levels-progress col col-xs-12">';var a=g.get("selectedCourse"),o=w.classroom.getLevels({courseID:a.id}).models,i=!1;if(g.get("progressData")){var l=!1,c=w.getSelectedCourseInstance();(function(){var t=o;if("number"==typeof t.length){for(var s=0,n=t.length;s<n;s++)if(!(p=t[s]).get("assessment")){c&&p.get("slug")===c.get("startLockedLevel")&&(l=!0);var u=g.get("progressData").get({classroom:w.classroom,course:a,level:p,user:e}),d=w.classroom.getLevelNumber(p.get("original"),s+1,a.id);p.get("practice")||(i=u.completed),r.studentLevelProgressDot(u,p,d,e,l)}}else for(var s in n=0,t){var p;n++,(p=t[s]).get("assessment")||(c&&p.get("slug")===c.get("startLockedLevel")&&(l=!0),u=g.get("progressData").get({classroom:w.classroom,course:a,level:p,user:e}),d=w.classroom.getLevelNumber(p.get("original"),s+1,a.id),p.get("practice")||(i=u.completed),r.studentLevelProgressDot(u,p,d,e,l))}}).call(this)}s+="</div><div>
2",i?s=s+'<a class="certificate-link open-certificate-btn" target="_blank"'+n.attr("href","/certificates/"+e.id+"?class="+w.classroom.id+"&course="+a.id+"&course-instance="+g.get("selectedCourseInstance").id,!0,!0)+' data-event-action="Teachers Click Certificates - Progress tab"><img src="/images/pages/user/certificates/certificate-icon.png"><div data-i18n="user.certificate_view"></div></a>':s+='<div class="certificate-link" disabled><img src="/images/pages/user/certificates/certificate-icon.png"><div data-i18n="user.certificate_course_incomplete"></div></div>',s+="</div></div></div>"},r.studentCourseProgressDot=t=function(e,t,a,o,i,c){this&&this.block,this&&this.attributes,u=e.completed?"forest":e.started?"gold":"",l.assign(e,{levelsTotal:t}),e.completed?(s=s+'<a class="open-certificate-btn" target="_blank"'+n.attr("href","/certificates/"+o.id+"?class="+w.classroom.id+"&course="+i.id+"&course-instance="+c.id,!0,!0)+' data-event-action="Teachers Click Certificates - Students tab"><div'+n.attr("class",n.classes(["progress-dot","has-tooltip",u],[!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",w.singleStudentCourseProgressDotTemplate(e),!0,!0)+">",r.progressDotLabel(a),s+="</div></a>"):(s=s+"<div"+n.attr("class",n.classes(["progress-dot","has-tooltip",u],[!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",w.singleStudentCourseProgressDotTemplate(e),!0,!0)+">",r.progressDotLabel(a),s+="</div>")},r.allStudentsLevelProgressDot=t=function(e,t,a,o=!1){this&&this.block,this&&this.attributes,u=e.completed?"forest":e.started?"gold":"",v=d(t.attributes,"name"),c=l.merge(e,{levelName:v,levelNumber:a,numStudents:w.students.length,practice:t.get("practice"),locked:o}),h=null,p=a;var i=g.get("selectedCourseInstance");t.isLadder()?(i?(h=w.urls.courseArenaLadder({level:t,courseInstance:i}),p=b("teacher.view_arena_ladder")):p=b("courses.arena"),u="navy progress-dot-lg"):t.isProject()?(i&&(h=w.urls.courseProjectGallery({courseInstance:i})),p=b("teacher.view_project_gallery"),u+=" progress-dot-lg"):t.get("practice")&&(e.completed||e.started||(p="",u+=" practice")),o&&!e.completed&&(u+=" locked"),h?(g.get("readOnly")&&(h=h.replace("/teachers/classes/","/school-administrator/teacher/"+w.classroom.get("ownerID")+"/classroom/")),s=s+"<a"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot",u],[!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",w.allStudentsLevelProgressDotTemplate(c),!0,!0)+n.attr("href",h,!0,!0)+">",r.progressDotLabel(p),s+="</a>"):(s=s+"<div"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot",u],[!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",w.allStudentsLevelProgressDotTemplate(c),!0,!0)+">",r.progressDotLabel(p),s+="</div>")},r.studentLevelProgressDot=t=function(e,t,a,o,i=!1){this&&this.block,this&&this.attributes,u=e.completed?"forest":e.started?"gold":"",v=d(t.attributes,"name"),c=l.merge(e,{levelName:v,levelNumber:a,moment:m,practice:t.get("practice"),isProject:t.isProject(),assessment:t.get("assessment"),primaryConcept:l.first(t.get("primaryConcepts")),topScore:y,translate:b,locked:i});var h=null;u&&(h="/teachers/classes/"+w.classroom.id+"/"+o.id+"#"+t.get("slug")),p=a,t.isLadder()?(p=b("courses.arena"),u+=" progress-dot-lg"):t.isProject()?(e.started?(h=w.urls.playDevLevel({level:t,session:e.session,course:g.get("selectedCourse")}),p=b("teacher.view_project"),e.completed&&!e.session.published&&(p+=" "+b("teacher.unpublished")),u=e.completed?"navy":e.started?"gold":""):p=b("teacher.project"),u+=" progress-dot-lg"):t.get("practice")&&(e.completed||e.started||(p="",u+=" practice")),!i||e.completed||e.started||(u+=" locked"),h?(g.get("readOnly")&&(h=h.replace("/teachers/classes/","/school-administrator/teacher/"+w.classroom.get("ownerID")+"/classroom/")),s=s+"<a"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot","student-level-progress-dot",u],[!1,!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",w.singleStudentLevelProgressDotTemplate(c),!0,!0)+n.attr("href",h,!0,!0)+n.attr("data-student-id",o.id,!0,!0)+n.attr("data-level-slug",t.get("slug"),!0,!0)+n.attr("data-level-progress",e.completed?"complete":e.started?"started":"not started",!0,!0)+n.attr("data-course-id",w.state.get("selectedCourse").id,!0,!0)+">",r.progressDotLabel(p),s+="</a>"):(s=s+"<div"+n.attr("class",n.classes(["progress-dot","has-tooltip","level-progress-dot",u],[!1,!1,!1,!0]),!1,!0)+' data-html="true"'+n.attr("data-title",w.singleStudentLevelProgressDotTemplate(c),!0,!0)+">
2",r.progressDotLabel(p),s+="</div>"),y&&y.thresholdAchieved&&(s=s+'<br><img class="threshold-icon over-progress-bubble"'+n.attr("src","/images/pages/courses/star-"+y.thresholdAchieved+".png",!0,!0)+">")},r.progressDotLabel=t=function(e){this&&this.block,this&&this.attributes,s=s+'<div class="dot-label text-center"><div class="dot-label-inner">'+n.escape(null==(t=e)?"":t)+"</div></div>"},r.copyCodes=t=function(){this&&this.block,this&&this.attributes,s=s+'<div class="copy-button-group form-inline m-b-3"><div class="input-group"><input class="text-h4 semibold" id="join-code-input"'+n.attr("value",g.get("classCode"),!0,!0)+n.attr("readonly",!0,!0,!0)+'><button class="form-control has-tooltip" id="regenerate-code-btn"'+n.attr("disabled",!a(g.get("classCode")),!0,!0)+' data-toggle="tooltip" data-i18n="[title]teacher.regenerate_class_code_tooltip"><span class="glyphicon glyphicon-refresh"></span></button></div><button class="form-control btn btn-lg btn-forest" id="copy-code-btn"><span data-i18n="teacher.copy_class_code"></span></button><div class="text-center small class-code-blurb" data-i18n="teacher.class_code_blurb"></div></div><div class="copy-button-group form-inline m-b-3"><div class="form-group"><input class="text-h4 semibold" id="join-url-input"'+n.attr("value",g.get("joinURL"),!0,!0)+' dir="ltr"'+n.attr("readonly",!0,!0,!0)+'></div><button class="form-control btn btn-lg btn-forest" id="copy-url-btn"><span data-i18n="teacher.copy_class_url"></span></button><div class="text-center small class-code-blurb" data-i18n="teacher.class_join_url_blurb"></div></div>'},r.bulkAssignControls=t=function(){this&&this.block,this&&this.attributes,s=s+'<div class="bulk-assign-controls form-inline"><div'+n.attr("class",n.classes(["no-students-selected","small-details",g.get("errors").nobodySelected?"visible":""],[!1,!1,!0]),!1,!0)+'><span data-i18n="teacher.no_students_selected"></span></div><span class="small"><span data-i18n="teacher.bulk_assign"></span><span>:</span></span><select class="bulk-course-select form-control">',function(){var e=l.rest(w.latestReleasedCourses);if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===g.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=d(o.attributes,"name"))?"":t),w.availableCourseMap[o.id]||(s+=n.escape(null==(t=" "+b("teacher.paren_new"))?"":t)),s+="</option>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===g.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=d(o.attributes,"name"))?"":t),w.availableCourseMap[o.id]||(s+=n.escape(null==(t=" "+b("teacher.paren_new"))?"":t)),s+="</option>"}.call(this),s+="</select>",g.get("readOnly")||(s=s+'<button class="btn btn-primary assign-to-selected-students"'+n.attr("disabled",!w.allStatsLoaded(),!0,!0)+'><span data-i18n="teacher.assign_course"></span></button><button class="btn btn-burgundy-alt remove-from-selected-students"'+n.attr("disabled",!w.allStatsLoaded(),!0,!0)+'><span data-i18n="teacher.remove_course"></span></button>'),s+="</div>"},r.assessmentsTab=t=function(){this&&this.block,this&&this.attributes,s+='<div id="assessments-tab"><div class="text-center m-t-3"><span data-i18n="teacher.select_course_coco"></span><span class="spr">:</span><select class="course-select">',function(){var e=w.latestReleasedCourses;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];w.classroom.hasAssessments({courseId:o.id})&&(s=s+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===g.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=d(o.attributes,"name"))?"":t),w.availableCourseMap[o.id]||(s+=n.escape(null==(t=" "+b("teacher.paren_new"))?"":t)),s+="</option>")}else for(var a in r=0,e)r++,o=e[a],w.classroom.hasAssessments({courseId:o.id})&&(s=s+"<option"+(n.attr("value",o.id,!0,!0)+n.attr("selected",o===g.get("selectedCourse"),!0,!0))+">"+n.escape(null==(t=d(o.attributes,"name"))?"":t),w.availableCourseMap[o.id]||(s+=n.escape(null==(t=" "+b("teacher.paren_new"))?"":t)),s+="</option>")}.call(this),s+='</select></div><h4 class="m-b-2 m-t-3" data-i18n="teacher.progress_color_key"></h4><div class="row m-b-3" id="progress-color-key-row"><div class="col col-md-2 col-xs-3"><div class="progress-dot forest"></div><div class="key-text"><span class="small" data-i18n="teacher.success"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-3"><div class="progress-dot gold"></div><div class="key-text"><span class="small" data-i18n="teacher.in_progress"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-3"><div class="progress-dot"></div><div class="key-text"><span class="small" data-i18n="teacher.not_started"></span></div><div class="clearfix"></div></div><div class="col col-md-2 col-xs-3"><div class="progress-dot pie"></div><div class="key-text"><span class="small" data-i18n="TODO">Partially Complete</span></div><div class="clearfix"></div></div></div><div class="assessments-table"></div></div>'},r.enrollmentStatusTab=t=function(){this&&this.block,this&&this.attributes,s+='\x3c!-- TODO: Have search input in all tabs--\x3e\x3c!--form.form-inline.text-center.m-t-3--\x3e\x3c!--  #search-form-group.form-group--\x3e\x3c!--    label(for="student-search") Search for student:--\x3e\x3c!--    input#student-search.form-control.m-l-1(type="search")--\x3e\x3c!--    span.glyphicon.glyphicon-search.form-control-feedback--\x3e<table class="table table-condensed m-t-3" id="license-status-table"><thead>\x3c!-- Checkbox code works, but don\'t need it yet.--\x3e\x3c!--th.checkbox-col.select-all.checkbox-flat\n  input(type=\'checkbox\' id=\'checkbox-all-students\')\n  label.checkmark(for=\'checkbox-all-students\')--\x3e<th width="25%"><div class="sort-buttons small"><span data-i18n="teacher.sort_by"></span><span class="spr">:</span><button class="sort-button sort-by-last-name" data-i18n="general.last_name" value="last-name"></button><button class="sort-button sort-by-first-name" data-i18n="general.first_name" value="first-name"></button><button class="sort-button sort-by-status" data-i18n="user.status" value="status"></button></div></th><th width="30%"><span data-i18n="teacher.owned_license"></span></th><th width="25%"></th>',f.canRevokeLicensesViaUI()&&!g.get("readOnly")&&(s+='<th><button class="revoke-all-students-button btn btn-burgundy-alt" data-i18n="teacher.revoke_licenses"></button></th>'),s+="</thead><tbody>";var a=g.get("searchTerm");(function(){var r=g.get("students").search(a);if("number"==typeof r.length)for(var c=0,u=r.length;c<u;c++){var d=(b=r[c]).prepaidNumericalCourses();if(s=s+'<tr class="student-row alternating-background">\x3c!--td.checkbox-col.student-checkbox.checkbox-flat\n  input(type=\'checkbox\' id=\'checkbox-student-\' + student.id, data-student-id=student.id)\n  label.checkmark(for=\'checkbox-student-\' + student.id)--\x3e<td class="student-info-col"><div class="student-info"><div class="student-name">'+n.escape(null==(t=b.broadName())?"":t)+'</div><div class="student-email small-details">'+n.escape(null==(t=b.get("email")||b.get("name"))?"":t)+'</div></div></td><td class="status-col">',d==w.utils.courseNumericalStatus.FULL_ACCESS)s+='<strong data-i18n="teacher.full_license"></strong>';else if(d)for(var p=0;p<w.utils.orderedCourseIDs.length;p++)d&i.pow(2,p)&&(s=s+'<div class="icon">'+n.escape(null==(t=w.utils.courseAcronyms[w.utils.orderedCourseIDs[p]])?"":t)+"</div>");else s+='<strong class="text-danger" data-i18n="teacher.status_not_enrolled"></strong>';if(s+='</td><td class="expires-col">',1==(_=b.activeProducts("course")).length){var v=e.t("teacher.status_enrolled");s=s+"<strong>"+n.escape(null==(t=v.replace("{{date}}",m(_[0].endDate).format("ll")))?"":t)+"</strong>"}else if(_.length>1){v=e.t("teacher.status_partly_expires");var h=l.min(_.map((e=>new o(e.endDate))));s=s+"<strong>"+n.escape(null==(t=v.replace("{{date}}",m(h).format("ll")))?"":t)+'</strong><div class="more">?</div><div class="details">',function(){var e=_;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<p>"+n.escape(null==(t=w.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<p>"+n.escape(null==(t=w.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}
2.call(this),s+="</div>"}else if((k=b.expiredProducts("course")).length){var y=l.max(k.map((e=>new o(e.endDate))));v=e.t("teacher.status_expired"),s=s+'<strong class="text-danger">'+n.escape(null==(t=v.replace("{{date}}",m(y).format("ll")))?"":t)+"</strong>"}s+='</td><td class="enroll-col">',f.canManageLicensesViaUI()&&!g.get("readOnly")&&(s=s+'<button class="enroll-student-button btn btn-navy" data-i18n="teacher.manage_license"'+n.attr("data-user-id",b.id,!0,!0)+' data-event-action="Teachers Class Enrollment Enroll Student"></button>'),s+="</td></tr>"}else for(var c in u=0,r){var b,_;if(u++,d=(b=r[c]).prepaidNumericalCourses(),s=s+'<tr class="student-row alternating-background">\x3c!--td.checkbox-col.student-checkbox.checkbox-flat\n  input(type=\'checkbox\' id=\'checkbox-student-\' + student.id, data-student-id=student.id)\n  label.checkmark(for=\'checkbox-student-\' + student.id)--\x3e<td class="student-info-col"><div class="student-info"><div class="student-name">'+n.escape(null==(t=b.broadName())?"":t)+'</div><div class="student-email small-details">'+n.escape(null==(t=b.get("email")||b.get("name"))?"":t)+'</div></div></td><td class="status-col">',d==w.utils.courseNumericalStatus.FULL_ACCESS)s+='<strong data-i18n="teacher.full_license"></strong>';else if(d)for(p=0;p<w.utils.orderedCourseIDs.length;p++)d&i.pow(2,p)&&(s=s+'<div class="icon">'+n.escape(null==(t=w.utils.courseAcronyms[w.utils.orderedCourseIDs[p]])?"":t)+"</div>");else s+='<strong class="text-danger" data-i18n="teacher.status_not_enrolled"></strong>';if(s+='</td><td class="expires-col">',1==(_=b.activeProducts("course")).length)v=e.t("teacher.status_enrolled"),s=s+"<strong>"+n.escape(null==(t=v.replace("{{date}}",m(_[0].endDate).format("ll")))?"":t)+"</strong>";else if(_.length>1)v=e.t("teacher.status_partly_expires"),h=l.min(_.map((e=>new o(e.endDate)))),s=s+"<strong>"+n.escape(null==(t=v.replace("{{date}}",m(h).format("ll")))?"":t)+'</strong><div class="more">?</div><div class="details">',function(){var e=_;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<p>"+n.escape(null==(t=w.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<p>"+n.escape(null==(t=w.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}.call(this),s+="</div>";else{var k;(k=b.expiredProducts("course")).length&&(y=l.max(k.map((e=>new o(e.endDate)))),v=e.t("teacher.status_expired"),s=s+'<strong class="text-danger">'+n.escape(null==(t=v.replace("{{date}}",m(y).format("ll")))?"":t)+"</strong>")}s+='</td><td class="enroll-col">',f.canManageLicensesViaUI()&&!g.get("readOnly")&&(s=s+'<button class="enroll-student-button btn btn-navy" data-i18n="teacher.manage_license"'+n.attr("data-user-id",b.id,!0,!0)+' data-event-action="Teachers Class Enrollment Enroll Student"></button>'),s+="</td></tr>"}}).call(this),s+="</tbody></table>"};var C=w.classroom;if(f.isTeacher()||f.isAdmin()||(s+='<div class="alert alert-danger text-center"><div class="container"><h3>ATTENTION: Please upgrade your account to a Teacher Account.</h3><p>We are transitioning to a new improved classroom management system for instructors.\nPlease convert your account to ensure you retain access to your classrooms.</p><a class="btn btn-primary btn-lg" href="/teachers/update-account">Upgrade to teacher account</a></div></div>'),C.loaded){s+='<div class="container" dir="auto"><div id="classes-nag-subview"></div>',C.get("archived")&&(s+='<div class="row center-block text-center m-t-3 m-b-3">',g.get("readOnly")||(s+='<div class="unarchive-btn btn btn-lg btn-navy"><span data-i18n="teacher.unarchive_this_class"></span></div>'),s+="</div>");var S=new o,x=C.created(),P=S.getTime()-x.getTime(),O=new o(2018,0,1);!g.get("readOnly")&&P/864e5>180&&x<O&&"Demo Class"!=C.get("name")&&(s+='<div class="update-class rtl-allowed"><div class="alert alert-info text-center rtl-allowed"><strong data-i18n="courses.update_old_classroom"></strong><div class="small-details rtl-allowed"><span class="spr" data-i18n="courses.update_old_classroom_detail"></span><a data-i18n="courses.teacher_dashboard" href="/teachers/"></a><span class="spl" data-i18n="courses.update_old_classroom_detail_2"></span></div></div></div>'),s=s+'<h3 class="m-t-2" dir="auto">'+n.escape(null==(t=C.get("name"))?"":t)+"</h3>",C.isOwner()&&(s+='<a class="label view-ai-league" data-event-action="Teachers Classes View AI League Team"><span data-i18n="teacher.view_ai_league_team"></span></a>'),!g.get("readOnly")&&C.hasWritePermission()&&(s=s+'<a class="label edit-classroom"'+n.attr("data-classroom-id",C.id,!0,!0)+'><span data-i18n="teacher.edit_class_settings"></span></a>'),C.getDisplayPermission()&&(s=s+"&nbsp;<span>"+n.escape(null==(t=C.getDisplayPermission())?"":t)+"</span>"),s=s+'<a class="pull-right view-outcomes-report"'+n.attr("href","/outcomes-report/classroom/"+C.id,!0,!0)+' target="_blank"><span data-i18n="outcomes.view_outcomes_report"></span></a><h4 dir="auto">'+(null==(t=w.markdownIt(C.get("description")))?"":t)+'</h4><div class="classroom-info-row row m-t-5 rtl-allowed"><div class="classroom-details col-md-3 rtl-allowed">';var L=g.get("classStats");if(s=s+'<h4 class="m-b-2" data-i18n="teacher.class_overview"></h4><div class="language small-details"><span data-i18n="teacher.language"></span><span class="spr">:</span><span>'+n.escape(null==(t=C.capitalLanguage)?"":t)+'</span></div><div class="student-count small-details"><span data-i18n="courses.students"></span><span class="spr">:</span><span>'+n.escape(null==(t=C.get("members").length)?"":t)+'</span></div><div class="average-playtime small-details"><span data-i18n="teacher.avg_playtime"></span><span class="spr">:</span>',w.allStatsLoaded()?s=s+"<span>"+n.escape(null==(t=L.averagePlaytime)?"":t)+"</span>":s+='<span data-i18n="common.loading"></span>',s+='</div><div class="total-playtime small-details"><span data-i18n="teacher.total_playtime"></span><span class="spr">:</span>',w.allStatsLoaded()?s=s+"<span>"+n.escape(null==(t=L.totalPlaytime)?"":t)+"</span>":s+='<span data-i18n="common.loading"></span>',s+='</div><div class="average-complete small-details"><span data-i18n="teacher.avg_completed"></span><span class="spr">:</span>',w.allStatsLoaded()?s=s+"<span>"+n.escape(null==(t=L.averageLevelsComplete)?"":t)+"</span>":s+='<span data-i18n="common.loading"></span>',s+='</div><div class="total-complete small-details"><span data-i18n="teacher.total_completed"></span><span class="spr">:</span>',w.allStatsLoaded()?s=s+"<span>"+n.escape(null==(t=L.totalLevelsComplete)?"":t)+"</span>":s+='<span data-i18n="common.loading"></span>
2',s=s+'</div><div class="total-complete small-details"><span data-i18n="teacher.created"></span><span class="spr">:</span><span>'+n.escape(null==(t=m(C.created()).format("l"))?"":t)+"</span></div>",w.students&&w.students.models.length>0&&(s=s+'<button class="export-student-progress-btn btn btn-lg btn-primary"'+n.attr("disabled",!w.allStatsLoaded(),!0,!0)+'><span data-i18n="teacher.export_student_progress"></span></button>'),s+='</div><div class="completeness-info col-md-4"><h4 class="m-b-2">&nbsp;</h4><div class="small-details rtl-allowed">',g.get("earliestIncompleteLevel")?(s+='<span data-i18n="teacher.earliest_incomplete"></span><span>:</span>',r.longLevelName(g.get("earliestIncompleteLevel")),r.inlineUserList(g.get("earliestIncompleteLevel").users)):(w.classroom.get("members")||[]).length>0&&!w.allStatsLoaded()&&(s+='<span data-i18n="teacher.earliest_incomplete"></span><span>:</span><div data-i18n="common.loading"></div>'),s+='</div><div class="small-details m-t-3 rtl-allowed">',g.get("latestCompleteLevel")?(s+='<span data-i18n="teacher.latest_complete"></span><span>:</span>',r.longLevelName(g.get("latestCompleteLevel")),r.inlineUserList(g.get("latestCompleteLevel").users)):(w.classroom.get("members")||[]).length>0&&!w.allStatsLoaded()&&(s+='<span data-i18n="teacher.latest_complete"></span><span>:</span><div data-i18n="common.loading"></div>'),s+="</div>",f.isAdmin()&&(s=s+'<button class="create-activation-codes-btn btn btn-lg btn-primary"'+n.attr("disabled",!w.allStatsLoaded(),!0,!0)+'><span data-i18n="admin.create_activate_codes">activation codes</span></button>'),s+='</div><div class="adding-students col-md-5"><h4 class="m-b-2"><span data-i18n="courses.add_students"></span><span>:</span></h4>',r.copyCodes(),g.get("readOnly")||r.addStudentsButton(),s+="</div></div>",w.students.length>0){s+='<ul class="nav nav-tabs m-t-5" role="tablist">';var I=g.get("activeTab");s=s+"<li"+n.attr("class",n.classes(["#students-tab"===I?"active":""],[!0]),!1,!0)+'><a class="students-tab-btn" href="#students-tab"><div class="small-details text-center" data-i18n="courses.students"></div></a></li><div class="tab-spacer"></div><li'+n.attr("class",n.classes(["#course-progress-tab"===I?"active":""],[!0]),!1,!0)+'><a class="course-progress-tab-btn" href="#course-progress-tab"><div class="small-details text-center" data-i18n="teacher.course_progress"></div></a></li><div class="tab-spacer"></div>',w.classroom.hasAssessments()&&(s=s+"<li"+n.attr("class",n.classes(["#assessments-tab"===I?"active":""],[!0]),!1,!0)+'><a class="assessments-tab-btn" href="#assessments-tab"><div class="small-details text-center" data-i18n="teacher.assessments"></div></a></li><div class="tab-spacer"></div>'),s=s+"<li"+n.attr("class",n.classes(["#license-status-tab"===I?"active":""],[!0]),!1,!0)+'><a class="course-progress-tab-btn" href="#license-status-tab"><div class="small-details text-center" data-i18n="teacher.license_status"></div></a></li><div class="tab-spacer"></div><li'+n.attr("class",n.classes(["#ai-league-stats-tab"===I?"active":""],[!0]),!1,!0)+'><a class="course-progress-tab-btn" href="#ai-league-stats-tab"><div class="small-details text-center">AI League</div></a></li><div class="tab-filler"></div></ul><div class="tab-content">',"#students-tab"===I?r.studentsTab():"#course-progress-tab"===I?r.courseProgressTab():"#assessments-tab"===I?r.assessmentsTab():"#license-status-tab"===I?r.enrollmentStatusTab():"#ai-league-stats-tab"===I&&r.clanLeagueStatsMixin(w.aiLeagueStats,w.classClan?w.classClan._id:null,!0,w.classroom),s+="</div>"}else s+='<div class="text-center m-t-5 m-b-5"><div class="text-h2"><span data-i18n="teacher.no_students_yet"></span></div><div class="text-h4"><span data-i18n="teacher.try_refreshing"></span></div></div>';s+="</div>"}}.call(this,"$"in o?o.$:void 0!==a?a:void 0,"Boolean"in o?o.Boolean:"undefined"!=typeof Boolean?Boolean:void 0,"Date"in o?o.Date:"undefined"!=typeof Date?Date:void 0,"Math"in o?o.Math:"undefined"!=typeof Math?Math:void 0,"_"in o?o._:"undefined"!=typeof _?_:void 0,"context"in o?o.context:"undefined"!=typeof context?context:void 0,"dotClass"in o?o.dotClass:"undefined"!=typeof dotClass?dotClass:void 0,"i18n"in o?o.i18n:"undefined"!=typeof i18n?i18n:void 0,"labelText"in o?o.labelText:"undefined"!=typeof labelText?labelText:void 0,"levelName"in o?o.levelName:"undefined"!=typeof levelName?levelName:void 0,"link"in o?o.link:"undefined"!=typeof link?link:void 0,"me"in o?o.me:"undefined"!=typeof me?me:void 0,"moment"in o?o.moment:"undefined"!=typeof moment?moment:void 0,"state"in o?o.state:"undefined"!=typeof state?state:void 0,"topScore"in o?o.topScore:"undefined"!=typeof topScore?topScore:void 0,"translate"in o?o.translate:"undefined"!=typeof translate?translate:void 0,"value"in o?o.value:"undefined"!=typeof value?value:void 0,"view"in o?o.view:"undefined"!=typeof view?view:void 0,"window"in o?o.window:"undefined"!=typeof window?window:void 0),s}},602620:(e,t,s)=>{var a=s(619755),n=s(477055);e.exports=function(e){var t,r="",o={},i=e||{};return function(a,i,l,c,u,d,p,v,h,f){if(o.clanLeagueStatsMixin=t=function(e,s,o,i){this&&this.block,this&&this.attributes,r+='<div class="ai-league-stats">',e&&e.totalPlayers>1?(r+='<div class="container"><div class="row"><div class="col-xs-12"><h3><span data-i18n="courses.ai_league_team_rankings"></span>',e.totalPlayers&&(r=r+"<span>
2"+n.escape(null==(t=" ("+e.totalPlayers.toLocaleString()+" "+a.i18n.t("play.players")+")")?"":t)+"</span>"),r=r+"<span>"+n.escape(null==(t=" ")?"":t)+"</span>",i&&i.isOwner()&&(r=r+'<a class="view-ai-league text-h6" data-i18n="teacher.view_ai_league_team" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",d.id,!0,!0)+' data-event-action="Teachers Classes View AI League Team"></a>'),r=r+"<span>"+n.escape(null==(t=" ")?"":t)+"</span>",f.features.chinaUx||(r=r+'<a class="ai-league-quickstart-video text-h6" data-i18n="league.quickstart_video" data-event-action="Teachers Classes View AI League Quickstart video" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",d.id,!0,!0)+' href="https://www.youtube.com/watch?v=niKXOofTckEor" target="_blank"></a><a class="ai-league-custom-tournament text-h6" data-i18n="league.custom_tournament_text" href="/league/ladders" target="_blank"></a>'),r+='</h3></div></div><div class="row">',e.arenas&&c.some(e.arenas,(e=>c.some(e,(e=>e.clanPlayers>1||e.topPlayer&&e.topPlayer.percentileRank<.2))))&&(r+='<div class="col-md-7 stats-col"><h4 data-i18n="league.arena_rankings"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.arena_rankings_title;league.arena_rankings_blurb"></span>',function(){var o=e.arenas;if("number"==typeof o.length)for(var i=0,c=o.length;i<c;i++){var u=o[i];(function(){var e=u;if("number"==typeof e.length)for(var o=0,c=e.length;o<c;o++)((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5><a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*l.ceil(p/5)).toFixed(0):p<50?(10*l.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"));else for(var o in c=0,e){var d,p;c++,((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5><a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*l.ceil(p/5)).toFixed(0):p<50?(10*l.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"))}}).call(this)}else for(var i in c=0,o)c++,u=o[i],function(){var e=u;if("number"==typeof e.length)for(var o=0,c=e.length;o<c;o++)((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5>
2<a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*l.ceil(p/5)).toFixed(0):p<50?(10*l.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"));else for(var o in c=0,e){var d,p;c++,((d=e[o]).clanPlayers>1||d.topPlayer&&d.topPlayer.percentileRank<.2)&&(r=r+"<h5><a"+n.attr("href","/play/ladder/"+i+"/clan/"+s,!0,!0)+"><span>"+n.escape(null==(t=a.i18n.t("league."+i.replace(/-/g,"_")))?"":t)+"</span></a>\x3c!--span= ' - ' + $.i18n.t('ladder.bracket_' + age.replace(/-/g, '_'))  // No age bracket display for now--\x3e</h5><div class=\"stat\"><span data-i18n=\"league.competing\"></span><strong><span>"+n.escape(null==(t=" "+d.clanPlayers.toLocaleString()+" ")?"":t)+"</span><span"+n.attr("data-i18n",1==d.clanPlayers?"league.count_student":"league.count_students",!0,!0)+"></span></strong></div>",d.topPlayer&&(r+='<div class="stat"><span data-i18n="league.top_student"></span>',p=(p=100*d.topPlayer.percentileRank)<.1?p.toFixed(2):p<1?p.toFixed(1):p<10?p.toFixed(0):p<25?(5*l.ceil(p/5)).toFixed(0):p<50?(10*l.ceil(p/10)).toFixed(0):null,r=r+"<strong>"+n.escape(null==(t=" "+d.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" (#"+d.topPlayer.globalRank.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.top_of"></span><span>'+n.escape(null==(t=" "+d.totalPlayers.toLocaleString()+" ")?"":t)+'</span><span data-i18n="play.players"></span>',p?r=r+"<span>"+n.escape(null==(t=" - ")?"":t)+'</span><span data-i18n="league.top_percent"></span><span>'+n.escape(null==(t=" "+p+"%)")?"":t)+"</span>":r+="<span>)</span>",r+="</span></div>"))}}.call(this)}.call(this),r+="</div>"),r+='<div class="col-md-5 stats-col">',e.wins&&(e.wins.over100||e.wins.over50)&&(r+='<h4 data-i18n="league.arena_victories"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.arena_victories_title;league.arena_victories_blurb"></span>',(!e.wins.topPlayer||e.wins.total>e.wins.topPlayer.wins)&&(r=r+'<div class="stat"><span data-i18n="league.count_total"></span><strong><span>'+n.escape(null==(t=" "+e.wins.total.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.count_wins"></span></strong></div>'),(e.wins.over100>1||e.wins.over50>1)&&(r+='<div class="stat">',e.wins.over100&&e.wins.over100>e.wins.over50-2&&e.wins.over100>1?r=r+"<span>"+n.escape(null==(t="100+ ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+e.wins.over100+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong>':e.wins.over50>1&&(r=r+"<span>"+n.escape(null==(t="50+ ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+e.wins.over50+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong>'),r+="</div>"),e.wins.topPlayer&&e.wins.topPlayer.name&&(r=r+'<div class="stat"><span data-i18n="league.top_student"></span><strong>'+n.escape(null==(t=" "+e.wins.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>
2'+n.escape(null==(t=" ("+e.wins.topPlayer.wins+" ")?"":t)+'</span><span data-i18n="league.count_wins"></span><span>)</span></span></div>')),e.codePoints&&e.codePoints.total&&(r=r+'<h4 data-i18n="league.codepoints"></h4><span class="small has-tooltip" data-toggle="tooltip" data-i18n="[title]league.codepoints_title;league.codepoints_blurb"></span><div class="stat"><span data-i18n="league.count_total"></span><strong><span>'+n.escape(null==(t=" "+e.codePoints.total.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.codepoints"></span></strong></div>',e.codePoints.over100>1&&(r=r+'<div class="stat"><span>'+n.escape(null==(t="100+ ")?"":t)+'</span><span data-i18n="league.codepoints"></span><span>:</span><strong><span>'+n.escape(null==(t=" "+e.codePoints.over100.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.count_students"></span></strong></div>'),e.codePoints.topPlayer&&e.codePoints.topPlayer.name&&(r=r+'<div class="stat"><span data-i18n="league.top_student"></span><strong>'+n.escape(null==(t=" "+e.codePoints.topPlayer.name)?"":t)+'</strong><span class="stat-details"><span>'+n.escape(null==(t=" ("+e.codePoints.topPlayer.codePoints.toLocaleString()+" ")?"":t)+'</span><span data-i18n="league.codepoints"></span><span>)</span></span></div>')),r+="</div></div></div>"):o&&(r+='<div class="container"><div class="row"><div class="col-xs-12">',e||(r+='<h3 style="display: inline-block;">No AI League stats yet.</h3>'),f.features.chinaUx||(r=r+'<a class="ai-league-quickstart-video text-h6" data-i18n="league.quickstart_video" data-event-action="Teachers Classes View AI League Quickstart video" data-clan-level="teacher"'+n.attr("data-clan-source-object-id",d.id,!0,!0)+' href="https://www.youtube.com/watch?v=niKXOofTckEor" target="_blank"></a><a class="ai-league-custom-tournament text-h6" data-i18n="league.custom_tournament_text" href="/league/ladders" target="_blank"></a>'),r+="</div></div></div>"),r+="</div>"},o.classRow=t=function(e){if(this&&this.block,this&&this.attributes,r=r+'<div class="class row rtl-allowed" dir="auto"><div class="class-details-col rtl-allowed" dir="auto"><div class="text-h4 semibold rtl-allowed" dir="auto">'+n.escape(null==(t=e.get("name"))?"":t)+'</div><div class="language small rtl-allowed" dir="auto"><span data-i18n="teacher.language"></span>:&nbsp;<span class="language-name">'+n.escape(null==(t=e.capitalLanguage)?"":t)+'</span></div>&nbsp;<div class="student-count small rtl-allowed" dir="auto"><span data-i18n="courses.students"></span>:&nbsp;<span>'+n.escape(null==(t=e.get("members").length)?"":t)+"</span></div>",e.getDisplayPermission()&&(r=r+'<div class="shared-access small rtl-allowed" dir="auto">&nbsp;\n&nbsp;<span data-i18n="teacher.permission"></span>:&nbsp;<span>'+n.escape(null==(t=e.getDisplayPermission())?"":t)+"</span></div>"),r=r+'<div class="class-links rtl-allowed" dir="auto"><a class="view-class-btn text-h6" data-i18n="teacher.view_class"'+n.attr("data-classroom-id",e.id,!0,!0)+' data-event-action="Teachers Classes View Class Link"></a>',e.isOwner()&&(r=r+'<a class="view-ai-league text-h6" data-i18n="teacher.view_ai_league_team" data-clan-level="classroom"'+n.attr("data-clan-source-object-id",e.id,!0,!0)+' data-event-action="Teachers Classes View AI League Team"></a>'),e.hasWritePermission()&&(r=r+'<a class="edit-classroom text-h6" data-i18n="teacher.edit_class_settings"'+n.attr("data-classroom-id",e.id,!0,!0)+' data-event-action="Teachers Classes Edit Class Started"></a><a class="archive-classroom text-h6" data-i18n="teacher.archive_class"'+n.attr("data-classroom-id",e.id,!0,!0)+' data-event-action="Teachers Classes Archive Class"></a>'),e.isOwner()&&(r=r+'<a class="share-class text-h6" data-i18n="teacher.share_class"'+n.attr("data-classroom-id",e.id,!0,!0)+' data-event-action="Teachers Share Class"></a>'),r+='</div></div><div class="flex-right"><div class="progress-col">',0==e.get("members").length)o.addStudentsButton(e);else{r+="\x3c!-- TODO: next line has a race condition if classroom loads before courses. For now, made following logic handle nulls.--\x3e";var s=e.getSortedCourses().map((function(e){return h.courses.get(e._id)})),a=h.helper.courseLabelsArray(s);(function(){var t=e.getSortedCourses()||[];if("number"==typeof t.length)for(var s=0,n=t.length;s<n;s++){var r=t[s],i=h.courses.get(r._id),l=a[s];i&&o.progressDot(e,i,l)}else for(var s in n=0,t)n++,r=t[s],i=h.courses.get(r._id),l=a[s],i&&o.progressDot(e,i,l)}).call(this)}r=r+'</div><div class="view-class-arrow"><a class="view-class-arrow-inner glyphicon glyphicon-chevron-right view-class-btn"'+n.attr("data-classroom-id",e.id,!0,!0)+' data-event-action="Teachers Classes View Class Chevron"></a></div></div></div>'},o.addStudentsButton=t=function(e){this&&this.block,this&&this.attributes,r+='<div class="add-students"><div class="text-center"><div class="small-details" data-i18n="teacher.no_students_yet_view_class"></div></div></div>'},o.createClassButton=t=function(){this&&this.block,this&&this.attributes,r+='<div class="create-class"><div class="text-center"><a class="create-classroom-btn btn btn-lg btn-primary" data-i18n="teacher.create_new_class"></a></div></div>'},o.progressDot=t=function(e,t,s){this&&this.block,this&&this.attributes,!(u=h.courseInstances.findWhere({courseID:t.id,classroomID:e.id}))&&h.sharedCourseInstances&&(u=h.sharedCourseInstances.findWhere({courseID:t.id,classroomID:e.id}));var a=e.get("members").length,i=0,l="",d=0;if(u&&!c.isEmpty(u.get("members"))){i=u.numCompleted,d=u.started,v=u.percentLevelCompletion,l=i===a?"forest":d?"gold":"";var p={total:a,complete:i,loading:!u.sessionsLoaded,percentLevelCompletion:v};r=r+"<div"+(n.attr("class",n.classes(["progress-dot",l],[!1,!0]),!1,!0)+n.attr("data-title",h.progressDotTemplate(p),!0,!0))+">",o.progressDotLabel(s),r+="</div>"}},o.progressDotLabel=t=function(e){this&&this.block,this&&this.attributes,r=r+'<div class="dot-label text-h6">
2'+n.escape(null==(t=e)?"":t)+"</div>"},o.archivedClassRow=t=function(e){this&&this.block,this&&this.attributes,r=r+'<div class="class row"><div class="col-xs-10" dir="auto"><span>'+n.escape(null==(t=e.get("name"))?"":t)+'</span></div><div class="col-xs-2"><div class="class-links pull-right" dir="auto"><a class="unarchive-classroom text-h6" data-i18n="teacher.unarchive_class"'+n.attr("data-classroom-id",e.id,!0,!0)+"></a></div></div></div>"},o["teacher-quests"]=t=function(){this&&this.block,this&&this.attributes;var e=null,s=null,a=0,i=0;(function(){var t=h.teacherQuestData;if("number"==typeof t.length)for(var n=0,r=t.length;n<r;n++){var o=t[n];i++,o.complete?(e=o,a++):s||(s=o)}else for(var n in r=0,t)r++,o=t[n],i++,o.complete?(e=o,a++):s||(s=o)}).call(this),e&&(e.lastComplete=!0),s&&(s.nextIncomplete=!0);var c=i?l.round(100*a/i):0;if(h.prepaids.length<1&&d.canManageLicensesViaUI()){if(r=r+'<div class="teacher-quests"><div class="row"><div class="col-sm-3 quests-summary-col"><div class="quest-progress center">'+n.escape(null==(t=c)?"":t)+'%</div><div class="center">',a!=i){r=(r+='<div class="el">')+"<svg"+(n.attr("width",100,!0,!0)+n.attr("height",100,!0,!0))+">";var u=50,p=2*l.PI*u/2;r=r+'<circle class="bottom"'+n.attr("r",u,!0,!0)+n.attr("cx",u,!0,!0)+n.attr("cy",u,!0,!0)+'></circle><circle class="top"'+n.attr("r",25,!0,!0)+n.attr("cx",u,!0,!0)+n.attr("cy",u,!0,!0)+n.attr("style",n.style(`stroke-dasharray: ${p/100*c} ${p}`),!0,!0)+"></circle></svg></div>"}r+='</div><div class="center completion-label" data-i18n="teacher.quests_complete"></div></div><div class="col-sm-9 quests-list-col">',r=a!=i?r+'<h3 data-i18n="teacher.teacher_quest"></h3><strong class="center">'+(null==(t=h.translateWithMarkdown("teacher.teacher_quest_keep_going"))?"":t)+"</strong>":r+'<br><strong class="center">'+(null==(t=h.translateWithMarkdown("teacher.teacher_quest_done"))?"":t)+"</strong>",r+="<ul>",function(){var e=h.teacherQuestData;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++)(n=e[t]).complete?n.lastComplete&&a!=i?(r+='<li class="quest quest-complete">',o.teacherQuest(n,!0),r+="</li>"):(r+='<li class="quest quest-complete hide">',o.teacherQuest(n,!0),r+="</li>"):n.nextIncomplete?(r+='<li class="quest quest-incomplete">',o.teacherQuest(n,!1),r+="</li>"):(r+='<li class="quest quest-incomplete hide">',o.teacherQuest(n,!1),r+="</li>");else for(var t in s=0,e){var n;s++,(n=e[t]).complete?n.lastComplete&&a!=i?(r+='<li class="quest quest-complete">',o.teacherQuest(n,!0),r+="</li>"):(r+='<li class="quest quest-complete hide">',o.teacherQuest(n,!0),r+="</li>"):n.nextIncomplete?(r+='<li class="quest quest-incomplete">',o.teacherQuest(n,!1),r+="</li>"):(r+='<li class="quest quest-incomplete hide">',o.teacherQuest(n,!1),r+="</li>")}}.call(this),r+='</ul><div class="div"><span class="refresh-help" data-i18n="teacher.refresh_to_update"></span><a class="see-all-quests btn btn-primary btn-small pull-right" data-i18n="teacher.teacher_quest_more"></a><a class="see-less-quests btn btn-small btn-primary pull-right" data-i18n="teacher.teacher_quest_less" style="display: none"></a></div></div></div></div>'}},o.teacherQuest=t=function(e,s){this&&this.block,this&&this.attributes,r+='<div class="quest-title">',r=(r+=s?'<span class="glyphicon glyphicon-check"></span>':'<span class="glyphicon glyphicon-unchecked"></span>')+"<span>"+(null==(t=e.title)?"":t)+"</span></div>\x3c!--[!{Math.floor(quest.best*100)}%]--\x3e",(e.steps||[]).length>0&&(r+="<ul>",function(){var a=e.steps||[];if("number"==typeof a.length)for(var n=0,o=a.length;n<o;n++){var i=a[n];r+="<li>",r=(r+=s?'<span class="glyphicon glyphicon-check"></span>':'<span class="glyphicon glyphicon-unchecked"></span>')+"<span>"+(null==(t=i)?"":t)+"</span></li>"}else for(var n in o=0,a)o++,i=a[n],r+="<li>",r=(r+=s?'<span class="glyphicon glyphicon-check"></span>':'<span class="glyphicon glyphicon-unchecked"></span>')+"<span>"+(null==(t=i)?"":t)+"</span></li>"}.call(this),r+="</ul>")},r=r+'<div class="style-flat"><nav id="main-nav">\x3c!-- Will be replaced by Navigation.vue in RootView--\x3e</nav>'+(null==(t=s(830093).call(this,e))?"":t)+'<div id="site-content-area">',!d.isTeacher()&&!d.isAdmin()&&!h.classrooms.size()||d.isAnonymous())r+='<div class="access-restricted container text-center m-y-3"><h5 data-i18n="teacher.access_restricted"></h5><p data-i18n="teacher.teacher_account_required"></p>',d.isAnonymous()?r+='<div class="login-button btn btn-lg btn-primary" data-i18n="login.log_in"></div><button class="btn btn-lg btn-primary-alt create-teacher-btn" data-event-action="Teachers Classes Create Teacher Account" data-i18n="teacher.create_teacher_account"></button>':r+='<button class="btn btn-lg btn-primary update-teacher-btn" data-event-action="Teachers Classes Convert Teacher Account" data-i18n="teachers_quote.convert_account_title"></button><button class="btn btn-lg btn-primary-alt" id="logout-button" data-i18n="login.log_out"></button>',r+='</div><div class="container"><div class="teacher-account-blurb text-center col-xs-6 col-xs-offset-3 m-y-3"><h5 data-i18n="teacher.what_is_a_teacher_account"></h5><p data-i18n="teacher.teacher_account_explanation"></p></div></div>';else{d.isTeacher()||d.isAdmin()||(r+='<div class="alert alert-danger text-center"><div class="container"><h3>ATTENTION: Please upgrade your account to a Teacher Account.</h3><p>We are transitioning to a new improved classroom management system for instructors.\nPlease convert your account to ensure you retain access to your classrooms.</p><button class="btn btn-primary btn-lg update-teacher-btn" data-event-action="Teachers Classes Convert Teacher Account Temp">Upgrade to teacher account</button></div></div>');var m=h.upcomingOfficeHours,g="all"==h.howManyOfficeHours?i:2,y=m.length>2,b=m.slice(0,g);r+='<div id="office-hours">',m.length&&"none"!=h.howManyOfficeHours&&(r+='<div class="update-class rtl-allowed"><button class="close see-no-office-hours" data-dismiss="alert" aria-label="Close"><span aria-hidden>&times;</span></button><div class="alert alert-info text-center rtl-allowed"><strong data-i18n="teacher.office_hours"></strong><div class="small-details rtl-allowed"><span class="spr" data-i18n="teacher.office_hours_detail"></span>\x3c!--a(data-i18n="teacher.office_hours_link" href="https://blog.codecombat.com/live-events/")--\x3e<span data-i18n="teacher.office_hours_link"></span><span class="spl" data-i18n="teacher.office_hours_detail_2"></span></div><ul class="list-group">',function(){var e=b;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];r=r+'<li class="list-group-item"><span class="spr">'+n.escape(null==(t=p(o.time).calendar(null,{sameElse:"ddd MMM D, LT"}))?"":t)+":</span><a"+n.attr("href",o.link,!0,!0)+' target="_blank">'+n.escape(null==(t=o.name)?"":t)+'</a><span class="spl spr" data-i18n="general.with"></span><span>'+n.escape(null==(t=o.host)?"":t)+" ("+n.escape(null==(t=p(o.time).fromNow())?"":t)+")</span></li>"}else for(var s in a=0,e)a++,o=e[s],r=r+'<li class="list-group-item"><span class="spr">'+n.escape(null==(t=p(o.time).calendar(null,{sameElse:"ddd MMM D, LT"}))?"":t)+":</span><a"+n.attr("href",o.link,!0,!0)+' target="_blank">'+n.escape(null==(t=o.name)?"":t)+'</a><span class="spl spr" data-i18n="general.with"></span><span>'+n.escape(null==(t=o.host)?"":t)+" ("+n.escape(null==(t=p(o.time).fromNow())?"":t)+")</span></li>"}.call(this),r+="</ul>","all"==h.howManyOfficeHours&&y?r+='<a class="see-less-office-hours btn btn-small btn-primary pull-right" data-i18n="general.fewer">Fewer</a>':"some"==h.howManyOfficeHours&&y&&(r+='<a class="see-all-office-hours btn btn-primary btn-small pull-right" data-i18n="general.more">More</a>'),r+="</div></div>"),r+="</div>",d.hideOtherProductCTAs()||(r+='<div class="banner-hoc"></div>'),r+='<div class="container">',o["teacher-quests"](),r+='</div><div class="container top-container"><div id="classes-nag-subview"></div>',h.chinaInfra||(r+='<div class="alert alert-warning"><strong data-i18n="teacher.dashboard_deprecation_message"></strong></div>'),r=r+'<h3><span data-i18n="teacher.current_classes"></span><div id="dashboard-toggle" :show-title="true" size="sm"></div><a class="pull-right"'+n.attr("href","/outcomes-report/teacher/"+d.get("_id"),!0,
2!0)+' target="_blank" data-i18n="outcomes.view_outcomes_report"></a></h3></div><div class="classes container">\x3c!-- Loop each owned class--\x3e',function(){var e=h.classrooms.models;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++)(a=e[t]).get("archived")||!a.isOwner()||d.isAdmin()&&a.get("ownerID")!=h.teacherID||o.classRow(a);else for(var t in s=0,e){var a;s++,(a=e[t]).get("archived")||!a.isOwner()||d.isAdmin()&&a.get("ownerID")!=h.teacherID||o.classRow(a)}}.call(this),r+="</div>",c.filter(h.classrooms.models||[],(e=>!e.get("archived")&&e.get("ownerID")!=h.teacherID&&e.hasReadPermission())).length&&(r+='<div class="container"><div id="classes-shared-subview"></div><h3><span data-i18n="teacher.shared_classes"></span></h3></div><div class="classes container">\x3c!-- Loop each shared class--\x3e',function(){var e=h.classrooms.models;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++)(a=e[t]).get("archived")||a.get("ownerID")!=h.teacherID&&a.hasReadPermission()&&o.classRow(a);else for(var t in s=0,e){var a;s++,(a=e[t]).get("archived")||a.get("ownerID")!=h.teacherID&&a.hasReadPermission()&&o.classRow(a)}}.call(this),r+="</div>"),h.administratingTeachers&&h.administratingTeachers.size()>0&&(r+='<div class="container"><div class="school-admin-notification"><span data-i18n="school_administrator.notice"></span>&nbsp;<span>',function(){var e=h.administratingTeachers.models;if("number"==typeof e.length)for(var s=0,a=e.length;s<a;s++){var o=e[s];r=r+n.escape(null==(t=o.get("firstName"))?"":t)+"&nbsp;"+n.escape(null==(t=o.get("lastName"))?"":t)+"&nbsp;\n(<a"+n.attr("href","mailto:"+o.get("email"),!0,!0)+">"+n.escape(null==(t=o.get("email"))?"":t)+"</a>)",s!==h.administratingTeachers.models.length-1&&(r+=",&nbsp;")}else for(var s in a=0,e)a++,o=e[s],r=r+n.escape(null==(t=o.get("firstName"))?"":t)+"&nbsp;"+n.escape(null==(t=o.get("lastName"))?"":t)+"&nbsp;\n(<a"+n.attr("href","mailto:"+o.get("email"),!0,!0)+">"+n.escape(null==(t=o.get("email"))?"":t)+"</a>)",s!==h.administratingTeachers.models.length-1&&(r+=",&nbsp;")}.call(this),r+="</span></div></div>"),o.createClassButton(),o.clanLeagueStatsMixin(h.aiLeagueStats,h.teacherClan?h.teacherClan._id:null,!0,null),d.hideOtherProductCTAs()||d.get("activity")&&d.get("activity")["visit-ozaria"]||(r+='<div class="container try-ozaria"><a data-i18n="teacher.try_ozaria_footer"></a></div>')}var _=h.classrooms.where({archived:!0});c.size(_)&&(r+='<div class="container"><h3 data-i18n="teacher.archived_classes"></h3><p data-i18n="teacher.archived_classes_blurb"></p></div><div class="classes container">',function(){var e=_;if("number"==typeof e.length)for(var t=0,s=e.length;t<s;t++){var a=e[t];o.archivedClassRow(a)}else for(var t in s=0,e)s++,a=e[t],o.archivedClassRow(a)}.call(this),r+="</div>"),r+='<div class="container latest-podcast"><h5 class="text-h5" data-i18n="teacher.from_the_podcast"></h5><div class="podcast-item-container"></div></div></div><footer id="site-footer">\x3c!-- Will be replaced by Footer.vue in RootView--\x3e</footer></div>'}.call(this,"$"in i?i.$:void 0!==a?a:void 0,"Infinity"in i?i.Infinity:1/0,"Math"in i?i.Math:"undefined"!=typeof Math?Math:void 0,"_"in i?i._:"undefined"!=typeof _?_:void 0,"courseInstance"in i?i.courseInstance:"undefined"!=typeof courseInstance?courseInstance:void 0,"me"in i?i.me:"undefined"!=typeof me?me:void 0,"moment"in i?i.moment:"undefined"!=typeof moment?moment:void 0,"percentLevelCompletion"in i?i.percentLevelCompletion:"undefined"!=typeof percentLevelCompletion?percentLevelCompletion:void 0,"view"in i?i.view:"undefined"!=typeof view?view:void 0,"window"in i?i.window:"undefined"!=typeof window?window:void 0),r}},830093:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t="",n=e||{};return function(e,n){var r=e.location.pathname,{ozBaseURL:o}=s(299498);t+='<div id="teacher-dashboard-nav"><nav class="navbar"><div class="container-fluid container"><div class="navbar-header"><button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target="#teacher-dashboard-nav-collapse"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><span class="navbar-brand text-h4" data-i18n="teacher.teacher_dashboard"></span></div><div class="collapse navbar-collapse" id="teacher-dashboard-nav-collapse"><ul class="nav navbar-nav">',n.isSchoolAdmin()&&(t=t+"<li"+a.attr("class",a.classes([0===r.indexOf("/school-administrator")?"active":""],[!0]),!1,!0)+'><a href="/school-administrator"><small class="label" data-i18n="school_administrator.my_teachers"></small></a></li>'),t=t+"<li"+a.attr("class",a.classes([0===r.indexOf("/teachers/classes")?"active":""],[!0]),!1,!0)+'>
2<a class="track-click-event" href="/teachers/classes" data-event-action="Teacher Nav Click My Classes"><small class="label" data-i18n="teacher.my_classes"></small></a></li><li'+a.attr("class",a.classes([0===r.indexOf("/teachers/resources")?"active":""],[!0]),!1,!0)+'><a class="track-click-event" href="/teachers/resources" data-event-action="Teacher Nav Click Resource Hub"><small class="label" data-i18n="teacher.resource_hub"></small></a></li><li'+a.attr("class",a.classes([0===r.indexOf("/teachers/courses")?"active":""],[!0]),!1,!0)+'><a class="track-click-event" href="/teachers/courses" data-event-action="Teacher Nav Click Unit Guides"><small class="label" data-i18n="teacher.courses_coco"></small></a></li>',n.canManageLicensesViaUI()&&(t=t+"<li"+a.attr("class",a.classes([0===r.indexOf("/teachers/licenses")?"active":""],[!0]),!1,!0)+'><a class="track-click-event" href="/teachers/licenses" data-event-action="Teacher Nav Click Student Licenses"><small class="label" data-i18n="teacher.enrollments"></small></a></li>'),t=t+'<li><a class="track-click-event"'+a.attr("href",`${o()}/teachers/professional-development`,!0,!0)+' data-event-action="Teacher Nav Click PD"><small class="label" data-i18n="teacher_dashboard.pd_short"></small></a></li></ul></div></div></nav></div>'}.call(this,"document"in n?n.document:"undefined"!=typeof document?document:void 0,"me"in n?n.me:"undefined"!=typeof me?me:void 0),t}},924685:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n={},r=e||{};return function(e,r,o,i){n["language-select"]=t=function(e,n){this&&this.block;var r=this&&this.attributes||{};s=s+'<div class="my-fancy-select"><select'+a.attrs(r,!0)+">",function(){var r=e;if("number"==typeof r.length)for(var o=0,i=r.length;o<i;o++){var l=r[o];s=s+'<option class="options"'+a.attr("value",l.id,!0,!0)+a.attr("title",l.reason,!0,!0)+a.attr("selected",n===l.id,!0,!0)+a.attr("disabled",l.disabled,!0,!0)+">"+a.escape(null==(t=l.name)?"":t)+"</option>"}else for(var o in i=0,r)i++,l=r[o],s=s+'<option class="options"'+a.attr("value",l.id,!0,!0)+a.attr("title",l.reason,!0,!0)+a.attr("selected",n===l.id,!0,!0)+a.attr("disabled",l.disabled,!0,!0)+">"+a.escape(null==(t=l.name)?"":t)+"</option>"}.call(this),s+="</select></div>"},s+='<div class="form"><div class="form-group select-group code-format-form half-width"><span class="help-block" data-i18n="choose_hero.code_format"></span>',n["language-select"].call({attributes:{id:"option-code-format",name:"code-format"}},r,e),s+='</div><div class="form-group select-group half-width code-language-form"><span class="help-block" data-i18n="choose_hero.programming_language"></span>',n["language-select"].call({attributes:{id:"option-code-language",name:"code-language"}},i,o),s+="</div></div>"}.call(this,"codeFormat"in r?r.codeFormat:"undefined"!=typeof codeFormat?codeFormat:void 0,"codeFormats"in r?r.codeFormats:"undefined"!=typeof codeFormats?codeFormats:void 0,"codeLanguage"in r?r.codeLanguage:"undefined"!=typeof codeLanguage?codeLanguage:void 0,"codeLanguages"in r?r.codeLanguages:"undefined"!=typeof codeLanguages?codeLanguages:void 0),s}},960246:(e,t,s)=>{s(477055),e.exports=function(e){return""+'<div class="popover buy-gems-prompt" role="tooltip"><div class="arrow"></div><h2 data-i18n="earn_gems.prompt_title">Not Enough Gems</h2><p data-i18n="earn_gems.prompt_body">Keep playing to earn more!</p></div>'}},107544:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r,o,i,l){s=s+"<div"+a.attr("class",a.classes(["modal-dialog","codecombat-junior"+(i?" pet-access-beta":"")],[!1,!0]),!1,!0)+'><div class="modal-content"><img src="/images/pages/play/modal/choosehero-background.png" draggable="false" id="play-heroes-background"><img src="/images/pages/play/modal/choosehero-background-600.png" draggable="false" id="play-heroes-background-600"><h1 data-i18n="choose_hero.choose_junior_hero"></h1><div id="gems-count-container"><span id="gems-count"><div class="gem gem-20"></div><span class="spl">'+a.escape(null==(t=r)?"":t)+'</span></span></div><div id="close-modal"><span class="glyphicon glyphicon-remove"></span></div><div class="carousel slide" id="hero-carousel" data-interval="0"><div class="carousel-indicator-container"><ol class="carousel-indicators">',function(){var e=o;if("number"==typeof e.length)for(var t=0,n=e.length;t<n;t++){var r=e[t],l=i&&(r.locked||r.requiresSignup),c=i&&r.requiresSignup;s=s+"<li"+(a.attr("class",a.classes(["hero-indicator hero-index-"+t+(r.locked?" locked":"")+(r.purchasable?" purchasable":"")+(r.restricted?" restricted":"")+(r.silverFrame?" subscribe-unlock ":"")+(r.premium?" premium ":"")+(l?" needs-unlock":"")+(c?" signup-locked":"")+(null!=r.petRow?" pet-row-"+r.petRow+" pet-column-"+r.petColumn:"")],[!0]),!1,!0)+a.attr("data-hero-id",r.get("original"),!0,!0)+a.attr("title",r.name,!0,!0)+a.attr("data-sli
2de-to",t,!0,!0))+' data-target="#hero-carousel"><div class="hero-avatar"></div>',l&&(s+='<img class="lock-indicator" src="/images/pages/game-menu/lock.png" draggable="false" data-i18n="[alt]play.locked" alt="Locked">'),s+="</li>"}else for(var t in n=0,e)n++,r=e[t],l=i&&(r.locked||r.requiresSignup),c=i&&r.requiresSignup,s=s+"<li"+(a.attr("class",a.classes(["hero-indicator hero-index-"+t+(r.locked?" locked":"")+(r.purchasable?" purchasable":"")+(r.restricted?" restricted":"")+(r.silverFrame?" subscribe-unlock ":"")+(r.premium?" premium ":"")+(l?" needs-unlock":"")+(c?" signup-locked":"")+(null!=r.petRow?" pet-row-"+r.petRow+" pet-column-"+r.petColumn:"")],[!0]),!1,!0)+a.attr("data-hero-id",r.get("original"),!0,!0)+a.attr("title",r.name,!0,!0)+a.attr("data-slide-to",t,!0,!0))+' data-target="#hero-carousel"><div class="hero-avatar"></div>',l&&(s+='<img class="lock-indicator" src="/images/pages/game-menu/lock.png" draggable="false" data-i18n="[alt]play.locked" alt="Locked">'),s+="</li>"}.call(this),s+='</ol></div><div class="carousel-inner">',function(){var e=o;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var i=e[n];s=s+"<div"+(a.attr("class",a.classes(["item hero-item"+(i.locked?" locked":"")+(i.purchasable?" purchasable":"")+(i.restricted?" restricted":"")],[!0]),!1,!0)+a.attr("data-hero-id",i.get("original"),!0,!0))+'><canvas class="hero-canvas"></canvas><div class="hero-pose-image"><img draggable="false"></div><div class="hero-stats rtl-allowed" dir="auto"><h2>'+a.escape(null==(t=i.name)?"":t)+"</h2></div></div>"}else for(var n in r=0,e)r++,i=e[n],s=s+"<div"+(a.attr("class",a.classes(["item hero-item"+(i.locked?" locked":"")+(i.purchasable?" purchasable":"")+(i.restricted?" restricted":"")],[!0]),!1,!0)+a.attr("data-hero-id",i.get("original"),!0,!0))+'><canvas class="hero-canvas"></canvas><div class="hero-pose-image"><img draggable="false"></div><div class="hero-stats rtl-allowed" dir="auto"><h2>'+a.escape(null==(t=i.name)?"":t)+"</h2></div></div>"}.call(this),s+='</div><a class="left" role="button" data-slide="prev" href="#hero-carousel"><span class="glyphicon glyphicon-play"></span></a><a class="right" role="button" data-slide="next" href="#hero-carousel"><span class="glyphicon glyphicon-play"></span></a></div><div id="hero-footer">',l&&(l.get("original")?l.restricted?s=s+'<div id="hero-footer-text-background"><div class="image-block"><img src="/images/pages/play/modal/language-selector-background.png"></div></div><div id="restricted-hero-explanation"><h2><span>'+a.escape(null==(t=l.name)?"":t)+'</span><span class="spl" data-i18n="inventory.restricted_title">Restricted</span></h2><span class="spr" data-i18n="choose_hero.restricted_to_certain_heroes">Only certain heroes can play this level.</span></div><button class="btn disabled btn-illustrated" id="restricted-hero-button" data-i18n="inventory.restricted_title">Restricted</button>':l.purchasable?(s+='<div id="hero-footer-text-background"><div class="image-block"><img src="/images/pages/play/modal/language-selector-background.png"></div></div><div id="purchasable-hero-explanation"><h2 data-i18n="choose_hero.available_for_purchase">Available for Purchase</h2></div><button class="btn unlock-button" id="purchase-hero-button"><span class="spr" data-i18n="play.unlock">Unlock</span>',l.get("gems")||(n.error("Huh, we loaded the pet hero with no gem cost."),l.set("gems",99999)),s=s+"<span>"+a.escape(null==(t=l.get("gems"))?"":t)+'</span><span class="gem gem-20"></span></button>'):l.locked?(s+='<div id="hero-footer-text-background"><div class="image-block"><img src="/images/pages/play/modal/language-selector-background.png"></div></div>',s=l.moduleHint?s+'<div class="module-locked" id="locked-hero-explanation"><h2>'+a.escape(null==(t=l.moduleHint)?"":t)+"</h2></div>":s+'<div id="locked-hero-explanation"><h2'+a.attr("data-i18n",l.unlockBySubscribing?"play.subscribe_unlock":"play.subscribers_only",!0,!0)+'></h2><span class="spr subscribers"'+a.attr("data-i18n",l.unlockBySubscribing?"choose_hero.pet_subscribe_blurb":"play.subscriber_gems",!0,!0)+'></span></div><button class="btn subscribe-button" id="subscribe-hero-button"'+a.attr("data-hero-slug",l.get("slug"),!0,!0)+'><span class="spr" data-i18n="subscribe.subscribe_title">Subscribe</span></button>'):l.requiresSignup?s+='<div id="hero-footer-text-background"><div class="image-block"><img src="/images/pages/play/modal/language-selector-background.png"></div></div><div class="signup-required" id="locked-hero-explanation"><h2 data-i18n="choose_hero.sign_up_to_unlock"></h2><span class="spr" data-i18n="choose_hero.sign_up_pet_blurb"></span></div><a id="confirm-button" data-i18n="signup.sign_up" role="button" tabindex="0"></a>':l.loaded&&(s=s+'<div id="hero-footer-text-background"><div class="image-block"><img src="/images/pages/play/modal/language-selector-background.png"></div></div><div id="change-language-tab-view"></div><a id="confirm-button"'+a.attr("data-i18n",e,!0,!0)+' role="button" tabindex="0"></a>'):s+='<div id="loading-hero-explanation"><h2 data-i18n="common.loading">Loading...</h2></div>'),s+="</div></div></div>"}
2.call(this,"confirmButtonI18N"in n?n.confirmButtonI18N:"undefined"!=typeof confirmButtonI18N?confirmButtonI18N:void 0,"console"in n?n.console:"undefined"!=typeof console?console:void 0,"gems"in n?n.gems:"undefined"!=typeof gems?gems:void 0,"heroes"in n?n.heroes:"undefined"!=typeof heroes?heroes:void 0,"inPetAccessBeta"in n?n.inPetAccessBeta:"undefined"!=typeof inPetAccessBeta?inPetAccessBeta:void 0,"visibleHero"in n?n.visibleHero:"undefined"!=typeof visibleHero?visibleHero:void 0),s}},846090:(e,t,s)=>{s(477055),e.exports=function(e){return""+'<div class="popover buy-gems-prompt" role="tooltip"><div class="arrow"></div><h2 data-i18n="subscribe_for_gems.prompt_title">Not Enough Gems!</h2><p data-i18n="subscribe_for_gems.prompt_body">Subscribe to Premium to get gems and access to even more levels!</p><a class="start-subscription-button btn btn-lg btn-illustrated btn-success" data-i18n="subscribe.subscribe_title">Subscribe</a></div>'}},723731:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n){s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let r=n.utils&&n.utils.isOzaria;s=s+"<div"+a.attr("class",a.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+a.attr("class",a.classes(["modal-content","style-flat",r?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',n.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),s=s+'<div class="text-center"><h3 data-i18n="teacher.how_to_assign_courses"></h3></div></div><div class="modal-body"><p data-i18n="teacher.unused_licenses"></p><div class="instructions"><div class="row"><div class="col-xs-6"><h5>1.<span data-i18n="teacher.select_students"></span></h5><p class="small" data-i18n="teacher.select_instructions"></p></div><div class="col-xs-6"><img class="size-by-height" src="/images/pages/modal/assign-courses/select_students.gif"></div></div><div class="row"><div class="col-xs-6"><h5>2.<span data-i18n="teacher.choose_course"></span></h5><p class="small" data-i18n="teacher.choose_instructions"></p></div><div class="col-xs-6"><img class="size-by-width" src="/images/pages/modal/assign-courses/select_courses.gif"></div></div><p class="small italic">'+(null==(t=e("teacher.push_projects").replace("{{resource_hub}}",'<a href="/teachers/resources">'+e("nav.resource_hub")+"</a>"))?"":t)+'</p></div></div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"><button class="btn btn-primary" type="button" data-dismiss="modal" aria-hidden="true" data-i18n="modal.okay">Okay</button></div></div></div>'}.call(this,"translate"in n?n.translate:"undefined"!=typeof translate?translate:void 0,"view"in n?n.view:"undefined"!=typeof view?view:void 0),s}},536316:(e,t,s)=>{s(477055),e.exports=function(e){return""+'<div class="text-center"><div class="alert alert-info" style="display: inline-block"><span style="padding-right: 20px" data-i18n="teacher.remember_new_courses"> </span><a class="btn btn-primary pull-right more-info" data-i18n="teacher.more_info"></a></div></div>'}},795643:(e,t,s)=>{var a=s(619755),n=s(477055);e.exports=function(e){var t,s="",r=e||{};return function(e,a,r,o,i,l,c){s+="\x3c!-- this allows the extended templates to add class to .modal-dialog--\x3e";let u=c.utils&&c.utils.isOzaria;s=s+"<div"+n.attr("class",n.classes(["modal-dialog",""],[!1,!0]),!1,!0)+"><div"+n.attr("class",n.classes(["modal-content","style-flat",u?"style-ozaria":""],[!1,!1,!0]),!1,!0)+' id="modal-base-flat"><div class="modal-header">',c.closeButton&&(s+='<div class="button close" type="button" data-dismiss="modal" aria-hidden="true">&times;</div>'),s=s+'<h3><span class="spr" data-i18n="teacher.edit_2"></span><span>'+n.escape(null==(t=c.user.broadName())?"":t)+'</span></h3></div><div class="modal-body">';var d=c.user.prepaidNumericalCourses(),p=c.user.activeProducts("course");if(c.user.prepaidType("includeCourseIDs"),s+='<div class="text-center"><div class="license-details"><strong data-i18n="teacher.license_status"></strong><span class="spr">:</span><div class="small-details">',d===c.utils.courseNumericalStatus.NO_ACCESS)s+='<span data-i18n="teacher.status_not_enrolled"></span>';else{if(d===c.utils.courseNumericalStatus.FULL_ACCESS?s+='<span data-i18n="teacher.full_license"></span>':s=s+"<span>"+n.escape(null==(t=c.user.prepaidType("includeCourseIDs"))?"":t)+"</span>",s+='<span class="expires">(</span>',1==p.length){var v=e.t("teacher.status_enrolled");s=s+"<span>"+n.escape(null==(t=v.replace("{{date}}",i(p[0].endDate).format("ll")))?"":t)+"</span>"}else{v=e.t("teacher.status_partly_expires");var h=r.min(p.map((e=>new a(e.endDate))));s=s+"<span>"+n.escape(null==(t=v.replace("{{date}}",i(h).format("ll")))?"":t)+'</span><div class="more">?</div><div class="details">',function(){var e=p;if("number"==typeof e.length)for(var a=0,r=e.length;a<r;a++){var o=e[a];s=s+"<p>"+n.escape(null==(t=c.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}else for(var a in r=0,e)r++,o=e[a],s=s+"<p>"+n.escape(null==(t=c.utils.formatStudentSingleLicenseStatusDate(o))?"":t)+"</p>"}
2.call(this),s+="</div>"}s+="<span>)</span>"}s+="</div>",0===d&&o.canManageLicensesViaUI()?(s+='<div class="small-details">',0===c.prepaids.totalAvailable()?s+='<button class="enroll-student-btn btn btn-navy disabled" data-i18n="teacher.apply_license"></button><div class="small-details not-enough-enrollments"><span data-i18n="teacher.not_enough_enrollments"></span></div>':s+='<button class="enroll-student-btn btn btn-navy" data-i18n="teacher.apply_license"></button>',s+="</div>"):o.canRevokeLicensesViaUI()&&(s+='<div class="small-details"><button class="revoke-student-btn btn btn-burgundy-alt" data-i18n="teacher.revoke_license"></button></div>'),s+='</div><div class="edit-student-details"><strong data-i18n="teacher.student_details"></strong><span class="spr">:</span><div class="small-details"><span data-i18n="teacher.student_name"></span><span class="spr">:</span>',c.user.get("firstName")&&c.user.get("lastName")?s=s+"<span>"+n.escape(null==(t=c.user.get("firstName"))?"":t)+'</span><span class="spl">'+n.escape(null==(t=c.user.get("lastName"))?"":t)+"</span>":s+='<i data-i18n="teacher.no_name"></i>',s+='</div><div class="small-details"><span data-i18n="general.username"></span><span class="spr">:</span>',c.user.get("name")?s=s+"<span>"+n.escape(null==(t=c.user.get("name"))?"":t)+"</span>":s+='<i data-i18n="teacher.no_username"></i>',s+='</div><div class="small-details"><span data-i18n="general.email"></span><span class="spr">:</span>',c.user.get("email")?s=s+"<a"+n.attr("href","mailto:"+c.user.get("email"),!0,!0)+"><span>"+n.escape(null==(t=c.user.get("email"))?"":t)+"</span></a>":s+='<i data-i18n="teacher.no_email"></i>',s=(s+="</div></div>")+'<div class="m-b-1"><strong data-i18n="teacher.enter_new_password_below"></strong></div><div'+n.attr("class",n.classes(["m-b-2","form-group",l.get("errorMessage")?"has-error":""],[!1,!1,!0]),!1,!0)+'><input class="new-password-input" placeholder="type a new password here"'+n.attr("value",l.get("newPassword"),!0,!0)+'><br><small class="form-text text-muted" data-i18n="signup.password_requirements"></small><div class="help-block error-help-block m-t-1 small"><span>'+n.escape(null==(t=l.get("errorMessage"))?"":t)+"</span></div></div>",l.get("passwordChanged")?s+='<button class="change-password-btn btn btn-lg btn-primary uppercase disabled"><span data-i18n="teacher.changed"></span></button>':s+='<button class="change-password-btn btn btn-lg btn-primary uppercase"><span data-i18n="teacher.change_password"></span></button>',s+='</div></div><div class="modal-body wait secret"><h3>Loading...</h3><div class="progress progress-striped active"><div class="progress-bar"></div></div></div><div class="modal-footer"><button class="btn btn-primary" type="button" data-dismiss="modal" aria-hidden="true">',l.get("passwordChanged")||l.get("emailSent")?s+='<span data-i18n="modal.close"></span>':s+='<span data-i18n="common.cancel"></span>',s+="</button></div></div></div>"}.call(this,"$"in r?r.$:void 0!==a?a:void 0,"Date"in r?r.Date:"undefined"!=typeof Date?Date:void 0,"_"in r?r._:"undefined"!=typeof _?_:void 0,"me"in r?r.me:"undefined"!=typeof me?me:void 0,"moment"in r?r.moment:"undefined"!=typeof moment?moment:void 0,"state"in r?r.state:"undefined"!=typeof state?state:void 0,"view"in r?r.view:"undefined"!=typeof view?view:void 0),s}},616429:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r,o,i,l,c,u){c&&(s+='<span class="text-uppercase small-details" data-i18n="teacher.practice"></span>'),u?(s=s+'<div class="small-details nowrap"><span>'+a.escape(null==(t=r)?"":t)+'</span><span class="spr">. </span><span>'+a.escape(null==(t=n)?"":t)+'</span></div><div class="small-details nowrap"><div class="fraction-students small-details">'+a.escape(null==(t=i)?"":t)+"/"+a.escape(null==(t=l)?"":t),s+=e?'<span class="spl" data-i18n="teacher.completed"></span>':'<span class="spl" data-i18n="teacher.started"></span>',s+="</div></div>"):s=s+'<div class="small-details nowrap"><span>'+a.escape(null==(t=r)?"":t)+'</span><span class="spr">. </span><span>'+a.escape(null==(t=n)?"":t)+'</span></div><span class="small-details nowrap" data-i18n="teacher.no_progress"></span>',o&&(s+='<div class="small-details nowrap"><span> (</span><span data-i18n="play.locked"></span><span>)</span></div>')}
2.call(this,"completed"in n?n.completed:"undefined"!=typeof completed?completed:void 0,"levelName"in n?n.levelName:"undefined"!=typeof levelName?levelName:void 0,"levelNumber"in n?n.levelNumber:"undefined"!=typeof levelNumber?levelNumber:void 0,"locked"in n?n.locked:"undefined"!=typeof locked?locked:void 0,"numStarted"in n?n.numStarted:"undefined"!=typeof numStarted?numStarted:void 0,"numStudents"in n?n.numStudents:"undefined"!=typeof numStudents?numStudents:void 0,"practice"in n?n.practice:"undefined"!=typeof practice?practice:void 0,"started"in n?n.started:"undefined"!=typeof started?started:void 0),s}},191935:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r,o,i){n?s+='<div class="certificate-link"><img src="/images/pages/user/certificates/certificate-icon.png" width="62" height="52"><span class="small-details" data-i18n="user.certificate_click_to_view"></span></div>':i?s=s+'<div class="fraction-students small-details">'+a.escape(null==(t=r)?"":t)+"/"+a.escape(null==(t=o)?"":t)+'<span class="spl" data-i18n="nav.play">Levels</span></div><div class="percent-students small-details">'+a.escape(null==(t=e.floor(r/o*100))?"":t)+'%<span class="spl" data-i18n="clans.complete_2">Complete</span></div>':s+='<span class="small-details" data-i18n="teacher.assigned">Assigned</span>'}.call(this,"Math"in n?n.Math:"undefined"!=typeof Math?Math:void 0,"completed"in n?n.completed:"undefined"!=typeof completed?completed:void 0,"levelsCompleted"in n?n.levelsCompleted:"undefined"!=typeof levelsCompleted?levelsCompleted:void 0,"levelsTotal"in n?n.levelsTotal:"undefined"!=typeof levelsTotal?levelsTotal:void 0,"started"in n?n.started:"undefined"!=typeof started?started:void 0),s}},74371:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n={},r=e||{};return function(e,r,o,i,l,c,u,d,p,v,h,f,m,g,y,b,_,w,k){if(f&&(s+='<span class="text-uppercase small-details spr" data-i18n="teacher.practice"></span>'),n.timePlayed=t=function(){this&&this.block,this&&this.attributes,g.playtime>0&&(s=s+'<div class="small-details nowrap"> <span data-i18n="teacher.time_played_label"></span>'+a.escape(null==(t=" ")?"":t)+'<span class="spr" data-i18n="teacher.time_played"></span><span>'+a.escape(null==(t=h.duration({seconds:g.playtime}).humanize())?"":t)+"</span></div>")},n.header=t=function(){this&&this.block,this&&this.attributes,s+='<strong class="small-details nowrap">',r?(s+="cumulative"===r?'<span data-i18n="play_level.combo_challenge"></span>':'<span data-i18n="play_level.concept_challenge"></span>',s+=a.escape(null==(t=": ")?"":t)):(s=s+'<span data-i18n="teacher.level_label"></span>'+a.escape(null==(t=" ")?"":t),p&&(s=s+"<span>"+a.escape(null==(t=p)?"":t)+'</span><span class="spr">. </span>')),s=s+"<span>"+a.escape(null==(t=d)?"":t)+"</span></strong>"},n.assessmentLines=t=function(){this&&this.block,this&&this.attributes,"open-ended"===r||"cumulative"===r?(s+='<div class="small-details nowrap"><span data-i18n="teacher.concepts_used"></span></div>',i&&function(){var e=i;if("number"==typeof e.length)for(var n=0,r=e.length;n<r;n++){var o=e[n];s+='<div class="small-details">',l&&l[o.id]&&"success"===l[o.id].status?s+='<i class="glyphicon glyphicon-ok"></i>':s+='<i class="glyphicon glyphicon-remove"></i>',s=s+a.escape(null==(t=" ")?"":t)+"<span"+a.attr("data-i18n","concepts."+o.concepts[0],!0,!0)+"></span></div>"}else for(var n in r=0,e)r++,o=e[n],s+='<div class="small-details">',l&&l[o.id]&&"success"===l[o.id].status?s+='<i class="glyphicon glyphicon-ok"></i>':s+='<i class="glyphicon glyphicon-remove"></i>',s=s+a.escape(null==(t=" ")?"":t)+"<span"+a.attr("data-i18n","concepts."+o.concepts[0],!0,!0)+"></span></div>"}.call(this)):s=s+'<div class="small-details nowrap"><span data-i18n="teacher.concept_checked"></span></div><em class="small-details"><span'+a.attr("data-i18n","concepts."+m,!0,!0)+"></span></em>"},o){n.header(),b&&(s+='<br><strong class="small-details">',w=_("leaderboard."+e.string.underscored(b.type)),k=_("leaderboard.score_display",{score:b.score.toFixed(0),scoreType:w}),s+='<span data-i18n="teacher.success"></span>',b.thresholdAchieved&&(s=s+'<img class="threshold-icon"'+a.attr("src","/images/pages/courses/star-"+b.thresholdAchieved+".png",!0,!0)+">"),s=s+a.escape(null==(t=" ")?"":t)+"<span>("+a.escape(null==(t=k)?"":t)+")</span></strong>"),s=s+'<div class="small-details nowrap"><span data-i18n="teacher.completed"></span>'+a.escape(null==(t=": ")?"":t);var C=g.dateFirstCompleted||g.created||g.changed;C&&(s=s+"<span>"+a.escape(null==(t=h(C).format("lll"))?"":t)+"</span>
2"),n.timePlayed(),s+="</div>",r&&n.assessmentLines(),u||c||(s+='<div class="small-details nowrap m-t-1"><div class="student-code" data-i18n="teacher.view_student_code"></div></div>')}else y?(n.header(),s=s+'<div class="small-details nowrap"><span data-i18n="user.last_played"></span>'+a.escape(null==(t=": ")?"":t)+"<span>"+a.escape(null==(t=h(g.changed).format("lll"))?"":t)+"</span>",n.timePlayed(),s+="</div>",r&&n.assessmentLines(),u||c||(s+='<div class="small-details nowrap m-t-1"><div class="student-code" data-i18n="teacher.view_student_code"></div></div>')):(n.header(),f?s+='<div class="small-details nowrap" data-i18n="teacher.not_required"></div>':(s+='<div class="small-details nowrap" data-i18n="teacher.no_progress"></div>',v&&(s+='<div class="small-details nowrap"><span> (</span><span data-i18n="play.locked"></span><span>)</span></div>')))}.call(this,"_"in r?r._:"undefined"!=typeof _?_:void 0,"assessment"in r?r.assessment:"undefined"!=typeof assessment?assessment:void 0,"completed"in r?r.completed:"undefined"!=typeof completed?completed:void 0,"conceptGoals"in r?r.conceptGoals:"undefined"!=typeof conceptGoals?conceptGoals:void 0,"goalStates"in r?r.goalStates:"undefined"!=typeof goalStates?goalStates:void 0,"isLadder"in r?r.isLadder:"undefined"!=typeof isLadder?isLadder:void 0,"isProject"in r?r.isProject:"undefined"!=typeof isProject?isProject:void 0,"levelName"in r?r.levelName:"undefined"!=typeof levelName?levelName:void 0,"levelNumber"in r?r.levelNumber:"undefined"!=typeof levelNumber?levelNumber:void 0,"locked"in r?r.locked:"undefined"!=typeof locked?locked:void 0,"moment"in r?r.moment:"undefined"!=typeof moment?moment:void 0,"practice"in r?r.practice:"undefined"!=typeof practice?practice:void 0,"primaryConcept"in r?r.primaryConcept:"undefined"!=typeof primaryConcept?primaryConcept:void 0,"session"in r?r.session:"undefined"!=typeof session?session:void 0,"started"in r?r.started:"undefined"!=typeof started?started:void 0,"topScore"in r?r.topScore:"undefined"!=typeof topScore?topScore:void 0,"translate"in r?r.translate:"undefined"!=typeof translate?translate:void 0,"translatedScoreType"in r?r.translatedScoreType:"undefined"!=typeof translatedScoreType?translatedScoreType:void 0,"translation"in r?r.translation:"undefined"!=typeof translation?translation:void 0),s}},307158:(e,t,s)=>{var a=s(477055);e.exports=function(e){var t,s="",n=e||{};return function(e,n,r,o,i){r?s+='<span class="small-details" data-i18n="common.loading">Loading...</span>':i?s=s+'<div class="fraction-students small-details">'+a.escape(null==(t=n)?"":t)+"/"+a.escape(null==(t=i)?"":t)+'<span class="spl" data-i18n="courses.students">Students</span></div><div class="percent-students small-details">'+a.escape(null==(t=o||e.floor(n/i*100))?"":t)+'%<span class="spl" data-i18n="clans.complete_2">Complete</span></div>':s+='<span class="small-details" data-i18n="teacher.no_progress">No Progress</span>'}.call(this,"Math"in n?n.Math:"undefined"!=typeof Math?Math:void 0,"complete"in n?n.complete:"undefined"!=typeof complete?complete:void 0,"loading"in n?n.loading:"undefined"!=typeof loading?loading:void 0,"percentLevelCompletion"in n?n.percentLevelCompletion:"undefined"!=typeof percentLevelCompletion?percentLevelCompletion:void 0,"total"in n?n.total:"undefined"!=typeof total?total:void 0),s}},866213:(e,t,s)=>{var a=s(324021);"string"==typeof a&&(a=[[e.id,a,""]]),s(614246)(a,{}),a.locals&&(e.exports=a.locals)},244780:(e,t,s)=>{"use strict";s.r(t),s.d(t,{__esModule:()=>n.X,default:()=>o});var a=s(987415),n=s(869139);const r=n.Z,o=(0,s(551900).Z)(r,a.sY,a.xk,!1,null,"738e6e52",null).exports},44963:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n});var a=s(974544);s(866213);const n=(0,s(551900).Z)({},a.sY,a.xk,!1,null,"c21e5bcc",null).exports},358318:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var a=s(406684);const n=s(575097).Z,r=(0,s(551900).Z)(n,a.sY,a.xk,!1,null,"7605f4ee",null).exports},893211:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n});var a=s(793013);const n=(0,s(551900).Z)({},a.sY,a.xk,!1,null,"272237c3",null).exports},477387:(e,t,s)=>{"use strict";s.d(t,{default:()=>o});var a=s(141523),n=s(11942);const r=s.n(n)();s(343925);const o=(0,s(551900).Z)(r,a.sY,a.xk,!1,null,"465e8909",null).exports},968955:(e,t,s)=>{"use strict";s.d(t,{default:()=>o});var a=s(22393),n=s(313818);const r=s.n(n)();s(210427);const o=(0,s(551900).Z)(r,a.sY,a.xk,!1,null,null,null).exports},642085:(e,t,s)=>{"use strict";s.d(t,{default:()=>o});var a=s(713425),n=s(929443);const r=s.n(n)();s(717739);const o=(0,s(551900).Z)(r,a.sY,a.xk,!1,null,"b9e45684",null).exports},580973:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>o});var a=s(67076),n=s(473408),r={};for(const e in n)"default"!==e&&(r[e]=()=>n[e]);s.d(t,r),s(214371);const o=(0,s(551900).Z)(n.default,a.sY,a.xk,!1,null,null,null).exports},749873:(e,t,s)=>{"use strict";s.r(t),s.d(t,{__esModule:()=>n.X,default:()=>o});var a=s(488942),n=s(105305);const r=n.Z,o=(0,s(551900).Z)(r,a.sY,a.xk,!1,null,"f4bbb468",null).exports},607516:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var a=s(586166);const n=s(181856).Z,r=(0,s(551900).Z)(n,a.sY,a.xk,!1,null,"7aca250d",null).exports},575378:(e,t,s)=>{"use strict";s.r(t),s.d(t,{__esModule:()=>n.X,default:()=>o});
2var a=s(516621),n=s(821617);const r=n.Z,o=(0,s(551900).Z)(r,a.sY,a.xk,!1,null,"5373e846",null).exports},67076:(e,t,s)=>{"use strict";s.d(t,{sY:()=>a.sY,xk:()=>a.xk});var a=s(303834)},473408:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>o});var a=s(449086),n=s.n(a),r={};for(const e in a)"default"!==e&&(r[e]=()=>a[e]);s.d(t,r);const o=n()},214371:(e,t,s)=>{"use strict";s(347664)},938869:(e,t,s)=>{var a=s(870186);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("02e468ab",a,!0,{})},802186:(e,t,s)=>{var a=s(632825);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("5e24c32b",a,!0,{})},876175:(e,t,s)=>{var a=s(980593);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("e6f3c8ea",a,!0,{})},897606:(e,t,s)=>{var a=s(955515);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("a7b5cbbe",a,!0,{})},360898:(e,t,s)=>{var a=s(359640);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("0263a0aa",a,!0,{})},170010:(e,t,s)=>{var a=s(508955);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("07d2446f",a,!0,{})},526550:(e,t,s)=>{var a=s(532147);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("7683804b",a,!0,{})},110299:(e,t,s)=>{var a=s(623988);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("04f6802a",a,!0,{})},480732:(e,t,s)=>{var a=s(875185);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("092c546b",a,!0,{})},680290:(e,t,s)=>{var a=s(962365);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("17ec7106",a,!0,{})},862651:(e,t,s)=>{var a=s(74949);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("b7f92a32",a,!0,{})},235432:(e,t,s)=>{var a=s(900806);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("02cb7514",a,!0,{})},767959:(e,t,s)=>{var a=s(586804);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("24ab0e28",a,!0,{})},343925:(e,t,s)=>{var a=s(912355);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("c9b2d0fc",a,!0,{})},210427:(e,t,s)=>{var a=s(941172);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("94a25074",a,!0,{})},717739:(e,t,s)=>{var a=s(113817);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("45aa2991",a,!0,{})},347664:(e,t,s)=>{var a=s(242383);a.__esModule&&(a=a.default),"string"==typeof a&&(a=[[e.id,a,""]]),a.locals&&(e.exports=a.locals),(0,s(745346).Z)("ff26639a",a,!0,{})}}]);
3//# sourceMappingURL=courses-3d8f034438b8d42ea452.bundle.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.