diff --git a/index.html b/index.html index d6b238db..cf1171c6 100644 --- a/index.html +++ b/index.html @@ -20,5 +20,5 @@ - + diff --git a/main-APBXQYHR.js b/main-QEVTXVBU.js similarity index 99% rename from main-APBXQYHR.js rename to main-QEVTXVBU.js index 9bc27a5c..511058b8 100644 --- a/main-APBXQYHR.js +++ b/main-QEVTXVBU.js @@ -1450,6 +1450,6 @@ Programa finalizado. Tempo de execu\xE7\xE3o: ${o.time} milissegundos } } -`,this._stdOut$=this.executor.stdOut$.subscribe(()=>{this.stdOutEditorCursorEnd()}),this._events$=this.executor.events.subscribe({next:n=>{switch(n.type){case"error":{this.gaService.event("execution_error","Execu\xE7\xE3o","Erro em execu\xE7\xE3o de c\xF3digo");break}case"parseError":{this.setEditorErrors(n.errors);break}default:break}},error:n=>{this.gaService.event("execution_runner_error","Execu\xE7\xE3o","Erro ao carregar o runner para rodar o c\xF3digo"),un(n,{extra:{code:this.code}})}})}ngOnDestroy(){this._code$?.unsubscribe(),this._events$?.unsubscribe(),this._stdOut$?.unsubscribe(),this.executor.stop()}runCode(){return K(this,null,function*(){this.gaService.event("editor_start_execution","Editor","Bot\xE3o de Iniciar Execu\xE7\xE3o"),O7("code",this.code),this.transpiling=!0;let n=this.code??"",r;try{r=yield this.worker.transpileCode(n)}catch(s){un(s,{tags:{transpile:!0},extra:{code:n}}),alert("Ocorreu um erro ao transpilar o c\xF3digo, possivelmente o seu navegador n\xE3o suporta Web Workers. Por favor, tente novamente em outro navegador. Caso o erro persista, acesse https://github.com/dgadelha/Portugol-Webstudio/issues/new/choose"),alert(s)}finally{this.transpiling=!1}r&&(this.setEditorErrors([]),this.executor.runTranspiled(ee(b({},r),{code:n})))})}stopCode(){this.gaService.event("editor_stop_execution","Editor","Bot\xE3o de Parar Execu\xE7\xE3o"),this.executor.stop(),this.transpiling&&(this.worker.abortTranspilation(),this.transpiling=!1),this.stdOutEditorCursorEnd()}openFile(n){this.gaService.event("editor_open_file","Editor","Bot\xE3o de Abrir arquivo");let{files:r}=n.target;if(!r||r.length===0)return;let s=new FileReader,o=r[0];s.addEventListener("load",l=>{let a=l.target?.result;this.title=o.name,this.titleChange.emit(o.name),this.code=a?.toString()}),s.readAsText(o,"ISO-8859-1")}saveFile(){this.gaService.event("editor_save_file","Editor","Bot\xE3o de Salvar arquivo");let r=new fz.TextEncoder("ISO-8859-1",{NONSTANDARD_allowLegacyEncoding:!0}).encode(this.code),s=new Blob([r],{type:"application/octet-stream; charset=ISO-8859-1"}),o=this.title||"Sem t\xEDtulo";o.endsWith(".por")||(o+=".por"),(0,hz.saveAs)(s,o,{autoBom:!1})}onStdOutEditorInit(n){this.initShortcuts(n),this.stdOutEditor=n,n.onKeyDown(r=>{this.executor.waitingForInput&&(r.code==="Enter"||r.browserEvent.keyCode===13||r.browserEvent.key==="Enter"?this.executor.stdIn.next("\r"):r.code==="Backspace"?this.executor.stdIn.next("\b"):r.browserEvent.key.length===1&&this.executor.stdIn.next(r.browserEvent.key))})}stdOutEditorCursorEnd(){if(!this.stdOutEditor)return;let n=this.stdOutEditor,r=n.getModel();r&&(setTimeout(()=>{n.setPosition({lineNumber:r.getLineCount(),column:r.getLineMaxColumn(r.getLineCount())}),n.setScrollPosition({scrollLeft:0,scrollTop:n.getScrollHeight()})},1),n.focus())}initShortcuts(n){n.addAction({id:"runCode",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter],label:"Executar c\xF3digo",run:this.runCode.bind(this)}),n.addAction({id:"saveFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS],label:"Salvar arquivo",run:this.saveFile.bind(this)}),n.addAction({id:"openFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyO],label:"Abrir arquivo",run:()=>{this.fileInput.nativeElement.click()}}),n.addAction({id:"openHelp",keybindings:[monaco.KeyCode.F1],label:"Ajuda",run:this.openHelp.bind(this)})}onEditorInit(n){this.codeEditor=n,this.initShortcuts(n),this._code$?.unsubscribe(),this._code$=o8(n.onDidChangeModelContent).pipe(Ki(500),dr(()=>K(this,null,function*(){return this.worker.checkCode(this.code??"")}))).subscribe({next:r=>{this.setEditorErrors(r.errors)},error(r){console.error(r)}})}openHelp(){this.gaService.event("editor_help_tab_open","Editor","Nova aba de ajuda atrav\xE9s do Editor"),this.help.emit()}shareFile(){return K(this,null,function*(){if(!this.code)return;this.sharing=!0;let n=(Math.random()+1).toString(36).slice(2,9);(yield _B(Gm(this.storage,n),this.code,void 0,{contentType:"text/plain"}).catch(s=>(console.error(s),null)))?(this.snack.openFromTemplate(this.shareSnackTemplate,{data:{url:`https://portugol.dev/#share=${n}`}}),this.gaService.event("share_code_success","Editor","C\xF3digo compartilhado com sucesso")):(this.snack.open("Ocorreu um erro ao compartilhar o arquivo. Tente novamente mais tarde.","OK",{duration:3e3}),this.gaService.event("share_code_error","Editor","Erro ao compartilhar c\xF3digo")),setTimeout(()=>{this.sharing=!1},1e3)})}copyStringAndCloseSnack(n){return K(this,null,function*(){yield navigator.clipboard.writeText(n),this.snack.dismiss()})}setEditorErrors(n){let r=this.codeEditor?.getModel();r&&monaco.editor.setModelMarkers(r,"owner",n.map(s=>({startLineNumber:s.startLine,startColumn:s.startCol+1,endLineNumber:s.endLine,endColumn:s.endCol+2,message:s.message,severity:monaco.MarkerSeverity.Error})))}};e.\u0275fac=function(r){return new(r||e)(I(Xa),I(Al),I(up),I(dz))},e.\u0275cmp=Me({type:e,selectors:[["app-tab-editor"]],viewQuery:function(r,s){if(r&1&&(Et(Zhe,5),Et(Xhe,5,xt)),r&2){let o;nt(o=it())&&(s.fileInput=o.first),nt(o=it())&&(s.shareSnackTemplate=o.first)}},inputs:{title:"title",code:"code"},outputs:{titleChange:"titleChange",help:"help"},decls:30,vars:14,consts:[["fileInput",""],["shareSnackTemplate",""],[3,"shortcuts"],[1,"sidebar"],["mat-ripple","","type","button","title","Iniciar execu\xE7\xE3o",1,"sidebar-button",3,"click","disabled"],["src","assets/icon-start.svg","svgAriaLabel","\xCDcone de iniciar execu\xE7\xE3o"],["mat-ripple","","type","button","title","Parar execu\xE7\xE3o",1,"sidebar-button",3,"click","disabled"],["src","assets/mdi/square-rounded-outline.svg","svgClass","text-tertiary","svgAriaLabel","\xCDcone de parar execu\xE7\xE3o"],[1,"sidebar-divider"],["mat-ripple","","type","button","title","Salvar arquivo",1,"sidebar-button",3,"click"],["src","assets/mdi/content-save-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de disquete para a\xE7\xE3o de salvar arquivo"],["mat-ripple","","type","button","title","Abrir arquivo",1,"sidebar-button",3,"click"],["src","assets/mdi/folder-open-outline.svg","svgClass","text-primary","svgAriaLabel","\xCDcone de pasta para a\xE7\xE3o de abrir arquivo"],["type","file","hidden","","accept",".por,text/plain",3,"change"],["mat-ripple","","type","button","title","Compartilhar c\xF3digo",1,"sidebar-button",3,"click","disabled"],["src","assets/mdi/share-variant-outline.svg","svgClass","text-secondary","svgAriaLabel","\xCDcone de compartilhar c\xF3digo"],["mat-ripple","","type","button","title","Abrir se\xE7\xE3o de Ajuda",1,"sidebar-button",3,"click"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda"],[1,"editor-inner"],["direction","vertical"],[3,"size"],["direction","horizontal"],[3,"ngModelChange","init","options","ngModel"],[3,"ngModelChange","options","ngModel"],["id","output",3,"ngModelChange","init","options","ngModel"],[1,"share-snack"],["target","_blank",3,"href"],["mat-raised-button","","color","primary",3,"click"]],template:function(r,s){if(r&1){let o=mt();pe(0,"ng-keyboard-shortcuts",2),R(1,"div",3)(2,"button",4),be("click",function(){return ae(o),ue(s.runCode())}),pe(3,"svg-icon",5),F(),R(4,"button",6),be("click",function(){return ae(o),ue(s.stopCode())}),pe(5,"svg-icon",7),F(),pe(6,"div",8),R(7,"button",9),be("click",function(){return ae(o),ue(s.saveFile())}),pe(8,"svg-icon",10),F(),R(9,"button",11),be("click",function(){ae(o);let a=Br(12);return ue(a.click())}),pe(10,"svg-icon",12),R(11,"input",13,0),be("change",function(a){return ae(o),ue(s.openFile(a))}),F()(),R(13,"button",14),be("click",function(){return ae(o),ue(s.shareFile())}),pe(14,"svg-icon",15),F(),pe(15,"div",8),R(16,"button",16),be("click",function(){return ae(o),ue(s.openHelp())}),pe(17,"svg-icon",17),F()(),R(18,"div",18)(19,"as-split",19)(20,"as-split-area",20)(21,"as-split",21)(22,"as-split-area",20)(23,"ngx-monaco-editor",22),yo("ngModelChange",function(a){return ae(o),ml(s.code,a)||(s.code=a),ue(a)}),be("init",function(a){return ae(o),ue(s.onEditorInit(a))}),F()(),R(24,"as-split-area",20)(25,"ngx-monaco-editor",23),yo("ngModelChange",function(a){return ae(o),ml(s.executor.byteCode,a)||(s.executor.byteCode=a),ue(a)}),F()()()(),R(26,"as-split-area",20)(27,"ngx-monaco-editor",24),yo("ngModelChange",function(a){return ae(o),ml(s.executor.stdOut,a)||(s.executor.stdOut=a),ue(a)}),be("init",function(a){return ae(o),ue(s.onStdOutEditorInit(a))}),F()()()(),ke(28,Qhe,14,10,"ng-template",null,1,a2)}r&2&&(J("shortcuts",s.shortcuts),G(2),J("disabled",s.executor.running||s.transpiling),G(2),J("disabled",!s.executor.running&&!s.transpiling),G(9),J("disabled",s.sharing),G(7),J("size",80),G(2),J("size",100),G(),J("options",s.codeEditorOptions),bo("ngModel",s.code),G(),J("size",0),G(),J("options",s.generatedCodeEditorOptions),bo("ngModel",s.executor.byteCode),G(),J("size",20),G(),J("options",s.stdOutEditorOptions),bo("ngModel",s.executor.stdOut))},dependencies:[Xm,Wf,Y2,J0,Y0,n_,Vo,is,Ga,uN],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;height:100%} .editor-inner .monaco-editor .monaco-hover{position:fixed;z-index:9999}.editor-inner[_ngcontent-%COMP%]{background-color:#202b30;flex-grow:1;display:flex}.editor-inner[_ngcontent-%COMP%] as-split-area[_ngcontent-%COMP%]{overflow:hidden}.editor-inner[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1}.sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.sidebar-button[_ngcontent-%COMP%]{appearance:none;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#263238;color:#cdcdcd;border:none;transition:all .2s ease;cursor:pointer}.sidebar-button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:#354046}.sidebar-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;pointer-events:none}.sidebar-button[_ngcontent-%COMP%]:disabled svg[_ngcontent-%COMP%]{filter:grayscale(1);-webkit-transform:translateZ(0)}.sidebar-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], .sidebar-button[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;fill:currentColor}.sidebar-divider[_ngcontent-%COMP%]{margin-top:.5rem;margin-bottom:.5rem;width:100%;height:1px;background-color:#445056} #output .monaco-editor-overlaymessage{display:none!important}#bug[_ngcontent-%COMP%]{position:absolute;bottom:7.5px;right:7.5px}.share-snack[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:9pt;margin:0;display:block;text-align:center}"]});let t=e;return t})();var $_=(()=>{let e=class e{constructor(n){this.observer=n}isBelowSm(){return this.observer.observe(["(max-width: 575px)"])}isBelowMd(){return this.observer.observe(["(max-width: 767px)"])}isBelowLg(){return this.observer.observe(["(max-width: 991px)"])}isBelowXl(){return this.observer.observe(["(max-width: 1199px)"])}};e.\u0275fac=function(r){return new(r||e)(x(L0))},e.\u0275prov=q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function efe(t,e){t&1&&pe(0,"mat-spinner",6),t&2&&J("diameter",50)}function tfe(t,e){if(t&1){let i=mt();R(0,"mat-tree-node")(1,"li",16),be("click",function(){let r=ae(i).$implicit,s=ne(2);return ue(s.loadItem(r))})("keydown.enter",function(){let r=ae(i).$implicit,s=ne(2);return ue(s.loadItem(r))}),R(2,"button",17),pe(3,"svg-icon"),F(),R(4,"span"),N(5),F()()()}if(t&2){let i=e.$implicit,n=ne(2);G(),ut("active",(n.current==null?null:n.current.id)===i.id),G(4),Fn(i.name)}}function nfe(t,e){t&1&&pe(0,"svg-icon",23)}function ife(t,e){t&1&&pe(0,"svg-icon",24)}function rfe(t,e){if(t&1&&(R(0,"mat-nested-tree-node")(1,"li",18)(2,"button",19),ke(3,nfe,1,0,"svg-icon",20)(4,ife,1,0,"svg-icon",21),F(),R(5,"span"),N(6),F()(),R(7,"ul"),Dn(8,22),F()()),t&2){let i=e.$implicit,n=ne(2);G(2),J("ngSwitch",n.treeControl.isExpanded(i)),G(),J("ngSwitchCase",!0),G(),J("ngSwitchCase",!1),G(2),Fn(i.name),G(),ut("hidden",!n.treeControl.isExpanded(i))}}function sfe(t,e){t&1&&(R(0,"div",25)(1,"p"),N(2,"Selecione um exemplo ao lado."),F()())}function ofe(t,e){if(t&1){let i=mt();R(0,"div",26)(1,"h3"),N(2),F(),R(3,"p"),N(4),F(),R(5,"ngx-monaco-editor",27),yo("ngModelChange",function(r){ae(i);let s=ne(2);return ml(s.exampleCode,r)||(s.exampleCode=r),ue(r)}),be("init",function(r){ae(i);let s=ne(2);return ue(s.editor=r)}),F(),R(6,"button",28),be("click",function(){ae(i);let r=ne(2);return ue(r.openExample(r.current))}),N(7,"Abrir"),F()()}if(t&2){let i=ne(2);G(2),Fn(i.current==null?null:i.current.name),G(2),Fn(i.current==null?null:i.current.description),G(),J("options",i.editorOptions),bo("ngModel",i.exampleCode)}}function lfe(t,e){if(t&1&&(R(0,"div")(1,"as-split",7)(2,"as-split-area",8)(3,"ul",9)(4,"mat-tree",10),ke(5,tfe,6,3,"mat-tree-node",11)(6,rfe,9,6,"mat-nested-tree-node",12),F()()(),R(7,"as-split-area",13),ke(8,sfe,3,0,"div",14)(9,ofe,8,4,"div",15),F()()()),t&2){let i=ne();G(),J("direction",i.isBelowMd?"vertical":"horizontal"),G(),J("size",40),G(2),J("dataSource",i.dataSource)("treeControl",i.treeControl),G(2),J("matTreeNodeDefWhen",i.hasChildren),G(),J("size",60)("ngSwitch",i.current),G(),J("ngSwitchCase",null)}}var gz=(()=>{let e=class e{constructor(n,r){this.http=n,this.responsive=r,this.exampleOpened=new Se,this.current=null,this.loading=!0,this.isBelowMd=!1,this.rawExampleCode="",this.rawExampleCodeId="",this.exampleCode="",this.editorOptions={theme:"portugol",lineNumbers:"off",readOnly:!0,minimap:{enabled:!1},language:"portugol"},this.treeControl=new z0(s=>s.children),this.dataSource=new G0}ngOnInit(){this._data$=this.http.get("assets/recursos/exemplos/index.json").pipe(yv()).subscribe(n=>{this.loading=!1,this.dataSource.data=n})}ngAfterViewInit(){this._responsive$=this.responsive.isBelowMd().subscribe(n=>{this.isBelowMd=n.matches})}ngOnDestroy(){this._responsive$?.unsubscribe(),this._data$?.unsubscribe()}hasChildren(n,r){return r.children?.length??0}loadItem(n){this._loadSubscription$?.unsubscribe(),this.current=n,this.exampleCode="// Carregando\u2026",this.rawExampleCode="",this.rawExampleCodeId="",this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${n.file}`,{responseType:"text"}).subscribe(r=>{if(this.current?.id===n.id){this.rawExampleCode=r,this.rawExampleCodeId=n.id;let s=r.indexOf("*/");this.exampleCode=r.slice(s===-1?0:r.indexOf("*/")+2).trim()}})}openExample(n){if(this.rawExampleCode&&this.rawExampleCodeId===n.id){this.exampleOpened.emit({title:n.name,code:this.rawExampleCode});return}this.loading=!0,this._loadSubscription$?.unsubscribe(),this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${n.file}`,{responseType:"text"}).subscribe(r=>{this.current?.id===n.id&&this.exampleOpened.emit({title:n.name,code:r})})}};e.\u0275fac=function(r){return new(r||e)(I(h2),I($_))},e.\u0275cmp=Me({type:e,selectors:[["app-dialog-open-example"]],outputs:{exampleOpened:"exampleOpened"},decls:9,vars:3,consts:[["mat-dialog-title",""],["tabindex","-1","mat-dialog-close","","mat-icon-button","","aria-label","Fechar di\xE1logo"],["src","assets/mdi/close.svg","svgAriaLabel","\xCDcone de fechar di\xE1logo"],["mat-dialog-content","",3,"ngSwitch"],[3,"diameter",4,"ngSwitchCase"],[4,"ngSwitchCase"],[3,"diameter"],[3,"direction"],[3,"size"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"d-flex",3,"size","ngSwitch"],["id","empty",4,"ngSwitchCase"],["id","content",4,"ngSwitchDefault"],["mat-ripple","","tabindex","0",3,"click","keydown.enter"],["mat-icon-button","","disabled","","title","Expandir/retrair"],["matTreeNodeToggle",""],["tabindex","-1","mat-icon-button","","matTreeNodeToggle","","aria-label","Expandir/retrair conte\xFAdo da pasta",3,"ngSwitch"],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido",4,"ngSwitchCase"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido",4,"ngSwitchCase"],["matTreeNodeOutlet",""],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido"],["id","empty"],["id","content"],[3,"ngModelChange","init","options","ngModel"],["mat-raised-button","","color","primary",3,"click"]],template:function(r,s){r&1&&(R(0,"header",0)(1,"span"),N(2,"Abrir Exemplo\u2026"),F(),pe(3,"s"),R(4,"button",1),pe(5,"svg-icon",2),F()(),R(6,"main",3),ke(7,efe,1,1,"mat-spinner",4)(8,lfe,10,8,"div",5),F()),r&2&&(G(6),J("ngSwitch",s.loading),G(),J("ngSwitchCase",!0),G(),J("ngSwitchCase",!1))},dependencies:[Ia,Bc,aN,Xm,Wf,Y2,J0,Y0,Vo,is,BU,RU,MU,kU,Ga,V0,wg,Sg,Ag,xg,Tg,$0],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;--mdc-dialog-supporting-text-size: 14px;--mdc-dialog-supporting-text-line-height: 21px;--mdc-dialog-supporting-text-color: #fff;height:100%}header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(229,229,229,.4)}mat-spinner[_ngcontent-%COMP%]{margin:0 auto}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#0003}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}.mat-mdc-dialog-content[_ngcontent-%COMP%], main[_ngcontent-%COMP%]{display:flex;max-height:100%}main[_ngcontent-%COMP%], main[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex-grow:1} .as-split-gutter{background-color:#0003!important}#empty[_ngcontent-%COMP%]{flex-grow:1;display:flex;align-items:center}#empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 auto}#content[_ngcontent-%COMP%]{width:100%;padding:1rem 1.5rem 1.5rem;position:relative;display:flex;flex-direction:column}#content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0}#content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:justify}#content[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1;margin-bottom:3.75rem}#content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:calc(100% - 22.5px);text-transform:uppercase;position:absolute;bottom:20px;left:15px;right:7.5px;font-size:1.15rem;line-height:3rem}"]});let t=e;return t})();var _z=(()=>{let e=class e{constructor(n,r,s){this.gaService=n,this.sanitizer=r,this.dialog=s,this.newTab=new Se,this.help=new Se;let o=new Date().getMonth()+1,l=new Date().getDate();o===2&&l>=10||o===3&&l<=5?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/carnaval.svg"):o===3&&l>=20||o===4&&l<=25?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/pascoa.svg"):o===10&&l>=20||o===11&&l<=5?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/halloween.svg"):o===12&&l>=15&&l<=29?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/natal.svg"):o===12&&l>=30||o===1&&l<=5?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/ano-novo.svg"):this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/default.svg")}openFile(n){this.gaService.event("home_open_file","Aba Inicial","Abrir arquivo atrav\xE9s da aba Inicial");let{files:r}=n.target;if(!(!r||r.length===0))for(let s=0;s{let u=a.target?.result;this.newTab.emit({name:l.name,contents:u})}),o.readAsText(l,"ISO-8859-1")}}openExamplesDialog(){this.gaService.event("open_examples_dialog","Aba Inicial","Abrir di\xE1logo de exemplos");let n=this.dialog.open(gz,{width:"min(85vw, 780px)",height:"min(85vh, 600px)"});this._dialogExample$=n.componentInstance.exampleOpened.subscribe(r=>{this.gaService.event("open_example","Di\xE1logo de Exemplos",`Abrir exemplo: ${r.title}`),n.close(),this.newTab.emit({name:r.title,contents:r.code})}),this._dialogRef$=n.beforeClosed().subscribe(()=>{this._dialogRef$?.unsubscribe(),this._dialogExample$?.unsubscribe()})}};e.\u0275fac=function(r){return new(r||e)(I(Xa),I(Eh),I(lp))},e.\u0275cmp=Me({type:e,selectors:[["app-tab-start"]],outputs:{newTab:"newTab",help:"help"},decls:63,vars:1,consts:[["fileInput",""],["width","100%","alt","Logomarca do Portugol Webstudio",1,"logo",3,"src"],["mat-ripple","",3,"click"],["src","assets/mdi/file-plus-outline.svg","svgClass","text-secondary","svgAriaLabel","\xCDcone de novo arquivo"],["src","assets/mdi/folder-open-outline.svg","svgClass","text-primary","svgAriaLabel","\xCDcone de pasta para a\xE7\xE3o de abrir arquivo"],["type","file","hidden","","multiple","","accept",".por,text/plain",3,"change"],["src","assets/mdi/book-open-page-variant-outline.svg","svgClass","text-primary","svgAriaLabel","\xCDcone de livro para a\xE7\xE3o de abrir exemplo"],["src","assets/mdi/help.svg","svgClass","text-quaternary","alt","\xCDcone de ajuda"],["href","https://github.com/dgadelha/Portugol-Webstudio/discussions/categories/ideias-e-sugest%C3%B5es","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/mdi/lightbulb-on-outline.svg","svgClass","text-secondary","svgAriaLabel","\xCDcone de l\xE2mpada para a\xE7\xE3o de enviar sugest\xF5es"],["href","https://github.com/dgadelha/Portugol-Webstudio/discussions/categories/d%C3%BAvidas-perguntas","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/mdi/comment-question-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de bal\xE3o de di\xE1logo para a\xE7\xE3o de enviar d\xFAvidas"],["href","https://github.com/dgadelha/Portugol-Webstudio/issues/new?template=bug.yml","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/mdi/bug-outline.svg","svgClass","text-tertiary","svgAriaLabel","\xCDcone de inseto para a\xE7\xE3o de reportar um problema"],["href","https://github.com/dgadelha/Portugol-Webstudio","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/icon-github.svg","svgAriaLabel","\xCDcone do GitHub"],[1,"info"],["src","assets/mdi/newspaper.svg","svgAriaLabel","\xCDcone de jornal para not\xEDcias"],["matTooltip","25/07/2024 01:46:08 AM UTC"]],template:function(r,s){if(r&1){let o=mt();pe(0,"img",1),R(1,"nav")(2,"button",2),be("click",function(){return ae(o),ue(s.newTab.emit())}),pe(3,"svg-icon",3),R(4,"span"),N(5,"Novo Arquivo"),F()(),R(6,"button",2),be("click",function(){ae(o);let a=Br(11);return ue(a.click())}),pe(7,"svg-icon",4),R(8,"span"),N(9,"Abrir Arquivo"),F(),R(10,"input",5,0),be("change",function(a){return ae(o),ue(s.openFile(a))}),F()(),R(12,"button",2),be("click",function(){return ae(o),ue(s.openExamplesDialog())}),pe(13,"svg-icon",6),R(14,"span"),N(15,"Abrir Exemplo"),F()(),R(16,"button",2),be("click",function(){return ae(o),ue(s.help.emit())}),pe(17,"svg-icon",7),R(18,"span"),N(19,"Ajuda"),F()(),R(20,"a",8),be("click",function(){return ae(o),ue(s.gaService.event("suggest_features","Aba Inicial","Enviar sugest\xF5es"))}),pe(21,"svg-icon",9),R(22,"span"),N(23,"Sugest\xF5es"),F()(),R(24,"a",10),be("click",function(){return ae(o),ue(s.gaService.event("ask_questions","Aba Inicial","Enviar d\xFAvidas"))}),pe(25,"svg-icon",11),R(26,"span"),N(27,"D\xFAvidas e Perguntas"),F()(),R(28,"a",12),be("click",function(){return ae(o),ue(s.gaService.event("ask_questions","Aba Inicial","Enviar d\xFAvidas"))}),pe(29,"svg-icon",13),R(30,"span"),N(31,"Reportar um problema"),F()(),R(32,"a",14),be("click",function(){return ae(o),ue(s.gaService.event("view_source_code","Aba Inicial","Ver c\xF3digo-fonte"))}),pe(33,"svg-icon",15),R(34,"span"),N(35,"C\xF3digo-fonte"),F()()(),R(36,"section",16)(37,"h4"),pe(38,"svg-icon",17),N(39,"Novidades"),F(),R(40,"p")(41,"strong"),N(42,"02/05/2024:"),F(),N(43," Portugol Webstudio como PWA: funcionamento offline"),F(),R(44,"p")(45,"strong"),N(46,"01/05/2024:"),F(),N(47," Corre\xE7\xE3o de retorno em fun\xE7\xE3o vazia"),F(),R(48,"p")(49,"strong"),N(50,"30/04/2024:"),F()(),R(51,"ul")(52,"li"),N(53,"Melhorias de acessibilidade e ajustes na tela inicial e \xEDcones"),F(),R(54,"li"),N(55,"Corre\xE7\xE3o nas verifica\xE7\xF5es de erros relacionados a escopo e tipos"),F(),R(56,"li"),N(57,"Melhorias na experi\xEAncia de erros e de estabilidade no geral"),F()()(),R(58,"footer")(59,"summary"),N(60,"Vers\xE3o: "),R(61,"span",18),N(62,"f039c8a"),F()()()}r&2&&J("src",s.logo,bc)},dependencies:[Vo,is,Cg],styles:["[_nghost-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;min-height:100%;padding:2rem}.logo[_ngcontent-%COMP%]{max-width:20rem;margin-bottom:2rem}nav[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:.5rem;align-items:center;justify-content:center}@media (max-width: 576px){nav[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (min-width: 768px){nav[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media (min-width: 992px){nav[_ngcontent-%COMP%]{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px){nav[_ngcontent-%COMP%]{max-width:50vw}}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background-color:#121e24;appearance:none;border:none;border-radius:.25rem;color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:.85rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:100%;text-align:center}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background-color:tint(#121e24,15);color:tint(#fff,15)}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] > svg-icon[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > svg-icon[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{margin-bottom:1rem;width:2.5rem;height:2.5rem}section[_ngcontent-%COMP%]{max-width:600px;margin:2rem;letter-spacing:.25px;padding:.25rem 1rem;font-family:Lato,sans-serif;font-size:.95rem;color:#fff;border:1px solid rgba(30,30,30,.1);border-radius:.75rem;box-shadow:.3px .5px .7px #0206085c,.8px 1.6px 2px -.8px #0206085c,2.1px 4.1px 5.2px -1.7px #0206085c,5px 10px 12.6px -2.5px #0206085c}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.5rem 0;line-height:1.5;list-style-type:square}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{vertical-align:top}section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1rem}section[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:1.25rem}section[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:underline;color:#fafafa}section.alert[_ngcontent-%COMP%]{background:#8c2626}section.info[_ngcontent-%COMP%]{background-color:#2559b3}hr[_ngcontent-%COMP%]{margin:1rem 0;border:none;border-top:1px solid rgba(255,255,255,.25)}footer[_ngcontent-%COMP%]{position:absolute;bottom:10px;left:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{font-size:.75rem;color:#fff}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-family:monospace;color:#c2c2c3;text-transform:uppercase}"]});let t=e;return t})();function ufe(t,e){if(t&1){let i=mt();R(0,"mat-tree-node")(1,"li",8),be("click",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))})("keydown.enter",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))}),R(2,"button",9),pe(3,"svg-icon"),F(),R(4,"span"),N(5),F()()()}if(t&2){let i=e.$implicit,n=ne();G(),ut("active",(n.current==null?null:n.current.id)===i.id),G(4),Fn(i.text)}}function cfe(t,e){t&1&&pe(0,"svg-icon",15)}function dfe(t,e){t&1&&pe(0,"svg-icon",16)}function hfe(t,e){if(t&1){let i=mt();R(0,"mat-nested-tree-node")(1,"li",10),be("click",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))})("keydown.enter",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))}),R(2,"button",11),ke(3,cfe,1,0,"svg-icon",12)(4,dfe,1,0,"svg-icon",13),F(),R(5,"span"),N(6),F()(),R(7,"ul"),Dn(8,14),F()()}if(t&2){let i=e.$implicit,n=ne();G(),ut("active",(n.current==null?null:n.current.id)===i.id),G(),J("ngSwitch",n.treeControl.isExpanded(i)),G(),J("ngSwitchCase",!0),G(),J("ngSwitchCase",!1),G(2),Fn(i.text),G(),ut("hidden",!n.treeControl.isExpanded(i))}}function ffe(t,e){if(t&1&&pe(0,"iframe",17),t&2){let i=ne();J("src",i.currentUrl,v9)}}var vz=(()=>{let e=class e{constructor(n,r,s,o,l){this.http=n,this.sanitizer=r,this.ngZone=s,this.gaService=o,this.responsive=l,this.isBelowMd=!1,this.newTab=new Se,this.treeControl=new z0(a=>a.children),this.dataSource=new G0}ngOnInit(){window.portugol={abrirExemplo:(n,r)=>{this.ngZone.run(()=>{this.newTab.emit({name:r,contents:n})})}},this.http.get("assets/recursos/ajuda/scripts/topicos.json").subscribe(n=>{this.dataSource.data=n,this.treeControl.expand(n[0]),this.loadItem(n[0])},()=>{})}ngOnDestroy(){this.responsive$?.unsubscribe()}ngAfterViewInit(){this.responsive$=this.responsive.isBelowMd().subscribe(n=>{this.isBelowMd=n.matches})}hasChildren(n,r){return r.children?.length??0}loadItem(n){this.gaService.event("help_navigation","Ajuda",n.href),this.current=n,this.currentUrl=this.sanitizer.bypassSecurityTrustResourceUrl(`assets/recursos/ajuda/${n.href}`)}};e.\u0275fac=function(r){return new(r||e)(I(h2),I(Eh),I(le),I(Xa),I($_))},e.\u0275cmp=Me({type:e,selectors:[["app-tab-help"]],outputs:{newTab:"newTab"},decls:12,vars:6,consts:[["unit","pixel",3,"direction"],[3,"size"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[3,"src",4,"ngIf"],["mat-ripple","","tabindex","0",3,"click","keydown.enter"],["mat-icon-button","","disabled","","title","\xCDcone de pasta"],["tabindex","0",3,"click","keydown.enter"],["mat-icon-button","","matTreeNodeToggle","","aria-label","Expandir/retrair conte\xFAdo da pasta",3,"ngSwitch"],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido",4,"ngSwitchCase"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido",4,"ngSwitchCase"],["matTreeNodeOutlet",""],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido"],[3,"src"]],template:function(r,s){r&1&&(R(0,"as-split",0)(1,"as-split-area",1)(2,"header"),pe(3,"svg-icon",2),R(4,"span"),N(5,"Ajuda"),F()(),R(6,"ul",3)(7,"mat-tree",4),ke(8,ufe,6,3,"mat-tree-node",5)(9,hfe,9,8,"mat-nested-tree-node",6),F()()(),R(10,"as-split-area"),ke(11,ffe,1,1,"iframe",7),F()()),r&2&&(J("direction",s.isBelowMd?"vertical":"horizontal"),G(),J("size",350),G(6),J("dataSource",s.dataSource)("treeControl",s.treeControl),G(2),J("matTreeNodeDefWhen",s.hasChildren),G(2),J("ngIf",s.current))},dependencies:[Vc,Ia,Bc,Y2,J0,Vo,is,V0,wg,Sg,Ag,xg,Tg,$0],styles:["header[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:#121e24;margin:7.5px;padding:12.5px 15px;font-size:1rem;gap:.5rem}header[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%]{width:1.3rem;height:1.3rem}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#263238}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;background-color:#263238;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#121e24}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}iframe[_ngcontent-%COMP%]{width:100%;height:100%;display:block;border:0 none}"]});let t=e;return t})();var mfe=()=>({marginLeft:0}),gfe=()=>({});function _fe(t,e){t&1&&(R(0,"span",8),pe(1,"svg-icon",9),F(),R(2,"span",10),N(3,"Portugol Webstudio"),F())}function vfe(t,e){t&1&&pe(0,"svg-icon",21)}function bfe(t,e){t&1&&pe(0,"svg-icon",22)}function yfe(t,e){if(t&1){let i=mt();R(0,"button",23),be("click",function(){ae(i);let r=ne(2).$implicit,s=ne();return ue(s.changeTabTitle(r))}),pe(1,"svg-icon",24),F()}}function Efe(t,e){if(t&1){let i=mt();R(0,"span")(1,"span",14),ke(2,vfe,1,0,"svg-icon",15)(3,bfe,1,0,"svg-icon",16),F(),R(4,"span",10),N(5),F()(),R(6,"span",17),ke(7,yfe,2,0,"button",18),R(8,"button",19),be("click",function(){ae(i);let r=ne().$implicit,s=ne();return ue(s.closeTab(r))}),pe(9,"svg-icon",20),F()()}if(t&2){let i=ne().$implicit;G(),J("ngSwitch",i.type),G(),J("ngSwitchCase","editor"),G(),J("ngSwitchCase","help"),G(2),Fn(i.title),G(2),J("ngIf",i.type==="editor"),G(),Fr(i.type==="editor"?U9(7,mfe):U9(8,gfe))}}function Cfe(t,e){if(t&1){let i=mt();R(0,"app-tab-editor",25),yo("titleChange",function(r){ae(i);let s=ne().$implicit;return ml(s.title,r)||(s.title=r),ue(r)}),be("help",function(){ae(i);let r=ne(2);return ue(r.upsertHelpTab())}),F()}if(t&2){let i=ne().$implicit;bo("title",i.title),J("code",i.contents)}}function Ife(t,e){if(t&1){let i=mt();R(0,"app-tab-help",26),be("newTab",function(r){ae(i);let s=ne(2);return ue(s.addTab(r==null?null:r.name,r==null?null:r.contents))}),F()}}function Tfe(t,e){if(t&1&&(R(0,"mat-tab"),ke(1,Efe,10,9,"ng-template",3),ya(2,11),ke(3,Cfe,1,2,"app-tab-editor",12)(4,Ife,1,0,"app-tab-help",13),Ea(),F()),t&2){let i=e.$implicit;G(2),J("ngSwitch",i.type),G(),J("ngSwitchCase","editor"),G(),J("ngSwitchCase","help")}}function Sfe(t,e){if(t&1){let i=mt();R(0,"button",27),be("click",function(){ae(i);let r=ne();return ue(r.addTab())}),pe(1,"svg-icon",28),F()}}var bz=(()=>{let e=class e{constructor(n,r,s){this.gaService=n,this.storage=r,this.snack=s,this.selected=new aS(0),this.tabs=[],this.tabIndex=1,this.shortcuts=[{key:"ctrl + q",preventDefault:!0,command:()=>{this.closeTab(this.tabs[this.selected.value??0])}},{key:"ctrl + n",preventDefault:!0,command:()=>{this.addTab()}}]}ngOnInit(){return K(this,null,function*(){try{if(window.location.hash.startsWith("#share=")){this.snack.open("Carregando c\xF3digo compartilhado\u2026",void 0,{duration:-1});let n=window.location.hash.slice(7),s=yield(yield mB(Gm(this.storage,n))).text();this.addTab(`C\xF3digo compartilhado (#${n})`,s),this.snack.dismiss(),this.gaService.event("load_shared_code_success","Interface","C\xF3digo compartilhado carregado")}}catch(n){console.error(n),this.snack.dismiss(),this.snack.open("Erro ao carregar c\xF3digo compartilhado","FECHAR",{duration:1e4}),this.gaService.event("load_shared_code_error","Interface","Erro ao carregar c\xF3digo compartilhado")}})}addTab(n,r){this.tabs.push({id:this.tabIndex++,title:n||"Sem t\xEDtulo",contents:r,type:"editor"}),this.selected.setValue(this.tabs.length),this.gaService.event("new_tab_top","Editor","Nova aba",this.tabs.length)}closeTab(n){n.type==="editor"&&!window.confirm("Tem certeza que deseja fechar a aba? O c\xF3digo n\xE3o salvo ser\xE1 perdido.")||(this.tabs.splice(this.tabs.indexOf(n),1),this.selected.setValue(0),this.gaService.event("close_tab","Interface","Fechar aba",this.tabs.length))}changeTabTitle(n){if(this.selected.value!==n.id||n.type!=="editor")return;this.gaService.event("edit_tab_title","Interface","Editar t\xEDtulo de aba");let r=prompt("Digite o novo t\xEDtulo",n.title);r&&(n.title=r)}upsertHelpTab(){let n=this.tabs.findIndex(r=>r.type==="help");n===-1?(this.tabs.push({id:this.tabIndex++,title:"Ajuda",type:"help"}),this.gaService.event("help_tab_open","Interface","Nova aba de ajuda"),this.selected.setValue(this.tabs.length)):(this.gaService.event("help_tab_select","Interface","Selecionar aba de ajuda j\xE1 aberta"),this.selected.setValue(n+1))}};e.\u0275fac=function(r){return new(r||e)(I(Xa),I(Al),I(up))},e.\u0275cmp=Me({type:e,selectors:[["app-root"]],decls:10,vars:3,consts:[[3,"shortcuts"],["id","preload"],["animationDuration","0","mat-stretch-tabs","false","mat-align-tabs","start",3,"selectedIndexChange","selectedIndex"],["mat-tab-label",""],[3,"newTab","help"],[4,"ngFor","ngForOf"],["disabled",""],["mat-tab-label","",1,"tab-add"],[1,"tab-icon"],["src","assets/lightbulb.svg","svgClass","text-primary cap-my-height","svgAriaLabel","\xCDcone do Portugol"],[1,"tab-text"],[3,"ngSwitch"],[3,"title","code","titleChange","help",4,"ngSwitchCase"],[3,"newTab",4,"ngSwitchCase"],[1,"tab-icon",3,"ngSwitch"],["src","assets/mdi/file.svg","svgAriaLabel","\xCDcone de arquivo",4,"ngSwitchCase"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda",4,"ngSwitchCase"],[1,"tab-actions"],["mat-icon-button","","aria-label","Renomear aba","matTooltip","Renomear aba",3,"click",4,"ngIf"],["mat-icon-button","","aria-label","Fechar aba","matTooltip","Fechar aba",3,"click"],["src","assets/mdi/close.svg","svgAriaLabel","\xCDcone de fechar aba"],["src","assets/mdi/file.svg","svgAriaLabel","\xCDcone de arquivo"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda"],["mat-icon-button","","aria-label","Renomear aba","matTooltip","Renomear aba",3,"click"],["src","assets/mdi/rename-outline.svg","svgAriaLabel","\xCDcone de renomear aba"],[3,"titleChange","help","title","code"],[3,"newTab"],["mat-icon-button","","aria-label","Nova aba de editor de c\xF3digo","matTooltip","Nova aba de editor de c\xF3digo",1,"add-button",3,"click"],["src","assets/mdi/plus.svg","svgAriaLabel","\xCDcone de adicionar aba"]],template:function(r,s){r&1&&(pe(0,"ng-keyboard-shortcuts",0),R(1,"div",1),pe(2,"ngx-monaco-editor"),F(),R(3,"mat-tab-group",2),be("selectedIndexChange",function(l){return s.selected.setValue(l)}),R(4,"mat-tab"),ke(5,_fe,4,0,"ng-template",3),R(6,"app-tab-start",4),be("newTab",function(l){return s.addTab(l==null?null:l.name,l==null?null:l.contents)})("help",function(){return s.upsertHelpTab()}),F()(),ke(7,Tfe,5,3,"mat-tab",5),R(8,"mat-tab",6),ke(9,Sfe,2,0,"ng-template",7),F()()),r&2&&(J("shortcuts",s.shortcuts),G(3),J("selectedIndex",s.selected.value),G(4),J("ngForOf",s.tabs))},dependencies:[K9,Vc,Ia,Bc,Y0,n_,Vo,$S,GS,QU,V0,Cg,pz,_z,vz],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;padding:.5rem}#preload[_ngcontent-%COMP%]{width:0;height:0;opacity:0;z-index:-1} mat-tab-group{display:flex;flex-direction:row;flex-wrap:nowrap;flex-grow:1;border-radius:10px;overflow:hidden} mat-tab-group .mat-mdc-tab{--mdc-secondary-navigation-tab-container-height: 40px;--mat-tab-header-active-label-text-color: $tab-active-color;--mat-tab-header-active-focus-label-text-color: $tab-active-color;--mat-tab-header-active-hover-label-text-color: $tab-active-color;--mat-tab-header-active-hover-indicator-color: $tab-active-color;position:relative;background-color:#445056;color:#cdcdcd;font-weight:700;font-size:14px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;padding:.5rem 1rem;height:40px;margin-right:1px;text-decoration:none;transition:all .2s ease;opacity:1;justify-content:flex-start;min-width:0;font-family:Lato,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none} mat-tab-group .mat-mdc-tab .mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:0} mat-tab-group .mat-mdc-tab:hover .mdc-tab__ripple:before{opacity:0} mat-tab-group .mat-mdc-tab.mat-mdc-tab-disabled{opacity:1;pointer-events:auto} mat-tab-group .mat-mdc-tab .mdc-tab-indicator{display:none} mat-tab-group .mat-mdc-tab .mdc-tab__text-label>span{display:inline-flex} mat-tab-group .mat-mdc-tab:last-child{padding:0!important;color:#fff} mat-tab-group .mat-mdc-tab:last-child button{border-radius:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0){padding-right:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active){padding-right:16px} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active) .tab-actions{display:none} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) .add-button{--mdc-icon-button-state-layer-size: 40px;padding:8px 0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__content, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mat-mdc-tab-ripple, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__ripple:before{pointer-events:all} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) button:not(.add-button){border-radius:0;display:inline-block;margin-left:10px;padding:0;width:30px;height:30px;line-height:0;--mdc-icon-button-icon-size: 20px} mat-tab-group .mat-mdc-tab.mdc-tab--active, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled){background-color:#263238!important;color:#cdcdcd!important} mat-tab-group .mat-mdc-tab.mdc-tab--active:after, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled):after{content:"";position:absolute;top:0;left:0;right:0;width:100%;height:1px;background-color:#ffc200} mat-tab-group .mat-mdc-tab .tab-icon svg, mat-tab-group .mat-mdc-tab .tab-icon img, mat-tab-group .mat-mdc-tab .tab-add-icon{display:flex;align-items:center;justify-content:center;width:1rem;margin-right:.5rem;color:#cdcdcd;fill:currentColor} mat-tab-group .mat-mdc-tab .tab-text{flex-grow:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:normal} mat-tab-group .mat-mdc-tab-body-wrapper{flex-grow:1} mat-tab-group .mat-mdc-tab-body-wrapper mat-tab-body{background-color:#263238;color:#cdcdcd;flex-grow:1;overflow:hidden}.cap-my-height[_ngcontent-%COMP%]{height:1.15rem}']});let t=e;return t})();var ax=(()=>{let e=class e{constructor(n){this.monacoLoaderService=n,this.monacoLoaderService.isMonacoLoaded$.pipe(Ge(r=>r),en(1)).subscribe(()=>{try{monaco.languages.register({id:"portugol",extensions:[".por"],aliases:["Portugol"]}),monaco.languages.setLanguageConfiguration("portugol",{wordPattern:/(-?\d*\.\d\w*)|([^\s!"#%&'()*+,./:;<=>?@[\\\]^`{|}~\-]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:monaco.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|( {2}))* \*( ([^*]|\*(?!\/))*)?$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|( {2}))* \*\/\s*$/,action:{indentAction:monaco.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:/^\s*\/\/\s*#?region\b/,end:/^\s*\/\/\s*#?endregion\b/}}}),monaco.languages.setMonarchTokensProvider("portugol",{defaultToken:"invalid",tokenPostfix:".portugol",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],keywords:["faca","enquanto","para","se","senao","const","funcao","programa","escolha","caso","contrario","pare","retorne","inclua","biblioteca","verdadeiro","falso"],typeKeywords:["real","inteiro","vazio","logico","cadeia","caracter"],operators:["nao","e","ou","-","+","*","/","%","=","==","!=",">","<","<=",">=","++","--","<<",">>","^","|","~","-->","&","+=","-=","*=","/="],symbols:/[!%&*+/:<=>?^|~\-]+/,escapes:/\\(?:["'\\abfnrtv]|x[\dA-Fa-f]{1,4}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[01]+(_+[01]+)*/,hexdigits:/[\dA-F[a-f]+(_+[\dA-Fa-f]+)*/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],[/([1A-Z_a-z{}]\w+)(?=\s*\()/,"functions"],{include:"common"}],common:[[/[$_a-z][\w$]*/,{cases:{"@typeKeywords":"keyword","@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w$]*/,"type.identifier"],{include:"@whitespace"},[/[()[\]{}]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([Ee][+\-]?\d+)?/,"number.float"],[/0[Xx][\dA-Fa-f]+/,"number.hex"],[/\d+/,"number"],[/[,.;]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^'\\]'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],comment:[[/[^*/]+/,"comment"],[/\/\*/,"comment","@push"],[String.raw`\*/`,"comment","@pop"],[/[*/]/,"comment"]],string:[[/[^"\\]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[\t\n\r ]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],bracketCounting:[[/{/,"delimiter.bracket","@bracketCounting"],[/}/,"delimiter.bracket","@pop"],{include:"common"}]}}),monaco.editor.defineTheme("portugol",{base:"vs-dark",inherit:!0,rules:[{token:"functions",foreground:"F5D7A9"},{token:"string.escape",foreground:"D2BB85"},{token:"string.escape.invalid",foreground:"DF5953"}],colors:{}})}catch(r){console.error(r),window.location.reload()}})}};e.\u0275fac=function(r){return new(r||e)(x(ww))},e.\u0275prov=q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();var yz=(()=>{let e=class e{constructor(n){this.toastRef=n}onReload(){confirm(`Lembre-se de salvar seu c\xF3digo antes de recarregar a p\xE1gina! +`,this._stdOut$=this.executor.stdOut$.subscribe(()=>{this.stdOutEditorCursorEnd()}),this._events$=this.executor.events.subscribe({next:n=>{switch(n.type){case"error":{this.gaService.event("execution_error","Execu\xE7\xE3o","Erro em execu\xE7\xE3o de c\xF3digo");break}case"parseError":{this.setEditorErrors(n.errors);break}default:break}},error:n=>{this.gaService.event("execution_runner_error","Execu\xE7\xE3o","Erro ao carregar o runner para rodar o c\xF3digo"),un(n,{extra:{code:this.code}})}})}ngOnDestroy(){this._code$?.unsubscribe(),this._events$?.unsubscribe(),this._stdOut$?.unsubscribe(),this.executor.stop()}runCode(){return K(this,null,function*(){this.gaService.event("editor_start_execution","Editor","Bot\xE3o de Iniciar Execu\xE7\xE3o"),O7("code",this.code),this.transpiling=!0;let n=this.code??"",r;try{r=yield this.worker.transpileCode(n)}catch(s){un(s,{tags:{transpile:!0},extra:{code:n}}),alert("Ocorreu um erro ao transpilar o c\xF3digo, possivelmente o seu navegador n\xE3o suporta Web Workers. Por favor, tente novamente em outro navegador. Caso o erro persista, acesse https://github.com/dgadelha/Portugol-Webstudio/issues/new/choose"),alert(s)}finally{this.transpiling=!1}r&&(this.setEditorErrors([]),this.executor.runTranspiled(ee(b({},r),{code:n})))})}stopCode(){this.gaService.event("editor_stop_execution","Editor","Bot\xE3o de Parar Execu\xE7\xE3o"),this.executor.stop(),this.transpiling&&(this.worker.abortTranspilation(),this.transpiling=!1),this.stdOutEditorCursorEnd()}openFile(n){this.gaService.event("editor_open_file","Editor","Bot\xE3o de Abrir arquivo");let{files:r}=n.target;if(!r||r.length===0)return;let s=new FileReader,o=r[0];s.addEventListener("load",l=>{let a=l.target?.result;this.title=o.name,this.titleChange.emit(o.name),this.code=a?.toString()}),s.readAsText(o,"ISO-8859-1")}saveFile(){this.gaService.event("editor_save_file","Editor","Bot\xE3o de Salvar arquivo");let r=new fz.TextEncoder("ISO-8859-1",{NONSTANDARD_allowLegacyEncoding:!0}).encode(this.code),s=new Blob([r],{type:"application/octet-stream; charset=ISO-8859-1"}),o=this.title||"Sem t\xEDtulo";o.endsWith(".por")||(o+=".por"),(0,hz.saveAs)(s,o,{autoBom:!1})}onStdOutEditorInit(n){this.initShortcuts(n),this.stdOutEditor=n,n.onKeyDown(r=>{this.executor.waitingForInput&&(r.code==="Enter"||r.browserEvent.keyCode===13||r.browserEvent.key==="Enter"?this.executor.stdIn.next("\r"):r.code==="Backspace"?this.executor.stdIn.next("\b"):r.browserEvent.key.length===1&&this.executor.stdIn.next(r.browserEvent.key))})}stdOutEditorCursorEnd(){if(!this.stdOutEditor)return;let n=this.stdOutEditor,r=n.getModel();r&&(setTimeout(()=>{n.setPosition({lineNumber:r.getLineCount(),column:r.getLineMaxColumn(r.getLineCount())}),n.setScrollPosition({scrollLeft:0,scrollTop:n.getScrollHeight()})},1),n.focus())}initShortcuts(n){n.addAction({id:"runCode",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.Enter],label:"Executar c\xF3digo",run:this.runCode.bind(this)}),n.addAction({id:"saveFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyS],label:"Salvar arquivo",run:this.saveFile.bind(this)}),n.addAction({id:"openFile",keybindings:[monaco.KeyMod.CtrlCmd|monaco.KeyCode.KeyO],label:"Abrir arquivo",run:()=>{this.fileInput.nativeElement.click()}}),n.addAction({id:"openHelp",keybindings:[monaco.KeyCode.F1],label:"Ajuda",run:this.openHelp.bind(this)})}onEditorInit(n){this.codeEditor=n,this.initShortcuts(n),this._code$?.unsubscribe(),this._code$=o8(n.onDidChangeModelContent).pipe(Ki(500),dr(()=>K(this,null,function*(){return this.worker.checkCode(this.code??"")}))).subscribe({next:r=>{this.setEditorErrors(r.errors)},error(r){console.error(r)}})}openHelp(){this.gaService.event("editor_help_tab_open","Editor","Nova aba de ajuda atrav\xE9s do Editor"),this.help.emit()}shareFile(){return K(this,null,function*(){if(!this.code)return;this.sharing=!0;let n=(Math.random()+1).toString(36).slice(2,9);(yield _B(Gm(this.storage,n),this.code,void 0,{contentType:"text/plain"}).catch(s=>(console.error(s),null)))?(this.snack.openFromTemplate(this.shareSnackTemplate,{data:{url:`https://portugol.dev/#share=${n}`}}),this.gaService.event("share_code_success","Editor","C\xF3digo compartilhado com sucesso")):(this.snack.open("Ocorreu um erro ao compartilhar o arquivo. Tente novamente mais tarde.","OK",{duration:3e3}),this.gaService.event("share_code_error","Editor","Erro ao compartilhar c\xF3digo")),setTimeout(()=>{this.sharing=!1},1e3)})}copyStringAndCloseSnack(n){return K(this,null,function*(){yield navigator.clipboard.writeText(n),this.snack.dismiss()})}setEditorErrors(n){let r=this.codeEditor?.getModel();r&&monaco.editor.setModelMarkers(r,"owner",n.map(s=>({startLineNumber:s.startLine,startColumn:s.startCol+1,endLineNumber:s.endLine,endColumn:s.endCol+2,message:s.message,severity:monaco.MarkerSeverity.Error})))}};e.\u0275fac=function(r){return new(r||e)(I(Xa),I(Al),I(up),I(dz))},e.\u0275cmp=Me({type:e,selectors:[["app-tab-editor"]],viewQuery:function(r,s){if(r&1&&(Et(Zhe,5),Et(Xhe,5,xt)),r&2){let o;nt(o=it())&&(s.fileInput=o.first),nt(o=it())&&(s.shareSnackTemplate=o.first)}},inputs:{title:"title",code:"code"},outputs:{titleChange:"titleChange",help:"help"},decls:30,vars:14,consts:[["fileInput",""],["shareSnackTemplate",""],[3,"shortcuts"],[1,"sidebar"],["mat-ripple","","type","button","title","Iniciar execu\xE7\xE3o",1,"sidebar-button",3,"click","disabled"],["src","assets/icon-start.svg","svgAriaLabel","\xCDcone de iniciar execu\xE7\xE3o"],["mat-ripple","","type","button","title","Parar execu\xE7\xE3o",1,"sidebar-button",3,"click","disabled"],["src","assets/mdi/square-rounded-outline.svg","svgClass","text-tertiary","svgAriaLabel","\xCDcone de parar execu\xE7\xE3o"],[1,"sidebar-divider"],["mat-ripple","","type","button","title","Salvar arquivo",1,"sidebar-button",3,"click"],["src","assets/mdi/content-save-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de disquete para a\xE7\xE3o de salvar arquivo"],["mat-ripple","","type","button","title","Abrir arquivo",1,"sidebar-button",3,"click"],["src","assets/mdi/folder-open-outline.svg","svgClass","text-primary","svgAriaLabel","\xCDcone de pasta para a\xE7\xE3o de abrir arquivo"],["type","file","hidden","","accept",".por,text/plain",3,"change"],["mat-ripple","","type","button","title","Compartilhar c\xF3digo",1,"sidebar-button",3,"click","disabled"],["src","assets/mdi/share-variant-outline.svg","svgClass","text-secondary","svgAriaLabel","\xCDcone de compartilhar c\xF3digo"],["mat-ripple","","type","button","title","Abrir se\xE7\xE3o de Ajuda",1,"sidebar-button",3,"click"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda"],[1,"editor-inner"],["direction","vertical"],[3,"size"],["direction","horizontal"],[3,"ngModelChange","init","options","ngModel"],[3,"ngModelChange","options","ngModel"],["id","output",3,"ngModelChange","init","options","ngModel"],[1,"share-snack"],["target","_blank",3,"href"],["mat-raised-button","","color","primary",3,"click"]],template:function(r,s){if(r&1){let o=mt();pe(0,"ng-keyboard-shortcuts",2),R(1,"div",3)(2,"button",4),be("click",function(){return ae(o),ue(s.runCode())}),pe(3,"svg-icon",5),F(),R(4,"button",6),be("click",function(){return ae(o),ue(s.stopCode())}),pe(5,"svg-icon",7),F(),pe(6,"div",8),R(7,"button",9),be("click",function(){return ae(o),ue(s.saveFile())}),pe(8,"svg-icon",10),F(),R(9,"button",11),be("click",function(){ae(o);let a=Br(12);return ue(a.click())}),pe(10,"svg-icon",12),R(11,"input",13,0),be("change",function(a){return ae(o),ue(s.openFile(a))}),F()(),R(13,"button",14),be("click",function(){return ae(o),ue(s.shareFile())}),pe(14,"svg-icon",15),F(),pe(15,"div",8),R(16,"button",16),be("click",function(){return ae(o),ue(s.openHelp())}),pe(17,"svg-icon",17),F()(),R(18,"div",18)(19,"as-split",19)(20,"as-split-area",20)(21,"as-split",21)(22,"as-split-area",20)(23,"ngx-monaco-editor",22),yo("ngModelChange",function(a){return ae(o),ml(s.code,a)||(s.code=a),ue(a)}),be("init",function(a){return ae(o),ue(s.onEditorInit(a))}),F()(),R(24,"as-split-area",20)(25,"ngx-monaco-editor",23),yo("ngModelChange",function(a){return ae(o),ml(s.executor.byteCode,a)||(s.executor.byteCode=a),ue(a)}),F()()()(),R(26,"as-split-area",20)(27,"ngx-monaco-editor",24),yo("ngModelChange",function(a){return ae(o),ml(s.executor.stdOut,a)||(s.executor.stdOut=a),ue(a)}),be("init",function(a){return ae(o),ue(s.onStdOutEditorInit(a))}),F()()()(),ke(28,Qhe,14,10,"ng-template",null,1,a2)}r&2&&(J("shortcuts",s.shortcuts),G(2),J("disabled",s.executor.running||s.transpiling),G(2),J("disabled",!s.executor.running&&!s.transpiling),G(9),J("disabled",s.sharing),G(7),J("size",80),G(2),J("size",100),G(),J("options",s.codeEditorOptions),bo("ngModel",s.code),G(),J("size",0),G(),J("options",s.generatedCodeEditorOptions),bo("ngModel",s.executor.byteCode),G(),J("size",20),G(),J("options",s.stdOutEditorOptions),bo("ngModel",s.executor.stdOut))},dependencies:[Xm,Wf,Y2,J0,Y0,n_,Vo,is,Ga,uN],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;height:100%} .editor-inner .monaco-editor .monaco-hover{position:fixed;z-index:9999}.editor-inner[_ngcontent-%COMP%]{background-color:#202b30;flex-grow:1;display:flex}.editor-inner[_ngcontent-%COMP%] as-split-area[_ngcontent-%COMP%]{overflow:hidden}.editor-inner[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1}.sidebar[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.sidebar-button[_ngcontent-%COMP%]{appearance:none;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#263238;color:#cdcdcd;border:none;transition:all .2s ease;cursor:pointer}.sidebar-button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:#354046}.sidebar-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;pointer-events:none}.sidebar-button[_ngcontent-%COMP%]:disabled svg[_ngcontent-%COMP%]{filter:grayscale(1);-webkit-transform:translateZ(0)}.sidebar-button[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], .sidebar-button[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%]{width:1.5rem;height:1.5rem;fill:currentColor}.sidebar-divider[_ngcontent-%COMP%]{margin-top:.5rem;margin-bottom:.5rem;width:100%;height:1px;background-color:#445056} #output .monaco-editor-overlaymessage{display:none!important}#bug[_ngcontent-%COMP%]{position:absolute;bottom:7.5px;right:7.5px}.share-snack[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:9pt;margin:0;display:block;text-align:center}"]});let t=e;return t})();var $_=(()=>{let e=class e{constructor(n){this.observer=n}isBelowSm(){return this.observer.observe(["(max-width: 575px)"])}isBelowMd(){return this.observer.observe(["(max-width: 767px)"])}isBelowLg(){return this.observer.observe(["(max-width: 991px)"])}isBelowXl(){return this.observer.observe(["(max-width: 1199px)"])}};e.\u0275fac=function(r){return new(r||e)(x(L0))},e.\u0275prov=q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function efe(t,e){t&1&&pe(0,"mat-spinner",6),t&2&&J("diameter",50)}function tfe(t,e){if(t&1){let i=mt();R(0,"mat-tree-node")(1,"li",16),be("click",function(){let r=ae(i).$implicit,s=ne(2);return ue(s.loadItem(r))})("keydown.enter",function(){let r=ae(i).$implicit,s=ne(2);return ue(s.loadItem(r))}),R(2,"button",17),pe(3,"svg-icon"),F(),R(4,"span"),N(5),F()()()}if(t&2){let i=e.$implicit,n=ne(2);G(),ut("active",(n.current==null?null:n.current.id)===i.id),G(4),Fn(i.name)}}function nfe(t,e){t&1&&pe(0,"svg-icon",23)}function ife(t,e){t&1&&pe(0,"svg-icon",24)}function rfe(t,e){if(t&1&&(R(0,"mat-nested-tree-node")(1,"li",18)(2,"button",19),ke(3,nfe,1,0,"svg-icon",20)(4,ife,1,0,"svg-icon",21),F(),R(5,"span"),N(6),F()(),R(7,"ul"),Dn(8,22),F()()),t&2){let i=e.$implicit,n=ne(2);G(2),J("ngSwitch",n.treeControl.isExpanded(i)),G(),J("ngSwitchCase",!0),G(),J("ngSwitchCase",!1),G(2),Fn(i.name),G(),ut("hidden",!n.treeControl.isExpanded(i))}}function sfe(t,e){t&1&&(R(0,"div",25)(1,"p"),N(2,"Selecione um exemplo ao lado."),F()())}function ofe(t,e){if(t&1){let i=mt();R(0,"div",26)(1,"h3"),N(2),F(),R(3,"p"),N(4),F(),R(5,"ngx-monaco-editor",27),yo("ngModelChange",function(r){ae(i);let s=ne(2);return ml(s.exampleCode,r)||(s.exampleCode=r),ue(r)}),be("init",function(r){ae(i);let s=ne(2);return ue(s.editor=r)}),F(),R(6,"button",28),be("click",function(){ae(i);let r=ne(2);return ue(r.openExample(r.current))}),N(7,"Abrir"),F()()}if(t&2){let i=ne(2);G(2),Fn(i.current==null?null:i.current.name),G(2),Fn(i.current==null?null:i.current.description),G(),J("options",i.editorOptions),bo("ngModel",i.exampleCode)}}function lfe(t,e){if(t&1&&(R(0,"div")(1,"as-split",7)(2,"as-split-area",8)(3,"ul",9)(4,"mat-tree",10),ke(5,tfe,6,3,"mat-tree-node",11)(6,rfe,9,6,"mat-nested-tree-node",12),F()()(),R(7,"as-split-area",13),ke(8,sfe,3,0,"div",14)(9,ofe,8,4,"div",15),F()()()),t&2){let i=ne();G(),J("direction",i.isBelowMd?"vertical":"horizontal"),G(),J("size",40),G(2),J("dataSource",i.dataSource)("treeControl",i.treeControl),G(2),J("matTreeNodeDefWhen",i.hasChildren),G(),J("size",60)("ngSwitch",i.current),G(),J("ngSwitchCase",null)}}var gz=(()=>{let e=class e{constructor(n,r){this.http=n,this.responsive=r,this.exampleOpened=new Se,this.current=null,this.loading=!0,this.isBelowMd=!1,this.rawExampleCode="",this.rawExampleCodeId="",this.exampleCode="",this.editorOptions={theme:"portugol",lineNumbers:"off",readOnly:!0,minimap:{enabled:!1},language:"portugol"},this.treeControl=new z0(s=>s.children),this.dataSource=new G0}ngOnInit(){this._data$=this.http.get("assets/recursos/exemplos/index.json").pipe(yv()).subscribe(n=>{this.loading=!1,this.dataSource.data=n})}ngAfterViewInit(){this._responsive$=this.responsive.isBelowMd().subscribe(n=>{this.isBelowMd=n.matches})}ngOnDestroy(){this._responsive$?.unsubscribe(),this._data$?.unsubscribe()}hasChildren(n,r){return r.children?.length??0}loadItem(n){this._loadSubscription$?.unsubscribe(),this.current=n,this.exampleCode="// Carregando\u2026",this.rawExampleCode="",this.rawExampleCodeId="",this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${n.file}`,{responseType:"text"}).subscribe(r=>{if(this.current?.id===n.id){this.rawExampleCode=r,this.rawExampleCodeId=n.id;let s=r.indexOf("*/");this.exampleCode=r.slice(s===-1?0:r.indexOf("*/")+2).trim()}})}openExample(n){if(this.rawExampleCode&&this.rawExampleCodeId===n.id){this.exampleOpened.emit({title:n.name,code:this.rawExampleCode});return}this.loading=!0,this._loadSubscription$?.unsubscribe(),this._loadSubscription$=this.http.get(`assets/recursos/exemplos/${n.file}`,{responseType:"text"}).subscribe(r=>{this.current?.id===n.id&&this.exampleOpened.emit({title:n.name,code:r})})}};e.\u0275fac=function(r){return new(r||e)(I(h2),I($_))},e.\u0275cmp=Me({type:e,selectors:[["app-dialog-open-example"]],outputs:{exampleOpened:"exampleOpened"},decls:9,vars:3,consts:[["mat-dialog-title",""],["tabindex","-1","mat-dialog-close","","mat-icon-button","","aria-label","Fechar di\xE1logo"],["src","assets/mdi/close.svg","svgAriaLabel","\xCDcone de fechar di\xE1logo"],["mat-dialog-content","",3,"ngSwitch"],[3,"diameter",4,"ngSwitchCase"],[4,"ngSwitchCase"],[3,"diameter"],[3,"direction"],[3,"size"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[1,"d-flex",3,"size","ngSwitch"],["id","empty",4,"ngSwitchCase"],["id","content",4,"ngSwitchDefault"],["mat-ripple","","tabindex","0",3,"click","keydown.enter"],["mat-icon-button","","disabled","","title","Expandir/retrair"],["matTreeNodeToggle",""],["tabindex","-1","mat-icon-button","","matTreeNodeToggle","","aria-label","Expandir/retrair conte\xFAdo da pasta",3,"ngSwitch"],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido",4,"ngSwitchCase"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido",4,"ngSwitchCase"],["matTreeNodeOutlet",""],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido"],["id","empty"],["id","content"],[3,"ngModelChange","init","options","ngModel"],["mat-raised-button","","color","primary",3,"click"]],template:function(r,s){r&1&&(R(0,"header",0)(1,"span"),N(2,"Abrir Exemplo\u2026"),F(),pe(3,"s"),R(4,"button",1),pe(5,"svg-icon",2),F()(),R(6,"main",3),ke(7,efe,1,1,"mat-spinner",4)(8,lfe,10,8,"div",5),F()),r&2&&(G(6),J("ngSwitch",s.loading),G(),J("ngSwitchCase",!0),G(),J("ngSwitchCase",!1))},dependencies:[Ia,Bc,aN,Xm,Wf,Y2,J0,Y0,Vo,is,BU,RU,MU,kU,Ga,V0,wg,Sg,Ag,xg,Tg,$0],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;--mdc-dialog-supporting-text-size: 14px;--mdc-dialog-supporting-text-line-height: 21px;--mdc-dialog-supporting-text-color: #fff;height:100%}header[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(229,229,229,.4)}mat-spinner[_ngcontent-%COMP%]{margin:0 auto}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#0003}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}.mat-mdc-dialog-content[_ngcontent-%COMP%], main[_ngcontent-%COMP%]{display:flex;max-height:100%}main[_ngcontent-%COMP%], main[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex-grow:1} .as-split-gutter{background-color:#0003!important}#empty[_ngcontent-%COMP%]{flex-grow:1;display:flex;align-items:center}#empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 auto}#content[_ngcontent-%COMP%]{width:100%;padding:1rem 1.5rem 1.5rem;position:relative;display:flex;flex-direction:column}#content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0}#content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{text-align:justify}#content[_ngcontent-%COMP%] ngx-monaco-editor[_ngcontent-%COMP%]{flex-grow:1;margin-bottom:3.75rem}#content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:calc(100% - 22.5px);text-transform:uppercase;position:absolute;bottom:20px;left:15px;right:7.5px;font-size:1.15rem;line-height:3rem}"]});let t=e;return t})();var _z=(()=>{let e=class e{constructor(n,r,s){this.gaService=n,this.sanitizer=r,this.dialog=s,this.newTab=new Se,this.help=new Se;let o=new Date().getMonth()+1,l=new Date().getDate();o===2&&l>=10||o===3&&l<=5?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/carnaval.svg"):o===3&&l>=20||o===4&&l<=25?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/pascoa.svg"):o===10&&l>=20||o===11&&l<=5?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/halloween.svg"):o===12&&l>=15&&l<=29?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/natal.svg"):o===12&&l>=30||o===1&&l<=5?this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/ano-novo.svg"):this.logo=this.sanitizer.bypassSecurityTrustResourceUrl("assets/logo/default.svg")}openFile(n){this.gaService.event("home_open_file","Aba Inicial","Abrir arquivo atrav\xE9s da aba Inicial");let{files:r}=n.target;if(!(!r||r.length===0))for(let s=0;s{let u=a.target?.result;this.newTab.emit({name:l.name,contents:u})}),o.readAsText(l,"ISO-8859-1")}}openExamplesDialog(){this.gaService.event("open_examples_dialog","Aba Inicial","Abrir di\xE1logo de exemplos");let n=this.dialog.open(gz,{width:"min(85vw, 780px)",height:"min(85vh, 600px)"});this._dialogExample$=n.componentInstance.exampleOpened.subscribe(r=>{this.gaService.event("open_example","Di\xE1logo de Exemplos",`Abrir exemplo: ${r.title}`),n.close(),this.newTab.emit({name:r.title,contents:r.code})}),this._dialogRef$=n.beforeClosed().subscribe(()=>{this._dialogRef$?.unsubscribe(),this._dialogExample$?.unsubscribe()})}};e.\u0275fac=function(r){return new(r||e)(I(Xa),I(Eh),I(lp))},e.\u0275cmp=Me({type:e,selectors:[["app-tab-start"]],outputs:{newTab:"newTab",help:"help"},decls:63,vars:1,consts:[["fileInput",""],["width","100%","alt","Logomarca do Portugol Webstudio",1,"logo",3,"src"],["mat-ripple","",3,"click"],["src","assets/mdi/file-plus-outline.svg","svgClass","text-secondary","svgAriaLabel","\xCDcone de novo arquivo"],["src","assets/mdi/folder-open-outline.svg","svgClass","text-primary","svgAriaLabel","\xCDcone de pasta para a\xE7\xE3o de abrir arquivo"],["type","file","hidden","","multiple","","accept",".por,text/plain",3,"change"],["src","assets/mdi/book-open-page-variant-outline.svg","svgClass","text-primary","svgAriaLabel","\xCDcone de livro para a\xE7\xE3o de abrir exemplo"],["src","assets/mdi/help.svg","svgClass","text-quaternary","alt","\xCDcone de ajuda"],["href","https://github.com/dgadelha/Portugol-Webstudio/discussions/categories/ideias-e-sugest%C3%B5es","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/mdi/lightbulb-on-outline.svg","svgClass","text-secondary","svgAriaLabel","\xCDcone de l\xE2mpada para a\xE7\xE3o de enviar sugest\xF5es"],["href","https://github.com/dgadelha/Portugol-Webstudio/discussions/categories/d%C3%BAvidas-perguntas","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/mdi/comment-question-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de bal\xE3o de di\xE1logo para a\xE7\xE3o de enviar d\xFAvidas"],["href","https://github.com/dgadelha/Portugol-Webstudio/issues/new?template=bug.yml","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/mdi/bug-outline.svg","svgClass","text-tertiary","svgAriaLabel","\xCDcone de inseto para a\xE7\xE3o de reportar um problema"],["href","https://github.com/dgadelha/Portugol-Webstudio","target","_blank","rel","external noreferrer noopener nofollow","mat-ripple","",3,"click"],["src","assets/icon-github.svg","svgAriaLabel","\xCDcone do GitHub"],[1,"info"],["src","assets/mdi/newspaper.svg","svgAriaLabel","\xCDcone de jornal para not\xEDcias"],["matTooltip","25/07/2024 01:58:46 AM UTC"]],template:function(r,s){if(r&1){let o=mt();pe(0,"img",1),R(1,"nav")(2,"button",2),be("click",function(){return ae(o),ue(s.newTab.emit())}),pe(3,"svg-icon",3),R(4,"span"),N(5,"Novo Arquivo"),F()(),R(6,"button",2),be("click",function(){ae(o);let a=Br(11);return ue(a.click())}),pe(7,"svg-icon",4),R(8,"span"),N(9,"Abrir Arquivo"),F(),R(10,"input",5,0),be("change",function(a){return ae(o),ue(s.openFile(a))}),F()(),R(12,"button",2),be("click",function(){return ae(o),ue(s.openExamplesDialog())}),pe(13,"svg-icon",6),R(14,"span"),N(15,"Abrir Exemplo"),F()(),R(16,"button",2),be("click",function(){return ae(o),ue(s.help.emit())}),pe(17,"svg-icon",7),R(18,"span"),N(19,"Ajuda"),F()(),R(20,"a",8),be("click",function(){return ae(o),ue(s.gaService.event("suggest_features","Aba Inicial","Enviar sugest\xF5es"))}),pe(21,"svg-icon",9),R(22,"span"),N(23,"Sugest\xF5es"),F()(),R(24,"a",10),be("click",function(){return ae(o),ue(s.gaService.event("ask_questions","Aba Inicial","Enviar d\xFAvidas"))}),pe(25,"svg-icon",11),R(26,"span"),N(27,"D\xFAvidas e Perguntas"),F()(),R(28,"a",12),be("click",function(){return ae(o),ue(s.gaService.event("ask_questions","Aba Inicial","Enviar d\xFAvidas"))}),pe(29,"svg-icon",13),R(30,"span"),N(31,"Reportar um problema"),F()(),R(32,"a",14),be("click",function(){return ae(o),ue(s.gaService.event("view_source_code","Aba Inicial","Ver c\xF3digo-fonte"))}),pe(33,"svg-icon",15),R(34,"span"),N(35,"C\xF3digo-fonte"),F()()(),R(36,"section",16)(37,"h4"),pe(38,"svg-icon",17),N(39,"Novidades"),F(),R(40,"p")(41,"strong"),N(42,"02/05/2024:"),F(),N(43," Portugol Webstudio como PWA: funcionamento offline"),F(),R(44,"p")(45,"strong"),N(46,"01/05/2024:"),F(),N(47," Corre\xE7\xE3o de retorno em fun\xE7\xE3o vazia"),F(),R(48,"p")(49,"strong"),N(50,"30/04/2024:"),F()(),R(51,"ul")(52,"li"),N(53,"Melhorias de acessibilidade e ajustes na tela inicial e \xEDcones"),F(),R(54,"li"),N(55,"Corre\xE7\xE3o nas verifica\xE7\xF5es de erros relacionados a escopo e tipos"),F(),R(56,"li"),N(57,"Melhorias na experi\xEAncia de erros e de estabilidade no geral"),F()()(),R(58,"footer")(59,"summary"),N(60,"Vers\xE3o: "),R(61,"span",18),N(62,"703f93a"),F()()()}r&2&&J("src",s.logo,bc)},dependencies:[Vo,is,Cg],styles:["[_nghost-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;min-height:100%;padding:2rem}.logo[_ngcontent-%COMP%]{max-width:20rem;margin-bottom:2rem}nav[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:.5rem;align-items:center;justify-content:center}@media (max-width: 576px){nav[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (min-width: 768px){nav[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media (min-width: 992px){nav[_ngcontent-%COMP%]{grid-template-columns:repeat(4,1fr)}}@media (min-width: 768px){nav[_ngcontent-%COMP%]{max-width:50vw}}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background-color:#121e24;appearance:none;border:none;border-radius:.25rem;color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:.85rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:100%;text-align:center}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background-color:tint(#121e24,15);color:tint(#fff,15)}nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] > svg-icon[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > svg-icon[_ngcontent-%COMP%], nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] > img[_ngcontent-%COMP%]{margin-bottom:1rem;width:2.5rem;height:2.5rem}section[_ngcontent-%COMP%]{max-width:600px;margin:2rem;letter-spacing:.25px;padding:.25rem 1rem;font-family:Lato,sans-serif;font-size:.95rem;color:#fff;border:1px solid rgba(30,30,30,.1);border-radius:.75rem;box-shadow:.3px .5px .7px #0206085c,.8px 1.6px 2px -.8px #0206085c,2.1px 4.1px 5.2px -1.7px #0206085c,5px 10px 12.6px -2.5px #0206085c}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin:.5rem 0;line-height:1.5;list-style-type:square}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] p[_ngcontent-%COMP%] svg[_ngcontent-%COMP%], section[_ngcontent-%COMP%] li[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{vertical-align:top}section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1rem}section[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:1.25rem}section[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:underline;color:#fafafa}section.alert[_ngcontent-%COMP%]{background:#8c2626}section.info[_ngcontent-%COMP%]{background-color:#2559b3}hr[_ngcontent-%COMP%]{margin:1rem 0;border:none;border-top:1px solid rgba(255,255,255,.25)}footer[_ngcontent-%COMP%]{position:absolute;bottom:10px;left:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%]{font-size:.75rem;color:#fff}footer[_ngcontent-%COMP%] summary[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-family:monospace;color:#c2c2c3;text-transform:uppercase}"]});let t=e;return t})();function ufe(t,e){if(t&1){let i=mt();R(0,"mat-tree-node")(1,"li",8),be("click",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))})("keydown.enter",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))}),R(2,"button",9),pe(3,"svg-icon"),F(),R(4,"span"),N(5),F()()()}if(t&2){let i=e.$implicit,n=ne();G(),ut("active",(n.current==null?null:n.current.id)===i.id),G(4),Fn(i.text)}}function cfe(t,e){t&1&&pe(0,"svg-icon",15)}function dfe(t,e){t&1&&pe(0,"svg-icon",16)}function hfe(t,e){if(t&1){let i=mt();R(0,"mat-nested-tree-node")(1,"li",10),be("click",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))})("keydown.enter",function(){let r=ae(i).$implicit,s=ne();return ue(s.loadItem(r))}),R(2,"button",11),ke(3,cfe,1,0,"svg-icon",12)(4,dfe,1,0,"svg-icon",13),F(),R(5,"span"),N(6),F()(),R(7,"ul"),Dn(8,14),F()()}if(t&2){let i=e.$implicit,n=ne();G(),ut("active",(n.current==null?null:n.current.id)===i.id),G(),J("ngSwitch",n.treeControl.isExpanded(i)),G(),J("ngSwitchCase",!0),G(),J("ngSwitchCase",!1),G(2),Fn(i.text),G(),ut("hidden",!n.treeControl.isExpanded(i))}}function ffe(t,e){if(t&1&&pe(0,"iframe",17),t&2){let i=ne();J("src",i.currentUrl,v9)}}var vz=(()=>{let e=class e{constructor(n,r,s,o,l){this.http=n,this.sanitizer=r,this.ngZone=s,this.gaService=o,this.responsive=l,this.isBelowMd=!1,this.newTab=new Se,this.treeControl=new z0(a=>a.children),this.dataSource=new G0}ngOnInit(){window.portugol={abrirExemplo:(n,r)=>{this.ngZone.run(()=>{this.newTab.emit({name:r,contents:n})})}},this.http.get("assets/recursos/ajuda/scripts/topicos.json").subscribe(n=>{this.dataSource.data=n,this.treeControl.expand(n[0]),this.loadItem(n[0])},()=>{})}ngOnDestroy(){this.responsive$?.unsubscribe()}ngAfterViewInit(){this.responsive$=this.responsive.isBelowMd().subscribe(n=>{this.isBelowMd=n.matches})}hasChildren(n,r){return r.children?.length??0}loadItem(n){this.gaService.event("help_navigation","Ajuda",n.href),this.current=n,this.currentUrl=this.sanitizer.bypassSecurityTrustResourceUrl(`assets/recursos/ajuda/${n.href}`)}};e.\u0275fac=function(r){return new(r||e)(I(h2),I(Eh),I(le),I(Xa),I($_))},e.\u0275cmp=Me({type:e,selectors:[["app-tab-help"]],outputs:{newTab:"newTab"},decls:12,vars:6,consts:[["unit","pixel",3,"direction"],[3,"size"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda"],["id","root"],[3,"dataSource","treeControl"],[4,"matTreeNodeDef"],[4,"matTreeNodeDef","matTreeNodeDefWhen"],[3,"src",4,"ngIf"],["mat-ripple","","tabindex","0",3,"click","keydown.enter"],["mat-icon-button","","disabled","","title","\xCDcone de pasta"],["tabindex","0",3,"click","keydown.enter"],["mat-icon-button","","matTreeNodeToggle","","aria-label","Expandir/retrair conte\xFAdo da pasta",3,"ngSwitch"],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido",4,"ngSwitchCase"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido",4,"ngSwitchCase"],["matTreeNodeOutlet",""],["src","assets/mdi/chevron-down.svg","svgAriaLabel","\xCDcone de seta para baixo indicando o conte\xFAdo expandido"],["src","assets/mdi/chevron-right.svg","svgAriaLabel","\xCDcone de seta para direita indicando o conte\xFAdo recolhido"],[3,"src"]],template:function(r,s){r&1&&(R(0,"as-split",0)(1,"as-split-area",1)(2,"header"),pe(3,"svg-icon",2),R(4,"span"),N(5,"Ajuda"),F()(),R(6,"ul",3)(7,"mat-tree",4),ke(8,ufe,6,3,"mat-tree-node",5)(9,hfe,9,8,"mat-nested-tree-node",6),F()()(),R(10,"as-split-area"),ke(11,ffe,1,1,"iframe",7),F()()),r&2&&(J("direction",s.isBelowMd?"vertical":"horizontal"),G(),J("size",350),G(6),J("dataSource",s.dataSource)("treeControl",s.treeControl),G(2),J("matTreeNodeDefWhen",s.hasChildren),G(2),J("ngIf",s.current))},dependencies:[Vc,Ia,Bc,Y2,J0,Vo,is,V0,wg,Sg,Ag,xg,Tg,$0],styles:["header[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:#121e24;margin:7.5px;padding:12.5px 15px;font-size:1rem;gap:.5rem}header[_ngcontent-%COMP%] svg-icon[_ngcontent-%COMP%]{width:1.3rem;height:1.3rem}.hidden[_ngcontent-%COMP%]{display:none!important}as-split-area[_ngcontent-%COMP%]{scrollbar-width:thin}.mat-mdc-tree-node[_ngcontent-%COMP%]{min-height:0!important}ul[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#263238}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{list-style:none;overflow:hidden;width:100%;background-color:#263238;cursor:pointer;display:flex}ul[_ngcontent-%COMP%] li.active[_ngcontent-%COMP%]{background-color:#121e24}ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{align-self:center}iframe[_ngcontent-%COMP%]{width:100%;height:100%;display:block;border:0 none}"]});let t=e;return t})();var mfe=()=>({marginLeft:0}),gfe=()=>({});function _fe(t,e){t&1&&(R(0,"span",8),pe(1,"svg-icon",9),F(),R(2,"span",10),N(3,"Portugol Webstudio"),F())}function vfe(t,e){t&1&&pe(0,"svg-icon",21)}function bfe(t,e){t&1&&pe(0,"svg-icon",22)}function yfe(t,e){if(t&1){let i=mt();R(0,"button",23),be("click",function(){ae(i);let r=ne(2).$implicit,s=ne();return ue(s.changeTabTitle(r))}),pe(1,"svg-icon",24),F()}}function Efe(t,e){if(t&1){let i=mt();R(0,"span")(1,"span",14),ke(2,vfe,1,0,"svg-icon",15)(3,bfe,1,0,"svg-icon",16),F(),R(4,"span",10),N(5),F()(),R(6,"span",17),ke(7,yfe,2,0,"button",18),R(8,"button",19),be("click",function(){ae(i);let r=ne().$implicit,s=ne();return ue(s.closeTab(r))}),pe(9,"svg-icon",20),F()()}if(t&2){let i=ne().$implicit;G(),J("ngSwitch",i.type),G(),J("ngSwitchCase","editor"),G(),J("ngSwitchCase","help"),G(2),Fn(i.title),G(2),J("ngIf",i.type==="editor"),G(),Fr(i.type==="editor"?U9(7,mfe):U9(8,gfe))}}function Cfe(t,e){if(t&1){let i=mt();R(0,"app-tab-editor",25),yo("titleChange",function(r){ae(i);let s=ne().$implicit;return ml(s.title,r)||(s.title=r),ue(r)}),be("help",function(){ae(i);let r=ne(2);return ue(r.upsertHelpTab())}),F()}if(t&2){let i=ne().$implicit;bo("title",i.title),J("code",i.contents)}}function Ife(t,e){if(t&1){let i=mt();R(0,"app-tab-help",26),be("newTab",function(r){ae(i);let s=ne(2);return ue(s.addTab(r==null?null:r.name,r==null?null:r.contents))}),F()}}function Tfe(t,e){if(t&1&&(R(0,"mat-tab"),ke(1,Efe,10,9,"ng-template",3),ya(2,11),ke(3,Cfe,1,2,"app-tab-editor",12)(4,Ife,1,0,"app-tab-help",13),Ea(),F()),t&2){let i=e.$implicit;G(2),J("ngSwitch",i.type),G(),J("ngSwitchCase","editor"),G(),J("ngSwitchCase","help")}}function Sfe(t,e){if(t&1){let i=mt();R(0,"button",27),be("click",function(){ae(i);let r=ne();return ue(r.addTab())}),pe(1,"svg-icon",28),F()}}var bz=(()=>{let e=class e{constructor(n,r,s){this.gaService=n,this.storage=r,this.snack=s,this.selected=new aS(0),this.tabs=[],this.tabIndex=1,this.shortcuts=[{key:"ctrl + q",preventDefault:!0,command:()=>{this.closeTab(this.tabs[this.selected.value??0])}},{key:"ctrl + n",preventDefault:!0,command:()=>{this.addTab()}}]}ngOnInit(){return K(this,null,function*(){try{if(window.location.hash.startsWith("#share=")){this.snack.open("Carregando c\xF3digo compartilhado\u2026",void 0,{duration:-1});let n=window.location.hash.slice(7),s=yield(yield mB(Gm(this.storage,n))).text();this.addTab(`C\xF3digo compartilhado (#${n})`,s),this.snack.dismiss(),this.gaService.event("load_shared_code_success","Interface","C\xF3digo compartilhado carregado")}}catch(n){console.error(n),this.snack.dismiss(),this.snack.open("Erro ao carregar c\xF3digo compartilhado","FECHAR",{duration:1e4}),this.gaService.event("load_shared_code_error","Interface","Erro ao carregar c\xF3digo compartilhado")}})}addTab(n,r){this.tabs.push({id:this.tabIndex++,title:n||"Sem t\xEDtulo",contents:r,type:"editor"}),this.selected.setValue(this.tabs.length),this.gaService.event("new_tab_top","Editor","Nova aba",this.tabs.length)}closeTab(n){n.type==="editor"&&!window.confirm("Tem certeza que deseja fechar a aba? O c\xF3digo n\xE3o salvo ser\xE1 perdido.")||(this.tabs.splice(this.tabs.indexOf(n),1),this.selected.setValue(0),this.gaService.event("close_tab","Interface","Fechar aba",this.tabs.length))}changeTabTitle(n){if(this.selected.value!==n.id||n.type!=="editor")return;this.gaService.event("edit_tab_title","Interface","Editar t\xEDtulo de aba");let r=prompt("Digite o novo t\xEDtulo",n.title);r&&(n.title=r)}upsertHelpTab(){let n=this.tabs.findIndex(r=>r.type==="help");n===-1?(this.tabs.push({id:this.tabIndex++,title:"Ajuda",type:"help"}),this.gaService.event("help_tab_open","Interface","Nova aba de ajuda"),this.selected.setValue(this.tabs.length)):(this.gaService.event("help_tab_select","Interface","Selecionar aba de ajuda j\xE1 aberta"),this.selected.setValue(n+1))}};e.\u0275fac=function(r){return new(r||e)(I(Xa),I(Al),I(up))},e.\u0275cmp=Me({type:e,selectors:[["app-root"]],decls:10,vars:3,consts:[[3,"shortcuts"],["id","preload"],["animationDuration","0","mat-stretch-tabs","false","mat-align-tabs","start",3,"selectedIndexChange","selectedIndex"],["mat-tab-label",""],[3,"newTab","help"],[4,"ngFor","ngForOf"],["disabled",""],["mat-tab-label","",1,"tab-add"],[1,"tab-icon"],["src","assets/lightbulb.svg","svgClass","text-primary cap-my-height","svgAriaLabel","\xCDcone do Portugol"],[1,"tab-text"],[3,"ngSwitch"],[3,"title","code","titleChange","help",4,"ngSwitchCase"],[3,"newTab",4,"ngSwitchCase"],[1,"tab-icon",3,"ngSwitch"],["src","assets/mdi/file.svg","svgAriaLabel","\xCDcone de arquivo",4,"ngSwitchCase"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda",4,"ngSwitchCase"],[1,"tab-actions"],["mat-icon-button","","aria-label","Renomear aba","matTooltip","Renomear aba",3,"click",4,"ngIf"],["mat-icon-button","","aria-label","Fechar aba","matTooltip","Fechar aba",3,"click"],["src","assets/mdi/close.svg","svgAriaLabel","\xCDcone de fechar aba"],["src","assets/mdi/file.svg","svgAriaLabel","\xCDcone de arquivo"],["src","assets/mdi/help-circle-outline.svg","svgClass","text-quaternary","svgAriaLabel","\xCDcone de ajuda"],["mat-icon-button","","aria-label","Renomear aba","matTooltip","Renomear aba",3,"click"],["src","assets/mdi/rename-outline.svg","svgAriaLabel","\xCDcone de renomear aba"],[3,"titleChange","help","title","code"],[3,"newTab"],["mat-icon-button","","aria-label","Nova aba de editor de c\xF3digo","matTooltip","Nova aba de editor de c\xF3digo",1,"add-button",3,"click"],["src","assets/mdi/plus.svg","svgAriaLabel","\xCDcone de adicionar aba"]],template:function(r,s){r&1&&(pe(0,"ng-keyboard-shortcuts",0),R(1,"div",1),pe(2,"ngx-monaco-editor"),F(),R(3,"mat-tab-group",2),be("selectedIndexChange",function(l){return s.selected.setValue(l)}),R(4,"mat-tab"),ke(5,_fe,4,0,"ng-template",3),R(6,"app-tab-start",4),be("newTab",function(l){return s.addTab(l==null?null:l.name,l==null?null:l.contents)})("help",function(){return s.upsertHelpTab()}),F()(),ke(7,Tfe,5,3,"mat-tab",5),R(8,"mat-tab",6),ke(9,Sfe,2,0,"ng-template",7),F()()),r&2&&(J("shortcuts",s.shortcuts),G(3),J("selectedIndex",s.selected.value),G(4),J("ngForOf",s.tabs))},dependencies:[K9,Vc,Ia,Bc,Y0,n_,Vo,$S,GS,QU,V0,Cg,pz,_z,vz],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;padding:.5rem}#preload[_ngcontent-%COMP%]{width:0;height:0;opacity:0;z-index:-1} mat-tab-group{display:flex;flex-direction:row;flex-wrap:nowrap;flex-grow:1;border-radius:10px;overflow:hidden} mat-tab-group .mat-mdc-tab{--mdc-secondary-navigation-tab-container-height: 40px;--mat-tab-header-active-label-text-color: $tab-active-color;--mat-tab-header-active-focus-label-text-color: $tab-active-color;--mat-tab-header-active-hover-label-text-color: $tab-active-color;--mat-tab-header-active-hover-indicator-color: $tab-active-color;position:relative;background-color:#445056;color:#cdcdcd;font-weight:700;font-size:14px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;padding:.5rem 1rem;height:40px;margin-right:1px;text-decoration:none;transition:all .2s ease;opacity:1;justify-content:flex-start;min-width:0;font-family:Lato,sans-serif;-webkit-user-select:none;-moz-user-select:none;user-select:none} mat-tab-group .mat-mdc-tab .mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:0} mat-tab-group .mat-mdc-tab:hover .mdc-tab__ripple:before{opacity:0} mat-tab-group .mat-mdc-tab.mat-mdc-tab-disabled{opacity:1;pointer-events:auto} mat-tab-group .mat-mdc-tab .mdc-tab-indicator{display:none} mat-tab-group .mat-mdc-tab .mdc-tab__text-label>span{display:inline-flex} mat-tab-group .mat-mdc-tab:last-child{padding:0!important;color:#fff} mat-tab-group .mat-mdc-tab:last-child button{border-radius:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0){padding-right:0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active){padding-right:16px} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0):not(.mdc-tab--active) .tab-actions{display:none} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) .add-button{--mdc-icon-button-state-layer-size: 40px;padding:8px 0} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__content, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mat-mdc-tab-ripple, mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0).mat-mdc-tab-disabled .mdc-tab__ripple:before{pointer-events:all} mat-tab-group .mat-mdc-tab:not(#mat-tab-label-0-0) button:not(.add-button){border-radius:0;display:inline-block;margin-left:10px;padding:0;width:30px;height:30px;line-height:0;--mdc-icon-button-icon-size: 20px} mat-tab-group .mat-mdc-tab.mdc-tab--active, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled){background-color:#263238!important;color:#cdcdcd!important} mat-tab-group .mat-mdc-tab.mdc-tab--active:after, mat-tab-group .mat-mdc-tab:focus:not(.mat-mdc-tab-disabled):after{content:"";position:absolute;top:0;left:0;right:0;width:100%;height:1px;background-color:#ffc200} mat-tab-group .mat-mdc-tab .tab-icon svg, mat-tab-group .mat-mdc-tab .tab-icon img, mat-tab-group .mat-mdc-tab .tab-add-icon{display:flex;align-items:center;justify-content:center;width:1rem;margin-right:.5rem;color:#cdcdcd;fill:currentColor} mat-tab-group .mat-mdc-tab .tab-text{flex-grow:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:normal} mat-tab-group .mat-mdc-tab-body-wrapper{flex-grow:1} mat-tab-group .mat-mdc-tab-body-wrapper mat-tab-body{background-color:#263238;color:#cdcdcd;flex-grow:1;overflow:hidden}.cap-my-height[_ngcontent-%COMP%]{height:1.15rem}']});let t=e;return t})();var ax=(()=>{let e=class e{constructor(n){this.monacoLoaderService=n,this.monacoLoaderService.isMonacoLoaded$.pipe(Ge(r=>r),en(1)).subscribe(()=>{try{monaco.languages.register({id:"portugol",extensions:[".por"],aliases:["Portugol"]}),monaco.languages.setLanguageConfiguration("portugol",{wordPattern:/(-?\d*\.\d\w*)|([^\s!"#%&'()*+,./:;<=>?@[\\\]^`{|}~\-]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:monaco.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^*]|\*(?!\/))*$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|( {2}))* \*( ([^*]|\*(?!\/))*)?$/,action:{indentAction:monaco.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|( {2}))* \*\/\s*$/,action:{indentAction:monaco.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:/^\s*\/\/\s*#?region\b/,end:/^\s*\/\/\s*#?endregion\b/}}}),monaco.languages.setMonarchTokensProvider("portugol",{defaultToken:"invalid",tokenPostfix:".portugol",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],keywords:["faca","enquanto","para","se","senao","const","funcao","programa","escolha","caso","contrario","pare","retorne","inclua","biblioteca","verdadeiro","falso"],typeKeywords:["real","inteiro","vazio","logico","cadeia","caracter"],operators:["nao","e","ou","-","+","*","/","%","=","==","!=",">","<","<=",">=","++","--","<<",">>","^","|","~","-->","&","+=","-=","*=","/="],symbols:/[!%&*+/:<=>?^|~\-]+/,escapes:/\\(?:["'\\abfnrtv]|x[\dA-Fa-f]{1,4}|u[\dA-Fa-f]{4}|U[\dA-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[01]+(_+[01]+)*/,hexdigits:/[\dA-F[a-f]+(_+[\dA-Fa-f]+)*/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],[/([1A-Z_a-z{}]\w+)(?=\s*\()/,"functions"],{include:"common"}],common:[[/[$_a-z][\w$]*/,{cases:{"@typeKeywords":"keyword","@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w$]*/,"type.identifier"],{include:"@whitespace"},[/[()[\]{}]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([Ee][+\-]?\d+)?/,"number.float"],[/0[Xx][\dA-Fa-f]+/,"number.hex"],[/\d+/,"number"],[/[,.;]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^'\\]'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],comment:[[/[^*/]+/,"comment"],[/\/\*/,"comment","@push"],[String.raw`\*/`,"comment","@pop"],[/[*/]/,"comment"]],string:[[/[^"\\]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[\t\n\r ]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],bracketCounting:[[/{/,"delimiter.bracket","@bracketCounting"],[/}/,"delimiter.bracket","@pop"],{include:"common"}]}}),monaco.editor.defineTheme("portugol",{base:"vs-dark",inherit:!0,rules:[{token:"functions",foreground:"F5D7A9"},{token:"string.escape",foreground:"D2BB85"},{token:"string.escape.invalid",foreground:"DF5953"}],colors:{}})}catch(r){console.error(r),window.location.reload()}})}};e.\u0275fac=function(r){return new(r||e)(x(ww))},e.\u0275prov=q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();var yz=(()=>{let e=class e{constructor(n){this.toastRef=n}onReload(){confirm(`Lembre-se de salvar seu c\xF3digo antes de recarregar a p\xE1gina! Aperte "OK" para recarregar a p\xE1gina, ou "Cancelar" para abortar.`)&&window.location.reload()}onIgnore(){this.toastRef?.close()}};e.\u0275fac=function(r){return new(r||e)(I(K2,8))},e.\u0275cmp=Me({type:e,selectors:[["app-new-version-available"]],standalone:!0,features:[ot],decls:11,vars:0,consts:[[1,"buttons"],["mat-raised-button","","color","primary","type","button",3,"click"],["mat-button","","color","primary","type","button",3,"click"]],template:function(r,s){r&1&&(R(0,"strong"),N(1,"Uma nova vers\xE3o do Portugol Webstudio est\xE1 dispon\xEDvel"),F(),R(2,"p"),N(3,"Lembre-se de salvar os seus arquivos antes de atualizar."),F(),R(4,"p"),N(5,"Quando estiver pronto, basta atualizar a p\xE1gina ou clicar no bot\xE3o abaixo."),F(),R(6,"div",0)(7,"button",1),be("click",function(){return s.onReload()}),N(8,"Atualizar"),F(),R(9,"button",2),be("click",function(){return s.onIgnore()}),N(10,"Ignorar"),F()())},dependencies:[B0,Ga],styles:[".buttons[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}"]});let t=e;return t})();var ux=(()=>{let e=class e{constructor(n,r){this.swUpdate=n,this.toast=r,this.swUpdate.isEnabled&&(this.swUpdate.versionUpdates.subscribe(s=>{switch(s.type){case"VERSION_DETECTED":{this.loadingToast=this.toast.loading("Baixando atualiza\xE7\xF5es\u2026",{autoClose:!0,duration:5e3});break}case"VERSION_READY":{this.loadingToast?.close(),this.toast.success(yz,{autoClose:!1,dismissible:!0});break}default:break}}),this.swUpdate.checkForUpdate().catch(()=>{}),mv(30*60*1e3).subscribe(()=>{this.swUpdate.checkForUpdate().catch(()=>{})}))}};e.\u0275fac=function(r){return new(r||e)(x(r_),x(Nw))},e.\u0275prov=q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();var Ez=(()=>{let e=class e{};e.\u0275fac=function(r){return new(r||e)},e.\u0275mod=xe({type:e,bootstrap:[bz]}),e.\u0275inj=we({providers:[TV(()=>SV(xp.firebase)),pB(()=>gB()),IN(TN()),Wj({position:"bottom-right"}),ax,ux,{provide:Zi,useValue:KF({showDialog:!1})},{provide:u2,useFactory:()=>()=>{},multi:!0,deps:[ax,ux]}],imports:[n7,Vj,FB,Xj,Bj,tH.forRoot(),sH.forRoot("G-ZKM28VG4G5"),Qj.forRoot(),zU,dg,UU,PU,JU,B0,FU,rj,lj,cH.register("ngsw-worker.js",{enabled:!c2(),registrationStrategy:"registerWhenStable:30000"})]});let t=e;return t})();WF({dsn:"https://620518162f784d2aa3e3ee7223d08594@o1070945.ingest.sentry.io/6067438",debug:!1,tracesSampleRate:.1,replaysOnErrorSampleRate:.1,integrations:[nT({maskAllInputs:!1,maskAllText:!1}),L7(),F7(),YF()]});xp.production&&void 0;RN().bootstrapModule(Ez).then(()=>{"serviceWorker"in navigator&&xp.production&&navigator.serviceWorker.register("/ngsw-worker.js")}).catch(t=>{console.error(t)}); diff --git a/ngsw.json b/ngsw.json index 915f3ac7..9eb7967c 100644 --- a/ngsw.json +++ b/ngsw.json @@ -1,6 +1,6 @@ { "configVersion": 1, - "timestamp": 1721871985338, + "timestamp": 1721872743364, "index": "/index.html", "assetGroups": [ { @@ -13,7 +13,7 @@ "urls": [ "/favicon.ico", "/index.html", - "/main-APBXQYHR.js", + "/main-QEVTXVBU.js", "/manifest.webmanifest", "/polyfills-MH5IBZ74.js", "/styles-JFUGDC3T.css" @@ -19260,8 +19260,8 @@ "/assets/recursos/exercicios/exercicio60.pex": "6082892362c640c5b7c9e63b12d6594dab32128d", "/assets/recursos/exercicios/schema.xsd": "cd13152ea836b1eed121a6972a619f595ac5d46c", "/favicon.ico": "a3dadb5b6906874517b9a2bc021bb3f154290edd", - "/index.html": "38e01e69b9445a5a8b94e2072d4c4caaab0c1c1f", - "/main-APBXQYHR.js": "2ea16a6ff867cffee88fb24d2c79c0bc960af43b", + "/index.html": "b0bd1453444f922a50ffa9cc7f638a49a43c6f98", + "/main-QEVTXVBU.js": "e3e02559dc4413b05b12950b7844f035ba6e58da", "/manifest.webmanifest": "ea9afcc9f466e61c4f2a5fb56f9ad31683c1de7f", "/polyfills-MH5IBZ74.js": "c7fdbc7259367a3112d05e61e33c04c4b2efa9b4", "/styles-JFUGDC3T.css": "2bc6250900698af88a81d7f55c4ce815c3d27ad4"