1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7052],{14786:(e,t,o)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/course/[...params]",function(){return o(73407)}])},73407:(e,t,o)=>{"use strict";o.r(t),o.d(t,{__N_SSP:()=>ea,default:()=>el});var n=o(45797),r=o(46157),s=o(45648),i=o.n(s),a=o(20264);let l=(0,r.AH)("html,body{width:100%;height:100%;margin:0;min-height:590px;min-width:1024px;}*{box-sizing:border-box;}body,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td,form,fieldset,legend,input,textarea,button,select{font-family:NanumGothic,HelveticaNeue,AppleSDGothicNeo-Regular,sans-serif;}#SoundJSFlashContainer{top:0px;left:0px;width:0px;height:0px;}#__next{height:100%;.workspace.entry{top:-1px;div,text{user-select:none;}.entryVimBoard div{user-select:auto;}}}$blur-width:200px;$blur-size:$blur-width 100%;$stage-position:20px 18px;$stage-width:250px;$stage-height:198px;$stage-skeleton:linear-gradient(#f2f2f2 $stage-height,transparent 0);$property-btn-left:20px;$property-btn-width:26px;$property-btn-height:38px;$property-btn-skeleton:linear-gradient(#f2f2f2 $property-btn-height,transparent 0);$object-left:56px;$object-width:214px;$object-height:60px;$object-skeleton:linear-gradient(#f2f2f2 $object-height,transparent 0);$category-left:290px;$category-width:62px;$category-height:52px;$category-skeleton:linear-gradient(#f2f2f2 $category-height,transparent 0);$menu-top:28px;$menu-width:62px;$menu-height:42px;$menu-skeleton:linear-gradient(#f2f2f2 $menu-height,transparent 0);$button-top:18px;$button-width:42px;$button-height:42px;$button-skeleton:linear-gradient(#f2f2f2 $button-height,transparent 0);$blockmenu-position:362px 80px;$blockmenu-width:200px;$blockmenu-height:588px;$blockmenu-skeleton:linear-gradient(#f2f2f2 $blockmenu-height,transparent 0);$playground-position:582px 80px;$playground-width:100%;$playground-height:588px;$playground-skeleton:linear-gradient(#f2f2f2 $playground-height,transparent 0);$scene-background-position:0px 0px;$scene-background-width:100%;$scene-background-height:37px;$scene-background-skeleton:linear-gradient(#d8d8d8 $scene-background-height,transparent 0);$scene-btn-position:20px 0px;$scene-btn-width:102px;$scene-btn-height:370px;$scene-btn-skeleton:linear-gradient(white $scene-btn-height,transparent 0);$scene-text-position:30px 11px;$scene-text-width:57px;$scene-text-height:15px;$scene-text-skeleton:linear-gradient(#e2e2e2 $scene-btn-height,transparent 0);.ws{background:white;.header{height:43px;background-color:#d8d8d8;}.workspace{background:white;&:empty{overflow:hidden;position:absolute;left:0;right:0;top:0;bottom:0;}&:empty::before{content:'';display:block;width:100%;height:37px;background-image:$scene-text-skeleton,$scene-btn-skeleton,$scene-background-skeleton;background-size:$scene-text-width $scene-text-height,$scene-btn-width $scene-btn-height,$scene-background-width $scene-background-height;background-position:$scene-text-position,$scene-btn-position,$scene-background-position;background-repeat:no-repeat;}&:empty::after{z-index:1000;content:'';display:block;width:calc(100% - 20px);height:100%;background-image:linear-gradient(\n 90deg,rgba(white,0) 0,rgba(white,0.8) 50%,rgba(white,0) 100%\n ),$stage-skeleton,$property-btn-skeleton,$property-btn-skeleton,$property-btn-skeleton,$object-skeleton,$object-skeleton,$object-skeleton,$object-skeleton,$object-skeleton,$object-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$category-skeleton,$menu-skeleton,$menu-skeleton,$menu-skeleton,$button-skeleton,$button-skeleton,$blockmenu-skeleton,$playground-skeleton;background-size:$blur-size,$stage-width $stage-height,$property-btn-width $property-btn-height,$property-btn-width $property-btn-height,$property-btn-width $property-btn-height,$object-width $object-height,$object-width $object-height,$object-width $object-height,$object-width $object-height,$object-width $object-height,$object-width $object-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$category-width $category-height,$menu-width $menu-height,$menu-width $menu-height,$menu-width $menu-height,$button-width $button-height,$button-width $button-height,$blockmenu-width $blockmenu-height,$playground-width $playground-height;background-position:-150% 0,$stage-position,$property-btn-left 238px,$property-btn-left 286px,$property-btn-left 334px,$object-left 238px,$object-left 308px,$object-left 378px,$object-left 448px,$object-left 518px,$object-left 588px,$category-left 18px,$category-left 80px,$category-left 142px,$category-left 204px,$category-left 266px,$category-left 328px,$category-left 390px,$category-left 452px,$category-left 514px,$category-left 576px,360px $menu-top,430px $menu-top,500px $menu-top,right 52px top $button-top,right 0 top $button-top,$blockmenu-position,$playground-position;background-repeat:no-repeat;animation:loading 4s infinite;}}.blockMenu{min-width:600px;}.uploadInput{display:none;}}.modal{position:absolute;z-index:9990;left:0;top:0;bottom:0;right:0;display:none;}@keyframes loading{to{background-position:350% 0,$stage-position,$property-btn-left 238px,$property-btn-left 286px,$property-btn-left 334px,$object-left 238px,$object-left 308px,$object-left 378px,$object-left 448px,$object-left 518px,$object-left 588px,$category-left 18px,$category-left 80px,$category-left 142px,$category-left 204px,$category-left 266px,$category-left 328px,$category-left 390px,$category-left 452px,$category-left 514px,$category-left 576px,360px $menu-top,430px $menu-top,500px $menu-top,right 52px top $button-top,right 0 top $button-top,$blockmenu-position,$playground-position,$scene-btn-position;}}.practical_course_mode{.workspace_button_group .workspace_divider{background-color:#fff;}.entryMouseViewWorkspace_w{color:#8274ff;}.entrySpeedButtonWorkspace.on{background-image:url(../../images/practical/speed_edit_on.png);}.entryCoordinateButtonWorkspace_w.toggleOn{background-image:url(../../images/practical/layers_icon_grid_nor.png);}}.entryPopupHelperWindow{.entryPopupHelperWrapper{.entryPopupHelperTitle{background:#2a7def;height:57px;min-width:240px;color:#fff;font-size:20px;line-height:57px;padding-left:20px;border-top-left-radius:5px;border-top-right-radius:5px;}}.newVersion,.hwDownload{width:494px;.contentArea{text-align:center;background-color:#fff;border-bottom-left-radius:5px;border-bottom-right-radius:5px;padding:20px;.textArea{color:#2b2b2b;.text1{margin-top:40px;font-size:24px;line-height:24px;}.text2{margin-top:7px;font-size:24px;line-height:24px;}.text3{color:#9e9e9f;margin-top:17px;font-size:16px;}.text4{color:#9e9e9f;margin-bottom:32px;font-size:16px;}}.popupDefaultBtn{cursor:pointer;height:52px;width:191px;font-size:16px;border-radius:2px;overflow:hidden;display:inline-block;line-height:52px;font-size:16px;cursor:pointer;margin-bottom:34px;.download_icon{content:' ';width:14px;
1height:17px;margin-left:7px;vertical-align:middle;display:inline-block;background-image:url('/img/assets/popup/workspace/btn_down.png');}}.popupCancelBtn{background:#dbdbdb;margin-right:8px;color:#9e9e9f;}.popupOkBtn{background:#6e5ae6;margin-left:7px;color:#fff;}}}.workspaceFailed{.contentArea{position:relative;background:url('/img/assets/popup/workspace/fail_bg.png');width:441px;height:429px;padding-top:17px;.workspaceFailedCloseBtn{position:absolute;background:url('/img/assets/popup/workspace/fail_close.png');cursor:pointer;top:16px;right:16px;width:21px;height:21px;}.workspaceFailedTitle{font-size:27px;font-weight:bold;line-height:35px;font-family:NanumGothic !important;color:#2a7def;text-align:center;margin-bottom:7px;}.workspaceFailedSubTitle{font-size:15px;line-height:20px;font-family:NanumGothic !important;color:#000000;text-align:center;}}}.workspaceSpinner{.workspaceSpinnerTitle{position:relative;background:url('/img/assets/popup/workspace/suc_txt_bg.png');width:367px;height:90px;font-size:27px;font-weight:bold;line-height:27px;font-family:NanumGothic !important;color:#2a7def;text-align:center;padding-top:24px;z-index:10;}@-webkit-keyframes blink1{24%{opacity:0;}36%{opacity:1;}64%{opacity:1;}76%{opacity:0;}}@keyframes blink1{24%{opacity:0;}36%{opacity:1;}64%{opacity:1;}76%{opacity:0;}}@-webkit-keyframes blink2{12%{opacity:0;}24%{opacity:1;}76%{opacity:1;}88%{opacity:0;}}@keyframes blink2{12%{opacity:0;}24%{opacity:1;}76%{opacity:1;}88%{opacity:0;}}@-webkit-keyframes blink3{0%{opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{opacity:0;}}@keyframes blink3{0%{opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{opacity:0;}}.workspaceSpinnerCircle{position:relative;width:327px;height:327px;margin:-70px 20px 0px 20px;z-index:1;.inner1{position:absolute;background:url('/img/assets/popup/workspace/suc_bg02.png');width:327px;height:327px;top:0;left:0;opacity:0;-webkit-animation:blink1 3s infinite;animation:blink1 3s infinite;}.inner2{position:absolute;background:url('/img/assets/popup/workspace/suc_bg01.png');width:256px;height:256px;margin:35.5px;top:0;left:0;opacity:0;-webkit-animation:blink2 3s infinite;animation:blink2 3s infinite;}.inner3{position:absolute;background:url('/img/assets/popup/workspace/suc_bg00.png');width:202px;height:202px;margin:65.5px;top:0;left:0;opacity:0;-webkit-animation:blink3 3s infinite;animation:blink3 3s infinite;}.workspaceSpinnerCharacter{position:absolute;background:url('/img/assets/popup/workspace/suc_cha.png');width:327px;height:327px;top:0;left:0;}}.workspaceSpinnerTitle2{position:relative;background:url('/img/assets/popup/course/progress.gif');background-repeat:no-repeat;width:200px;height:102px;z-index:10;}}}.entryPopupHelperWrapper{.entryPopupHelperCloseButton{display:inline-block;float:right;width:16px;height:16px;padding:22px;background-repeat:no-repeat;background-position:center;background-image:url('/img/assets/popup/workspace/btn_close.png');background-size:16px auto;cursor:pointer;content:' ';margin-right:2px;}}.entryPlaygroundPainter{position:absolute;left:253px;top:0;bottom:0;right:0;border-left:none;background-color:#f9f9f9;&.fullscreen{min-height:547px;top:42px;left:0;z-index:251;}}.lectureContent{.lectureContainer{height:calc(100vh - 42px);> div{height:100%;display:flex;> div{flex:1;}}}#workspace{height:100%;}}.entrySceneWorkspace{background-color:#00b400 !important;}.entryBlockCountView{background-color:#00b400 !important;.blockCountView{background-color:#068006 !important;}}.workspace_button_group .workspace_divider{background-color:#fff;}.entryMouseViewWorkspace_w{height:unset;color:#32d27d !important;}.entryMouseViewWorkspace_w,.entryMouseViewWorkspace_w > input{color:#32d27d !important;}.entryEngineButtonWrapper{.entryPauseButtonWorkspace_w{&:before{background-image:url(/img/course/layers_icon_button_pause_nor.png);}}.entryAddButtonWorkspace_w{&:before{background-image:url(/img/course/layers_icon_button_plus_nor.png);}}.entryAddButtonWorkspace_w,.entryPauseButtonWorkspace_w,.entryRestartButtonWorkspace_w{border-color:#00b400 !important;}.entryStopButtonWorkspace_w{border-color:#00b400 !important;&:before{background-image:url(/img/course/layers_icon_button_stop_nor_2.png);}}.entryRunButtonWorkspace_w{border-color:#00b400;}.entryAddButtonWorkspace_w.entryRemove ~ .entryRunButtonWorkspace_w,.entryPauseButtonWorkspace_w.entryRemove ~ .entryStopButtonWorkspace_w{border:1px solid #00b400;border-radius:4px;}.entryRunButtonWorkspace_w,.entryRestartButtonWorkspace_w{background-color:#00b400;}.entryAddButtonWorkspace_w,.entryPauseButtonWorkspace_w,.entryStopButtonWorkspace_w{color:#00b400;}}.propertyTabhelper.selected{background-image:url(/img/course/helper_on.png) !important;}.propertyTabobject.selected{background-image:url(/img/course/container_on.png) !important;}.propertyTabconsole.selected{background-image:url(/img/course/console_on.png) !important;}.entryCoordinateButtonWorkspace_w.toggleOn{background-image:url(/img/course/layers_icon_grid_nor_1.png) !important;}.entrySpeedButtonWorkspace.on{background-image:url(/img/course/speed_edit_on.png) !important;}.entrySceneInputCover{background-color:#3bce3b !important;}.selectedScene .entrySceneInputCover{background-color:#fff !important;}.entrySceneAddButtonWorkspace{background-image:url(/img/course/top_icon_add_b_nor.png) !important;}.blockMenu{min-width:100px !important;width:100% !important;}
1#entryButtonTab.entryPlaygroundButtonTabWorkspace.entryRemove.entryCode{display:none !important;}.entrylmsModal{.ENABLED{.entryMouseViewWorkspace_w{padding:0px;}.entryEngineWorkspace_w{border:0px;}}}:global(.entry-modal-modal){:global(.entry-modal-box){:global(.entry-modal-title){background-color:#00b400;}}}#__next .workspace.entry{top:39px;}.entryPlayground.entryPlaygroundWorkspace{top:0 !important;}.curriculum_study{height:calc(100vh - 86px);& > div{height:calc(100vh - 86px);}}.curriculum_study{& .entryEngine_w.entryEngineWorkspace_w{top:0 !important;}& .entryPlayground.entryPlaygroundWorkspace{top:0 !important;}}.propertyPanel{margin-top:15px !important;}.bull_complete{margin-top:0px !important;margin-left:5px;display:inline-block;width:36px;height:22px;border-radius:16px;background-color:#ffa100;font-size:12px;font-weight:600;color:#fff;vertical-align:top;text-align:center;letter-spacing:-0.4px;line-height:22px;}.entryPlaygroundCodeWorkspace{.blockMenuContainer{width:313px;}.entryPlaygroundResizeWorkspace{display:none;}}");var p=o(23579),c=o(11566),d=o(52945),u=o(30266),h=o(45027),g=o(72769),y=o(6211),b=o(25776),m=o(53239);let k=(0,m.createContext)({}),f=()=>(0,m.useContext)(k);o(99526);var x=o(45968),w=o(11230),$=o.n(w);let _=(0,p.A)("a",{target:"e185fo2q0"})("&.disabled{pointer-events:none;cursor:default;}"),j=()=>{let e=f(),[t,o]=(0,m.useState)(!1),[r,s]=(0,m.useState)(!1);return(0,m.useEffect)(()=>{e.attachCreationChangedEvent(()=>{o(Entry.stateManager.canUndo()),s(Entry.stateManager.canRedo())})},[]),(0,n.FD)(n.FK,{children:[(0,n.Y)(y.A,{icon:"undo",onClick:e.undo,disabled:!t,children:"undo"}),(0,n.Y)(y.A,{icon:"redo",onClick:e.redo,disabled:!r,children:"redo"})]})},S=({onSelect:e,disabled:t})=>{let o=(0,a.useRouter)(),{t:r}=(0,c.Bd)("workspace"),s=(0,d.d4)(e=>e.common.user),i=(0,d.d4)(e=>e.common.student),l=s;if(i&&(i?.studentUser?l=i.studentUser:i.user&&(l=i.user)),!l)return(0,n.FD)(n.FK,{children:[(0,n.Y)(y.A,{children:(0,n.Y)(_,{href:`/signin?cb=${o.asPath}`,className:$()({disabled:t}),children:r("header_menu_login")})}),(0,n.Y)(y.A,{children:(0,n.Y)(_,{href:"/signup/1",className:$()({disabled:t}),children:r("header_menu_signup")})})]});return(0,n.Y)(u.A,{onSelect:e,items:[[r("header_menu_mypage"),"toMyPage"],[r("header_menu_reginfo"),"toProfile"],[r("header_menu_logout"),"signout"]],disabled:t,children:l.nickname||l.username})},v=()=>{let{t:e}=(0,c.Bd)("workspace"),t=(0,d.d4)(e=>e.common.user),{course:o,step:r,subIndex:s}=(0,d.d4)(e=>e.workspace),i=f(),a=o?.studies?.findIndex(({type:e})=>"curriculum_prepare"===e),l=o?.studies?.[a],p=l?.contents||[],u=o?.studies?.length+p.length,h=t?.role==="teacher",g=o?.studies||[],b="curriculum_study",m=g.findIndex(e=>e.type===b),k=(r||0)<u-p.length-1;return(0,n.FD)(n.FK,{children:[g.map((t,o)=>{let s=t.type===b,l=Number(r)===Number(o)||s&&g?.[r]?.type==b;if(t.type!==b||m===o)return o>a&&(o+=p.length),(0,n.Y)(y.A,{type:"course",onClick:()=>{i.moveToStep(o)},stepArrow:h&&o<g.length-1,stepActive:l,children:e(`header_${t.type}`)},`header-step-${o}`)}),(0,n.Y)(y.A,{type:"lecture",orange:!0,disabled:!((r||0)>0),showArrow:"left",onClick:i.prevStep,children:e("header_prev")}),(0,n.Y)(y.A,{type:"lecture",orange:!0,showArrow:k?"right":"",onClick:i.nextStep,children:k?e("header_next"):e("header_complete")})]})},E=({workspaceLoaded:e})=>{let{course:t,step:o,progress:r}=(0,d.d4)(e=>e.workspace),s=(0,d.d4)(e=>e.common.user),i=f(),{t:a}=(0,c.Bd)("workspace"),l=e=>{let[n,r,a]=e;a?.noAction||("moveToStep"===r?i.moveToStep(a?.realIndex||0):"saveAsMyProject"===r?i.saveAsMyProject():"saveResultProject"===r?i.saveResultProject({lectureId:t.id,studyId:t.studies[o].id,user:s}):i[r]?i[r]():x.console.warn(r,e))},p=(0,m.useMemo)(()=>{let e=1;return(t?.studies||[]).map((t,o)=>{if(t?.type==="curriculum_study"){let t=r?.[o]?.status;return[(0,n.FD)(n.FK,{children:[e++,t&&("COMPLETED"===t||"SUBMITTED"===t)&&(0,n.Y)("span",{className:"bull_complete",children:a("header_complete")})]}),"moveToStep",{realIndex:o}]}}).filter(e=>e)},[t,r,o]),u=(e=[])=>e.filter(e=>{if(!e)return!1;let[n,r,s={}]=e,{isAuthorization:a,canSaveAsWorksapce:l}=s,{basicProject:p}=t?.studies?.[o]||{},c=!0;return l&&!p&&(c=!1),a&&!i.isLogined&&(c=!1),c});(0,m.useEffect)(()=>{entrylms.off("click.doneProject"),entrylms.on("click.doneProject",()=>{x.console.log("done"),(void 0).doneProject()})},[]);let k=(0,m.useCallback)(()=>{let{curriculum:e={}}=t,{lectures:o=[]}=e||{},n=o.map(e=>{let{textBookInfo:t={}}=e,o=e.progress?.studyStatus||e.studies.map(()=>({type:"BASIC"}));if(!s){let t=sessionStorage.getItem(`cs_${e.id}`);t&&(o=JSON.parse(t))}return{title:e.title,sequence:t.sequence,data:o,link:`/course/${e.id}`}});new entrylms.Modal([{type:"TEXTBOOK_LECTURE_PROGRESS",title:a("label_lecture_list"),name:e?.title,content:n}]).on("click",(e,t={})=>{let{link:o}=t;"close"!==e&&o&&(window.location.href=o)}).show()},[t]),w=(0,m.useMemo)(()=>t?.textBookInfo,[t]),$=(0,m.useMemo)(()=>
1p?.[0]?.[2]?.realIndex||0,[p]),_=(0,m.useMemo)(()=>p?.[p.length-1]?.[2]?.realIndex,[p]),E=(0,m.useMemo)(()=>$<=o&&o<=_,[o,_]),P=(0,m.useMemo)(()=>(o||0)-$+1,[o,$]);return(0,n.Y)(g.A,{title:w?`${w?.title} | ${w?.sequence} | ${t?.title}`:t?.title,titleDisabled:!0,isForCourse:!0,style:{minHeight:80,fontWeight:"normal"},type:"course",disabled:!e,children:(0,n.FD)(n.FK,{children:[(0,n.FD)(b.A,{children:[E&&s&&(0,n.FD)(n.FK,{children:[(0,n.Y)(h.A,{icon:"save",onSelect:l,items:u([[a("header_project_save"),"saveResultProject",{canSaveAsWorksapce:!1}],[a("header_project_save_as_workspace"),"saveAsMyProject",{canSaveAsWorksapce:!0}]]),type:"lecture",disabled:!e,children:"save"}),(0,n.Y)("hr",{})]}),(0,n.Y)(j,{}),t.curriculum&&(0,n.FD)(n.FK,{children:[(0,n.Y)("hr",{}),(0,n.Y)(y.A,{onClick:k,disabled:!e,children:a("lecture_list")})]}),(0,n.Y)("hr",{}),(0,n.Y)(S,{onSelect:l,disabled:!e})]}),e&&(0,n.Y)(b.A,{style:{left:0,top:35,zIndex:1},children:(0,n.Y)(v,{stepsList:p})}),E&&(0,n.FD)(b.A,{style:{top:35,zIndex:2},children:[(0,n.Y)(y.A,{disabled:!0,children:a("current_step")}),(0,n.Y)(h.A,{items:u(p),isLecture:!0,isRectangle:!0,showChildren:!0,type:"lecture",onSelect:l,disabled:!e,children:P}),(0,n.Y)(y.A,{type:"lecture",onClick:async()=>{i.courseRestart()},disabled:!e,children:a("reset_block")})]})]})})};var P=o(33971),I=o(52818),A=o(99032),C=o(59687);o(87159);var B=o(92905),M=o.n(B),T=o(7329),W=o(31941),Y=o(84022),R=o(79956),L=o.n(R);Promise.all([o.e(2824),o.e(5399)]).then(o.t.bind(o,97780,23));let N=e=>{let t=(0,d.wA)(),r=f(),[s,i]=(0,m.useState)({}),l=(0,a.useRouter)(),{t:p}=(0,c.Bd)("workspace"),u=(0,d.d4)(e=>e.common),{user:h}=u,[g,y]=l.query.params||[],b=(0,m.useRef)(),{type:k="workspace",setWorkspaceLoaded:w}=e,$=s?.course?.studies?.findIndex(({type:e})=>"curriculum_prepare"===e),_=s?.course?.studies?.[$],j=_?.contents||[],S=e=>{let t=e,o=0;return e>$&&e<=$+j.length?(t=$,o=e-$):e>$+j.length&&(t=e-j.length),{targetStep:t,subIndex:o}},v=(0,m.useCallback)(async()=>{let e=S(s?.step),t=s?.course?.studies?.[e?.targetStep];if(!t)return;let o=s.userProjects?.[s?.step],n={...t,subIndex:e.subIndex};s?.course?.progress?.studyStatus?.[s?.step]||await r.setProgress("PROGRESS",s.step),o?.scenes?.length>0&&(n.basicProject=o),r.setEntryStudy({studyData:n}),w(!0)},[s,s.userProjects,s.step,w]),E=async e=>{let o=S(e);if(e>=s.course.studies.length+j.length)return location.href="/study/textbook";let n=[...s.userProjects];h&&"teacher"!==h.role&&(await r.saveResultProject({lectureId:s.course.id,studyId:s.course.studies[s?.step].id,user:h}),n[s?.step]=Entry.exportProject(),i({...s,userProjects:n})),i({...s,step:e}),B(),t({type:C.lU,payload:o});let a=s?.course?.studies?.[o.targetStep],l=n?.[o.targetStep],p={...a,subIndex:o.subIndex};a&&l?.id&&(p.basicProject=l),r.setEntryStudy({studyData:p})},P=async()=>{let e=W.Ay.load("esofHashId")||null,t=W.Ay.load("esofLectureId")||null,o=W.Ay.load("esofType")||null;null!=e&&null!=t&&null!=o?(await Y.A.post("/api/esof",{esofHashId:e,esofLectureId:t,esofType:o}),W.Ay.remove("esofHashId",{path:"/"}),W.Ay.remove("esofLectureId",{path:"/"}),W.Ay.remove("esofType",{path:"/"})):x.console.error("esof cookie not found")},B=()=>{entrylms.off("ExitStudy"),entrylms.on("ExitStudy",async(e,t)=>{await r.setProgress("COMPLETED",s.step,{callback:()=>{e&&"quiz"===e.category||E(s.step+1),t&&t()}}),await P()}),entrylms.off("SubmitStudy"),entrylms.on("SubmitStudy",async(e,t)=>{let{student:o}=u,n=s.step,i=n===s?.course?.studies.length+j.length-1,a=()=>{e&&"quiz"===e.category||E(n+1),t&&t()};i&&o?r.saveHomework(!0).then(a):await r.setProgress("SUBMITTED",n,{callback:a}),await P()}),entrylms.off("NextStudy"),entrylms.on("NextStudy",async()=>{let e=s?.course?.studies,t=s.step+1;e?.length+j?.length<t?E(t):entrylms.emit("ExitStudy")}),entrylms.off("PrevStudy"),entrylms.on("PrevStudy",()=>{let e=s.step-1;e<0&&(e=0),s?.course?.studies.length+j.length&&e>=0?E(e):entrylms.emit("ExitStudy")}),entrylms.off("click.popup"),entrylms.on("click.popup",e=>{let t=s.step||0,o=s?.course?.studies[t],{contents:n={}}=o,{selectedObject:i={}}=n||{};if("close"===e[0]&&u?.user?.role==="teacher"){let{objectId:e,sceneId:t}=i;o.basicProject=o.doneProject,r.setEntryStudy({studyData:o,isNew:!0,cb:()=>{setTimeout(()=>{Entry.do("sceneSelect",t),Entry.do("containerSelectObject",e)},500)}})}}),entrylms.off("saveWorkspace"),entrylms.off("saveAsWorkspace"),entrylms.on("saveWorkspace",async e=>{"curriculum_study"===s.course.studies[s.step].type&&(await r.saveResultProject({lectureId:s.course.id,studyId:s.course.studies[s.step].id}),e())}),entrylms.on("saveAsWorkspace",e=>{r.saveAsMyProject(e)}),entrylms.off("resetWorkspace"),entrylms.on("resetWorkspace",()=>{let e=M()(s.course.studies[s.step]);e.isReset=!0,r.setEntryStudy({studyData:e,backToBasic:!0})}),entrylms.off("reloadWorkspace"),entrylms.on("reloadWorkspace",e=>{let t=M()(s.study);t.basicProject=e,r.setEntryStudy({studyData:t})}),entrylms.off("saveWorkspaceBySubmit"),entrylms.on("saveWorkspaceBySubmit",r.saveWorkspaceBySubmit),entrylms.off("moveToStep"),entrylms.on("moveToStep",E)},R=(0,m.useCallback)(async()=>
1{if("new"!==g){let e=await (0,T.Ay)(A.T4,{id:g}),o=e?.data?.lectureWithInfos?.lecture;o?.studies&&(o.studies=o.studies.map(e=>(e._id=e.id,e.basicProject&&(e.basicProject._id=e.basicProject.id),e.doneProject&&(e.doneProject._id=e.doneProject.id),e)));let n=e?.data?.lectureWithInfos?.userProjects;if(e?.error)return window.EntryModal.alert(p("cannot_open_private_project")).then(()=>{l.replace("/")});await L().setItem(r.LOCAL_STORAGE_LECTURE_KEY,JSON.stringify(o||""));let s=JSON.parse(sessionStorage.getItem(`cs_${g}`)),a=u?.user?.role==="teacher";r.isLogined&&!a&&(s=o?.progress?.studyStatus);let c=s?.length?s.findIndex(e=>e?.status==="BASIC"):0,d=-1===c?s.length-1:c;y&&y-1<=d&&(d=y-1);let h=await (0,T.Ay)(I.PM,{id:g},{timeout:2e4}),b=[];u?.user?.role!=="teacher"&&o&&(o.studies=o?.studies.filter((e,t)=>{if("curriculum_study"===e.type)return b.push(n[t]),!0})),t({type:C.vX,payload:M()(s)});let m=S(d);t({type:C.lU,payload:m}),t({type:C.GT,payload:M()(o)||{}}),i({study:o?.studies[m.targetStep],course:o,userProjects:u?.user?.role==="teacher"?n:b,cloudServerInfo:h?.data?.cloudServerInfo,progress:s,step:m.targetStep,subIndex:m.subIndex})}else i({})},[s,b.current]);return(0,m.useEffect)(()=>{o.e(9949).then(o.bind(o,89949)).then(e=>{R()})},[]),(0,m.useEffect)(()=>{s&&b.current&&(B(),v(b.current))},[s,b.current]),(0,n.Y)("div",{className:k,ref:b},g)},z=e=>(0,n.Y)(P.A,{course:!0,children:(0,n.Y)(N,{...e})});var O=o(87089),D=o(13580),U=o.n(D),F=o(11323),q=o.n(F),K=o(19074),G=o.n(K),H=o(35730),J=o(22955),V=o(96771);class X extends O.V{#e;#t;#o;#n;#r;get LOCAL_STORAGE_LECTURE_KEY(){return"localStorageCourseProject"}get isLogined(){return!q()(this.#e)}toMyPage(){this.#e&&(location.href=`/profile/${this.#e.id}`)}toProfile(){this.#e&&(location.href="/personal/default")}signout(){(0,V.default)()}nextStep(){entrylms.emit("NextStudy")}prevStep(){entrylms.emit("PrevStudy")}setRedux({user:e,state:t,common:o,dispatch:n,t:r}){this.#e=e,this.#t=t,this.#r=n,this.#n=o,this.t=r}evaluateProgressIfFinished(){let{progress:e}=this.#t;if(!e||0==e.length)return!1;for(let t=0;t<e.length;t++)if(e?.[t]?.status!=="COMPLETED")return!1;return!0}async resetUserProjects(){this.#r({type:C.Ob,payload:[]})}setEventListener(){let e=Entry.addEventListener.bind(Entry),t=Entry.removeAllEventListener.bind(Entry);t("openPictureManager"),e("openPictureManager",()=>{this.popup.show("picture")}),t("openSpriteManager"),e("openSpriteManager",()=>{this.popup.show("sprite")}),t("openSoundManager"),e("openSoundManager",()=>{this.popup.show("sound")}),t("openAIUtilizeBlockManager"),e("openAIUtilizeBlockManager",()=>{let e=this.popup.aiUtilizeBlocks;this.popup.show("aiUtilize",e)}),t("openExpansionBlockManager"),e("openExpansionBlockManager",()=>{let e=this.popup.expansionBlocks;this.popup.show("expansion",e)}),t("openPictureImport"),e("openPictureImport",()=>{this.popup.show("paint")}),t("exportObject"),e("exportObject",this.exportObject.bind(this)),t("openImportListModal"),e("openImportListModal",this.showImportListObject.bind(this)),t("openExportListModal"),e("openExportListModal",this.showExportListObject.bind(this)),t("saveCanvasImage"),e("saveCanvasImage",e=>{this.handleCanvasImageSave(e)}),t("workspaceBindUnload"),e("workspaceBindUnload",()=>{this.setBindUnload()}),t("workspaceUnbindUnload"),e("workspaceUnbindUnload",()=>{this.unsetBindUnload()}),Entry.creationChangedEvent||(Entry.creationChangedEvent=new Entry.Event(window)),Entry.creationChangedEvent.attach(this,this.handleStorageProjectSave)}showImportListObject(){new entrylms.Modal([{type:"LIST_IMPORT",theme:"BLUE"}]).on("click",(e,t)=>{if("save"===e)if(1===t.length&&""===t[0])window.EntryModal.alert(this.t("nothing_to_import"));else{let e=Entry.variableContainer.selected;e.array_=t.map(e=>({data:e}
1)),Entry.do("listChangeLength",e.id_,e.array_.length)}}).show()}showExportListObject(e,t){new entrylms.Modal([{type:"LIST_EXPORT",theme:"BLUE",content:e}]).on("click",(e,t)=>{"copied"===e?window.EntryModal.alert(this.t("content_copied")):"excel"===e&&(this.setBindUnload(),this.unsetBindUnload())}).show()}async setProgress(e,t=0,{callback:o=null}={}){let{course:n,studentId:r,progress:s}=this.#t;if(!n)return;let{group:i={}}=this.#n,a=n.id,l=i?.id,p=!!(i&&i.isGroupOwner&&r),c=M()(s)||[];if(c?.length!=n?.studies?.length?c=this.createStudyStatus(e,t,n):c[t]=this.createStudyStatus(e,t,n)[t],a&&this.#e&&!p){let e={lecture:a,studyStatus:c,group:l,student:r,curriculum:n.curriculum?.id};await this.saveProgress(G()(e))}else sessionStorage.setItem(`cs_${a}`,JSON.stringify(c)),this.#r({type:C.vX,payload:c});o&&o()}async saveProgress(e){this.#r({type:C.vX,payload:e.studyStatus}),this.isLogined?await (0,T.Ay)(J.ms,{...e}):sessionStorage.setItem(`cs_${e.lecture}`,JSON.stringify(e.studyStatus))}createStudyStatus(e,t=0,o){let n=this.#t?.progress;return(o.studies||[]).map((o,r)=>{let s,i=this.#t?.progress?.[r]||{};if(t===r||"all"===t){let t=i.status||"BASIC";s=t&&H.X[t]>H.X[e]?t:e}else s="SUBMITTED"===e&&r<t?"SUBMITTED":n?.[r]?n?.[r].status:"BASIC";return{category:o.type,status:s,value:i.value||null}})}constructor(...e){super(...e),this.#e=void 0,this.#t="",this.#o=null,this.#n="",this.#r="",this.moveToStep=e=>{entrylms.emit("moveToStep",e)},this.courseRestart=()=>{entrylms.emit("resetWorkspace")},this.setEntryStudy=e=>{let{studyData:t,course:o,teacherMode:n,cb:r}=e,s=o?.studyIndex,i=s===o?.studies?.length-1;if(!t)return location.href="/study/textbook";let a=o?.studies.every(e=>e.type.indexOf("maze")>-1),l=M()(t);l.isLastStudy=l.isLastStudy||i,l.isNew=!0,l.isMazeMode=a,l.reset=!0;let p=this.studyStatus?.[s]?this.studyStatus[s].value:null;p&&(n&&p.submitData?U()(l,p.submitData):U()(l,p));let c=l.injectOption||{},d=Object.assign(this.RESET_INIT_OPTION,c);d.lockBasicBlocks=!1,l.injectOption=d;let u=document.querySelector(".workspace");entrylms.isInitialize()?(console.log("ENTRYLMS ALREADY INITIALIZED"),u&&entrylms.getContainer()!==u&&entrylms.changeContainer(u),entrylms.setMode(l?.type,l)):(console.log("ENTRYLMS INITIALIZE"),Entry.mediaFilePath="/lib/entry-js/images/",entrylms.init({mode:l?.type,target:u,data:l}));let h=document.querySelector(".entrySceneAddButtonWorkspace");h&&(d.sceneEditable?h.removeClass("blind"):h.addClass("blind")),this.setEventListener(),Entry.creationChangedEvent.attach(this,this.setExecutionStatus),!this.doNotShowResetModal&&this.evaluateProgressIfFinished()&&H.o[l.type]&&new entrylms.Modal([{type:"CURRICULUM_ALERT"}]).on("click",e=>{"reset"===e&&(this.resetUserProjects(),this.moveToStep(0)),this.doNotShowResetModal=!0}).show(),r&&r()}}}let Z=new X;var Q=o(22629),ee=o(97815),et=o(77901),eo=o.n(et);let en=({children:e})=>{let[t,o]=(0,m.useState)(!1);(0,m.useEffect)(()=>(Z.modalProgress={show:(e,t,n)=>{o({type:e,title:t,description:n,onClose:()=>{o(!1)}})},hide:()=>{o(!1)}},Q.A.modalProgress=Z.modalProgress,()=>{console.log("workspace destory"),Z.destroy()}),[]);let r=(0,d.d4)(e=>e.workspace,d.bN),s=(0,d.d4)(e=>e.common.user,d.bN),i=(0,d.d4)(e=>e.common,d.bN),a=(0,d.wA)(),{t:l}=(0,c.Bd)("workspace");return(0,m.useEffect)(()=>{s&&eo()(s)?window.user={_id:s._id,nickname:s.nickname,username:ee.A.masking(s.username)}:window.user=s},[s]),Z.setRedux({user:s,state:r,common:i,dispatch:a,t:l}),O.A.setRedux({user:s,common:i,dispatch:a,t:l}),Q.A.setRedux({user:s,common:i,dispatch:a,t:l}),(0,n.FD)(n.FK,{children:[(0,n.Y)(k.Provider,{value:Z,children:e}),t&&(({type:e,title:t,description:o,onClose:r})=>{let s=window.EntryTool&&window.EntryTool.Component&&window.EntryTool.Component.ModalProgress?window.EntryTool.Component.ModalProgress:null;return s?(0,n.Y)(s,{title:t,type:e,description:o,onClose:r,theme:"entry"}):null})(t)]})};var er=o(91494);let es=["/lib/lodash/lodash.min.js","/js/ws/locales.js","/js/react18/react.production.min.js","/js/react18/react-dom.production.min.js","/lib/PreloadJS/lib/preloadjs-0.6.0.min.js","/lib/EaselJS/lib/easeljs-0.8.0.min.js","/lib/SoundJS/lib/soundjs-0.
16.0.min.js","/lib/SoundJS/lib/flashaudioplugin-0.6.0.min.js","/lib/jquery/jquery.min.js","/lib/jquery-ui/jquery-ui.min.js","/lib/velocity/velocity.min.js","/lib/codemirror/lib/codemirror.js","/lib/codemirror/addon/hint/show-hint.js","/lib/codemirror/addon/lint/lint.js","/lib/codemirror/addon/selection/active-line.js","/lib/codemirror/mode/javascript/javascript.js","/lib/codemirror/addon/hint/javascript-hint.js","/js/ws/jshint.js","/lib/fuzzy/lib/fuzzy.js","/js/ws/python.js","/lib/socket.io-client/socket.io.js","/lib/entry-js/extern/util/filbert.js","/lib/entry-js/extern/util/CanvasInput.js","/lib/entry-js/extern/util/ndgmr.Collision.js","/lib/entry-js/extern/util/handle.js","/lib/entry-js/extern/util/bignumber.min.js","/lib/components-webfontloader/webfontloader.js","/lib/entry-lms/dist/assets/app.js","/lib/entry-tool/dist/entry-tool.js","https://playentry.org/lib/entry-ml/dist/entry-ml.js","/lib/entry-js/extern/util/static.js","/lib/entry-paint/dist/static/js/entry-paint.js","/external/sound/sound-editor.js","/module/legacy-video/index.js",`https://playentry.org/lib/entry-js/dist/entry${ee.A.getMinExt()}`,"/js/ws/init.js"],ei=e=>{let[t,o]=(0,m.useState)(null);(0,a.useRouter)();let r=(0,er.MY)(es);return(0,m.useEffect)(()=>(document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}),[]),(0,n.Y)(n.FK,{children:r&&(0,n.FD)(en,{children:[(0,n.Y)(E,{workspaceLoaded:t}),(0,n.Y)(z,{setWorkspaceLoaded:o})]})})};var ea=!0;let el=e=>{let{t}=(0,c.Bd)("title");return(0,n.FD)(n.FK,{children:[(0,n.Y)(r.mL,{styles:[l]}),(0,n.FD)(i(),{children:[(0,n.Y)("link",{rel:"stylesheet",href:"/lib/entry-tool/dist/entry-tool.css?v=260921-160618"}),(0,n.Y)("link",{rel:"stylesheet",href:"https://playentry.org/lib/entry-js/dist/entry.css?v=260921-160618"}),(0,n.Y)("link",{rel:"stylesheet",href:"/lib/entry-ml/dist/entry-ml.css"}),(0,n.Y)("link",{rel:"stylesheet",href:"/lib/entry-lms/dist/assets/app.css?v=260921-160618"}),(0,n.Y)("link",{rel:"stylesheet",href:"/style/ws.css?v=260921-160618"}),(0,n.Y)("link",{rel:"stylesheet",href:"/lib/codemirror/addon/hint/show-hint.css?v=260921-160618"}),(0,n.Y)("link",{rel:"stylesheet",href:"/lib/codemirror/addon/lint/lint.css?v=260921-160618"}),(0,n.Y)("title",{children:t("entry")}),(0,n.Y)("meta",{property:"og:title",content:t("entry")},"title")]}),(0,n.Y)(ei,{...e})]})}},75760:e=>{"use strict";e.exports=Entryml},92743:e=>{"use strict";e.exports=EntryTool}},e=>{e.O(0,[2905,5469,4712,9409,7685,2886,2629,1797,3471,9421,636,6593,8792],()=>e(e.s=14786)),_N_E=e.O()}]);
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.