1import{ProjectTypeId,ProgLanguage,HwInterfaceId}from"./db_enum.js";import{msg}from"./msg/messages.js";import{util as utilweb}from"./util.js";import{db}from"./db.js";import{util}from"./util_general.js";import{core_cmn}from"./common.js";import{i18n}from"./msg/i18n.js";import*as prog_language from"./prog_language/prog_language_comment.js";import{navigator}from"./navigator.js";import{ide}from"./ide.js";import{CurrentUser}from"./datamanager.js";import{open_project_dialog}from"./openprojectdialog.js";export var create_project_dialog;!function(e){function t(e){const t=msg.db[e];return void 0===t?(console.error("NOT DEFINED: msg.db."+e),"["+e+"]"):t}function i(e){const i=util.split(e,"/",2);let o=i[1]?i[1]:e;o=o[0].toUpperCase()+o.substr(1),o=o.replace(/-/g,"_");const c="D_"+o;return{mimic2d:e,name:t(o),desc:t(c),imageUrl:"/studio/static/mimics/flowol/"+e+"Preview.jpg"}}function o(e,i=null){const o="D_"+e;return{mimic3d:e,mimicOptions:i,name:t(e),desc:t(o),imageUrl:"/studio/static/mimics/flowol/"+e+"/"+e+"Preview.jpg"}}let c,r=void 0,a=void 0,l=[{useGlobalMimicTemplates:!0,projectTypes:[ProjectTypeId.VexIQMimicPython,ProjectTypeId.VexIQMimicBlockly,ProjectTypeId.VexIQMimicFlowol,ProjectTypeId.VexIQMimicJoystickWizard],templates:[{projectId:null,name:msg.EMPTY_PROJECT,desc:""}],arenas:[{projectId:null,name:msg.EMPTY_ARENA,desc:""}]},{useGlobalMimicTemplates:!0,projectTypes:[ProjectTypeId.VexCortexMimicPython,ProjectTypeId.VexCortexMimicBlockly,ProjectTypeId.VexCortexMimicFlowol,ProjectTypeId.VexCortexMimicJoystickWizard],templates:[{projectId:null,name:msg.EMPTY_PROJECT,desc:""}],arenas:[{projectId:null,name:msg.EMPTY_ARENA,desc:""}]},{useGlobalMimicTemplates:!0,projectTypes:[ProjectTypeId.VexV5MimicPython,ProjectTypeId.VexV5MimicBlockly,ProjectTypeId.VexV5MimicFlowol,ProjectTypeId.VexV5MimicJoystickWizard,ProjectTypeId.VexV5MimicC,ProjectTypeId.VexV5MimicCpp,ProjectTypeId.VexV5MimicJavaScript],templates:[{projectId:null,name:msg.EMPTY_PROJECT,desc:""}],arenas:[{projectId:null,name:msg.EMPTY_ARENA,desc:""}]},{projectTypes:[ProjectTypeId.Flowol2dMimicBlockly,ProjectTypeId.Flowol2dMimicFlowol,ProjectTypeId.Flowol2dMimicPython],templates:[i(db.mimic2d.T_Zebra),i(db.mimic2d.T_AllStop),i(db.mimic2d.T_Patrol),i(db.mimic2d.T_XWalk),i(db.mimic2d.T_BridLigh),i(db.mimic2d.T_XLights),i(db.mimic2d.T_LightHo),i(db.mimic2d.T_Pelican),i(db.mimic2d.T_CrossWk),i(db.mimic2d.T_Robot),i(db.mimic2d.T_Santa),o(db.mimic3d.Mobile),o(db.mimic3d.BigWheel),o(db.mimic3d.LevelCrossing,[{name:msg.UK,val:"uk"},{name:msg.US,val:"us"}]),i(db.mimic2d.T_AutoHome),i(db.mimic2d.T_GreenH),i(db.mimic2d.T_SchBus),o(db.mimic3d.TrainSet1,[{name:msg.UK,val:"uk"},{name:msg.US,val:"us"}]),o(db.mimic3d.TrainSet2),o(db.mimic3d.CoinOpRide),o(db.mimic3d.Teacups),o(db.mimic3d.PirateShip),o(db.mimic3d.ClawMachine,[{name:msg.TWO,val:"two"},{name:msg.FOUR,val:"four"}]),o(db.mimic3d.CarPark,[{name:msg.UK,val:"uk"},{name:msg.US,val:"us"}]),o(db.mimic3d.Bridge,[{name:msg.UK,val:"uk"},{name:msg.US,val:"us"}]),o(db.mimic3d.Lift,[{name:msg.THREE,val:"three"},{name:msg.FOUR,val:"four"}]),o(db.mimic3d.Flume,[{name:msg.SIMPLE,val:"simple"},{name:msg.COMPLEX,val:"complex"}]),i(db.mimic2d.CP_BurglarAlarm),i(db.mimic2d.CP_TrafficLights),i(db.mimic2d.CP_WashingMachine),i(db.mimic2d.C_Lights),i(db.mimic2d.C_Clown),i(db.mimic2d.C_House),i(db.mimic2d.P1_Police),i(db.mimic2d.P1_Fire),i(db.mimic2d.P1_Chute),i(db.mimic2d.DO_Fair),i(db.mimic2d.DO_Pirate),i(db.mimic2d.DO_HandWash),i(db.mimic2d.DO_Pier),i(db.mimic2d.S1_Alarms),i(db.mimic2d.S1_Flume),i(db.mimic2d.S1_FlumeX),i(db.mimic2d.S1_Jam),i(db.mimic2d.S1_Kitchens),i(db.mimic2d.S2_Arm),i(db.mimic2d.S2_Carwash),i(db.mimic2d.S2_Drinks),i(db.mimic2d.S2_Coupe),i(db.mimic2d.S2_Lock),i(db.mimic2d.OS_CarPark)]}];!function(e){e.TARGETS=[{id:1,hideForLocal:!0,hideForIOS:!0,icon:"target_vexiq_mimic.png",title:msg.VEX_IQ_MIMIC,description:msg.TARGET_VEX_IQ_MIMIC_DESCRIPTION,languages:[{type:ProjectTypeId.VexIQMimicJoystickWizard},{hideForIOS:!0,type:ProjectTypeId.VexIQMimicFlowol},{type:ProjectTypeId.VexIQMimicBlockly},{type:ProjectTypeId.VexIQMimicPython},{type:ProjectTypeId.VexIQMimicBlocklyB},{type:ProjectTypeId.VexIQMimicPythonB},{type:ProjectTypeId.VexIQMimicCppB}]},{id:10,icon:"target_vexiq.png",title:msg.VEX_IQ,description:msg.TARGET_VEX_IQ_DESCRIPTION,languages:[{type:ProjectTypeId.VexIQJoystickWizard},{hideForIOS:!0,type:ProjectTypeId.VexIQFlowol},{type:ProjectTypeId.VexIQBlockly},{type:ProjectTypeId.VexIQPython},{type:ProjectTypeId.VexIQBlocklyB},{type:ProjectTypeId.VexIQPythonB},{type:ProjectTypeId.VexIQCppB}]},{id:12,hideForLocal:!0,hideForIOS:!0,icon:"target_vexcortex_mimic.png",title:msg.VEX_
1EDR_MIMIC,description:msg.TARGET_VEX_EDR_MIMIC_DESCRIPTION,languages:[{type:ProjectTypeId.VexCortexMimicJoystickWizard},{hideForIOS:!0,type:ProjectTypeId.VexCortexMimicFlowol},{type:ProjectTypeId.VexCortexMimicBlockly},{type:ProjectTypeId.VexCortexMimicPython}]},{id:11,hideForIOS:!0,icon:"target_vexcortex.png",title:msg.VEX_EDR,description:msg.TARGET_VEX_EDR_DESCRIPTION,languages:[{type:ProjectTypeId.VexCortexJoystickWizard},{hideForIOS:!0,type:ProjectTypeId.VexCortexFlowol},{type:ProjectTypeId.VexCortexBlockly,competitionType:ProjectTypeId.VexCortexBlocklyCompetition},{type:ProjectTypeId.VexCortexPython,competitionType:ProjectTypeId.VexCortexPythonCompetition}]},{id:21,hideForIOS:!0,hideForLocal:!0,icon:"target_vexv5_mimic.png",title:msg.VEX_V5_MIMIC,description:msg.TARGET_VEX_V5_MIMIC_DESCRIPTION,languages:[{type:ProjectTypeId.VexV5MimicJoystickWizard},{hideForIOS:!0,type:ProjectTypeId.VexV5MimicFlowol},{type:ProjectTypeId.VexV5MimicBlockly},{type:ProjectTypeId.VexV5MimicPython},{type:ProjectTypeId.VexV5MimicMicroPython},{type:ProjectTypeId.VexV5MimicCpp},{type:ProjectTypeId.VexV5MimicJavaScript}]},{id:22,hideForIOS:!0,icon:"target_vexv5.png",title:msg.VEX_V5,description:msg.TARGET_VEX_V5_DESCRIPTION,languages:[{type:ProjectTypeId.VexV5JoystickWizard},{hideForIOS:!0,type:ProjectTypeId.VexV5Flowol},{type:ProjectTypeId.VexV5Blockly,competitionType:ProjectTypeId.VexV5BlocklyCompetition},{type:ProjectTypeId.VexV5Python,competitionType:ProjectTypeId.VexV5PythonCompetition},{type:ProjectTypeId.VexV5MicroPython},{type:ProjectTypeId.VexV5Cpp,competitionType:ProjectTypeId.VexV5CppCompetition},{type:ProjectTypeId.VexV5JavaScript,competitionType:ProjectTypeId.VexV5JavaScriptCompetition}]},{id:6,hideForLocal:!0,hideForIOS:!0,hideForNonTeachersOrStudents:!0,icon:"target_flowol3dmimic.png",title:msg.FLOWOL_MIMIC,description:msg.TARGET_FLOWOL_MIMIC_DESCRIPTION,languages:[{type:ProjectTypeId.Flowol2dMimicFlowol,altType:ProjectTypeId.Flowol3dMimicFlowol},{type:ProjectTypeId.Flowol2dMimicBlockly,altType:ProjectTypeId.Flowol3dMimicBlockly},{type:ProjectTypeId.Flowol2dMimicPython,altType:ProjectTypeId.Flowol3dMimicPython}]},{id:99,hideForLocal:!0,hideForIOS:!0,hideForNonTeachersOrStudents:!1,icon:"target_arena.png",title:msg.ARENA,description:msg.D_ARENA,languages:[{type:ProjectTypeId.Arena}]}],e.getLanguageInfo=function(e){const t=db.getProjectType(e.type);if(t.future&&!utilweb.isFuture())return null;switch(t.progLanguage){case ProgLanguage.C:return{name:msg.C_LANGUAGE,desc:msg.LANG_C_DESCRIPTION,icon:"lang_c.png"};case ProgLanguage.Cpp:return{name:msg.CPP_LANGUAGE,desc:msg.LANG_CPP_DESCRIPTION,icon:t.interface_id==HwInterfaceId.VexIQ?"lang_cpp_beta.png":"lang_cpp.png"};case ProgLanguage.JavaScript:return{name:msg.JAVASCRIPT_LANGUAGE,desc:msg.LANG_JAVASCRIPT_DESCRIPTION,icon:"lang_javascript_beta.png",future:!0};case ProgLanguage.Python:return{name:msg.PYTHON_2,desc:msg.LANG_PYTHON_2_DESCRIPTION,icon:"lang_python.png"};case ProgLanguage.Python3:return{name:msg.PYTHON_3,desc:msg.LANG_PYTHON_3_DESCRIPTION,icon:"lang_python3.png",future:!0};case ProgLanguage.PythonB:return{name:msg.PYTHON_B,desc:msg.LANG_PYTHON_B_DESCRIPTION,icon:"lang_python_beta.png"};case ProgLanguage.BlocklyPython:return{name:msg.BLOCKLY,desc:msg.LANG_BLOCKLY_DESCRIPTION,icon:"lang_blockly.png"};case ProgLanguage.BlocklyPythonB:return{name:msg.BLOCKLY_B,desc:msg.LANG_BLOCKLY_B_DESCRIPTION,icon:"lang_blockly_beta.png"};case ProgLanguage.FlowolPython:return{name:msg.FLOWOL,desc:msg.LANG_FLOWOL_DESCRIPTION,icon:"lang_flowol.png"};case ProgLanguage.JoystickWizardPython:const e={name:msg.JOYSTICK_WIZARD,desc:msg.LANG_JOYWIZ_DESCRIPTION,icon:"lang_joywiz_iq.png"};switch(t.interface_id){case HwInterfaceId.VexCortex:e.icon="lang_joywiz_edr.png";break;case HwInterfaceId.VexIQ:e.icon="lang_joywiz_iq.png";break;case HwInterfaceId.VexV5:e.icon="lang_joywiz_v5.png"}return e}}}(c||(c={}));const n="#createProjectDialog ",d=n+"#targetTab",m=n+"#languageTab",s=n+"#createTab",g=n+"#createPage",p=n+"#mimicOptions",u=n+"#bCreateProjectSubmit",_=n+"#cpd_tbName",y=n+".iconListItem";let I=null,P=null,T=null,j=null,b=null,C=null,w=null,f=null;function h(e){if(null===e.projectId)return V();const t={};for(const e of a)t[e.name]=!0;let i=1;for(;;){const o=e.name+" "+i++;if(1!=t[o])return o}}function V(){if(i18n.getLocale()!==i18n.DEFAULT_LOCALE)return"";const e=msg.PROJECT_NAME_ADJECTIVES,t=msg.PROJECT_NAME_NOUNS;function i(e){return e[Math.floor(Math.random()*e.length)]}return i(e)+" "+i(t)}function x(e,t=!1){if(!e)throw new Error("target undefined");P=e;const i=utilweb.$(d+" .image");i.css({"background-image":'url("'+utilweb.getResourceUrl("project-types/"+e.icon)+'")'}),i.find(".title").text(e.title),T=null;
1const o=utilweb.$(m+" .image");o.css({"background-image":"none"}),o.find(".title").text(""),t&&(r.target_id=e.id,CurrentUser.saveUserSetting(CurrentUser.loginstatus.logged_in,"target_id",e.id))}function L(e,t=!0){if(!e)throw new Error("lang undefined");T=e;const i=c.getLanguageInfo(e);if(i){const e=utilweb.$(m+" .image");e.css({"background-image":'url("'+utilweb.getResourceUrl("project-types/"+i.icon)+'")'}),e.find(".title").text(i.name)}t&&(r.target_language_type=e.type,CurrentUser.saveUserSetting(CurrentUser.loginstatus.logged_in,"target_language_type",e.type))}e.open=function(e){j=navigator.currentFolderId,f=e,function(){if(E)return;utilweb.$(d).click(()=>{M()}),utilweb.$(m).click(()=>{S()}),utilweb.$(s).click(()=>{D()}),utilweb.$("#createProjectDialog #bSelectTarget").click(()=>{S()}),utilweb.$("#createProjectDialog #bSelectLanguage").click(()=>{D()}),utilweb.$(u).click(()=>k()),jQuery(".touchscreen-mode").toggle(utilweb.isTouchscreenMode()),E=!0}(),a=open_project_dialog._myProjects?open_project_dialog._myProjects:[],r=CurrentUser.useroptions,utilweb.$(".createProjectTitle").toggle(!e),utilweb.$(".createLocalProjectTitle").toggle(e),function(e){I=function(e,t,i){let o=jQuery.extend(!0,[],c.TARGETS);return o=o.filter(o=>(o.languages=o.languages.filter(i=>!(e&&i.hideForLocal||t&&i.hideForIOS)),!(e&&o.hideForLocal)&&!(t&&o.hideForIOS)&&!(!i&&o.hideForNonTeachersOrStudents)&&(!o.future||utilweb.isFuture())&&o.languages.length>0)),o}(e,utilweb.isInIOSApp(),CurrentUser.loginstatus.is_student||CurrentUser.loginstatus.is_teacher),utilweb.updateUiList("#createProjectDialog #targetList",I,(e,t)=>{t.find(".title").text(e.title),t.attr("id","item_target_"+e.id),t.css({"background-image":'url("'+utilweb.getResourceUrl("project-types/"+e.icon)+'")'}),t.mouseenter(()=>{F(e.description)}),t.click(()=>{x(e,!0),utilweb.isTouchscreenMode()?(jQuery(y).removeClass("selected"),t.addClass("selected"),jQuery("#createProjectDialog #bSelectTarget").prop("disabled",!1)):S()})},null,"","div")}(e);const t=V();utilweb.$(_).val(t),utilweb.$(u).prop("disabled",!1),void 0===r&&(r={}),b=null;const i=util.find(I,e=>e.id===r.target_id);if(void 0===i)M();else{x(i);const e=util.find(P.languages,e=>e.type===r.target_language_type);void 0===e?S():(L(e),D())}utilweb.showLightbox("#createProjectDialog",{onEnter:()=>{utilweb.$(u).is(":visible")&&k()}})};let E=!1;function O(e){utilweb.$("#createProjectDialog .dialogPage").css({display:"none"}),utilweb.$(e).css({display:"block"});const t="tabPrevious",i="tabCurrent",o="tabNext";switch(utilweb.$("#createProjectDialog .tabButton").removeClass(t).removeClass(i).removeClass(o),e){case"#createProjectDialog #targetPage":utilweb.$(d).addClass(i),utilweb.$(m).addClass(o),utilweb.$(s).addClass(o);break;case"#createProjectDialog #languagePage":utilweb.$(d).addClass(t),utilweb.$(m).addClass(i),utilweb.$(s).addClass(o);break;case g:utilweb.$(d).addClass(t),utilweb.$(m).addClass(t),utilweb.$(s).addClass(i)}}function M(){if(!I)throw new Error("Targets not initialized");r.target_id=void 0,jQuery(y).removeClass("selected"),jQuery("#createProjectDialog #bSelectTarget").prop("disabled",!0),F(""),O("#createProjectDialog #targetPage")}function S(){const e=P.languages;if(!e)return;const t=[];for(let i of e){null!==c.getLanguageInfo(i)&&t.push(i)}utilweb.updateUiList("#createProjectDialog #languageList",t,(e,t)=>{const i=c.getLanguageInfo(e);i&&(t.attr("id","item_language_"+e.type),t.find(".title").text(i.name),t.css({"background-image":'url("'+utilweb.getResourceUrl("project-types/"+i.icon)+'")'}),t.mouseenter(()=>{F(i.desc)})),t.click(()=>{L(e,!0),utilweb.isTouchscreenMode()?(jQuery(y).removeClass("selected"),t.addClass("selected"),jQuery("#createProjectDialog #bSelectLanguage").prop("disabled",!1)):D()})},null,"","div"),r.target_language_type=void 0,jQuery(y).removeClass("selected"),jQuery("#createProjectDialog #bSelectLanguage").prop("disabled",!0),F(""),O("#createProjectDialog #languagePage")}function v(){if(utilweb.$(p).hide(),!T)return;const e=util.find(l,e=>util.contains(e.projectTypes,e=>e===T.type));let t=0;if((utilweb.isStandaloneMode()||!e||e.useGlobalMimicTemplates&&1==e.templates.length)&&(b=null,jQuery("#createProjectDialog #projectTemplateSection").hide(),t++),(utilweb.isStandaloneMode()||!e||!e.arenas||e.useGlobalMimicTemplates&&1==e.arenas.length)&&(C=null,jQuery("#createProjectDialog #arenaTemplateSection").hide(),t++),2==t)return;F(""),w=null;const i=e.templates;if(b=i[0],r.template_id){const t=r.template_id,i=util.find(e.templates,e=>"pid_"+e.projectId==t||"m2d_"+e.mimic2d==t||"m3d_"+e.mimic3d==t);i&&(b=i)}const o=e.arenas;if(void 0!==o&&(C=o[0],r.arena_id)){const t=r.arena_id,i=util.find(e.arenas,e=>e.projectId==t);i&&(C=i)}function c(){w=null;const e=b?b.mimicOptions:null;if(e&&e.length>0){utilweb.updateUiList(p,e,(e,t)=>{t.text(e.name),t.val(e.val)},e[0],"select","option");const t=utilweb.$("#createProjectDialog #sMimicOptions");t.off("change"),t.on("change",()=>{w=t.find(":selected").val()}),utilweb.$(p).show()}else utilweb.$(p).hide()}c(),utilweb.updateUiList("#createProjectDialog #projectTemplateList",i,(e,t)=>{if(t.attr("id","item_template_"+e.projectId),t.find(".title").text(e.name),e.imageUrl){const i=utilweb.getAbsUrl(e.imageUrl);t.css({"background-image":"url("+i+")"})}else t.css({"background-image":e.projectId?"url(/media/mimicthumbnails/"+e.projectId+".jpg)":"none","background-color":util.colorFromHash(e.projectId,30,70)});t.mouseenter(()=>{F(e.desc)}),t.click(()=>{b=e;const i=h(b);utilweb.$(_).val(i),r.template_id=function(e){return e.projectId?"pid_"+e.projectId:e.mimic2d?"m2d_"+e.mimic2d:e.mimic3d?"m3d_"+e.mimic3d:null}(b),CurrentUser.saveUserSetting(CurrentUser.loginstatus.logged_in,"template_id",r.template_id),jQuery("#createProjectDialog .projectTemplateItem").removeClass("selected"),t.addClass("selected"),c()})},b,"","div"),utilweb.updateUiList("#createProjectDialog #arenaTemplateList",o,(e,t)=>{if(t.attr("id","item_template_"+e.projectId),t.find(".title").text(e.name),e.imageUrl){const i=utilweb.getAbsUrl(e.imageUrl);t.css({"background-image":"url("+i+")"})}else t.css({"background-image":e.projectId?"url(/media/mimicthumbnails/"+e.projectId+".jpg)":"none","background-color":util.colorFromHash(e.projectId,30,70)});t.mouseenter(()=>{var t;t=e.desc,utilweb.$("#createProjectDialog .itemDescription").text(t)}),t.click(()=>{C=e,r.arena_id=C.projectId,CurrentUser.saveUserSetting(CurrentUser.loginstatus.logged_in,"arena_id",r.arena_id),jQuery("#createProjectDialog .arenaTemplateItem").removeClass("selected"),t.addClass("selected")})},C,"","div");const a=h(b);utilweb.$(_).val(a);const n=jQuery("#createProjectDialog #projectTemplateList .iconListItem.selected");n.length>0&&setTimeout(()=>{n.get(0).scrollIntoView()},0),jQuery("#createProjectDialog #projectTemplateSection").show()}function D(){T&&(v(),function(){if(0===navigator.folders.length)jQuery("#createProjectDialog #folder").hide();else{const e={id:null,name:msg.ROOT_FOLDER};utilweb.updateUiList("#createProjectDialog #folder",[e].concat(navigator.folders),(e,t)=>{t.text(e.name),t.val(e.id),t.click(()=>{j=e.id})},e=>e.id===j,"select","option");const t=utilweb.$("#createProjectDialog #sFolder");t.off("change"),t.on("change",()=>{j=t.find(":selected").val()}),jQuery("#createProjectDialog #folder").show()}}(),utilweb.$("#createProjectDialog #competitionTemplate").toggle(void 0!==T.competitionType),O(g),utilweb.$(_).select().focus())}function F(e){utilweb.$("#createProjectDialog .itemDescription").text(e)}function k(){const e=utilweb.$(g),t=e.find("input[name='name']").val();if(!t)return e.find("#name-error").text(msg.PROJECT_NAME_REQUIRED).show(),!1;let i=T.type;T.competitionType&&utilweb.$("#createProjectDialog #cbCompetitionTemplate").is(":checked")&&(i=T.competitionType),T.altType&&b&&b.mimic3d&&(i=T.altType);
1const o=db.getProjectType(i),c={name:t,type:i,code:o.default_codefile_code,codefile_name:o.default_codefile_name,description:o.default_description,folder:j||void 0,arena_project_id:C?C.projectId:void 0};b&&b.projectId?core_cmn.getProjectContent(b.projectId).then(e=>{const t=db.getProjectType(e.projecttype_id).progLanguage;c.code=function(e,t,i,o){e=e||"";let c=prog_language.getCommentText(o,"__CONFIG__",i);if(!c)return e;const r=prog_language.getCommentDelims(t);return c=r.open+"__CONFIG__\n"+c+r.close+"\n",util.replaceBetween(e,r.open+"__CONFIG__",r.close,c,(e,t)=>t+e)}(c.code,o.progLanguage,e.code,t),c.model=e.model,c.original_project_id=e.project_id,R(c)},e=>alert(msg.ERROR_C+"Failed getting template: "+e)):(b&&(b.mimic2d?c.model=b.mimic2d:b.mimic3d&&(c.model=b.mimic3d+(w?":"+w:""),c.type=T.altType)),R(c))}function R(e){if(utilweb.$(u).prop("disabled",!0),utilweb.$("#name-error").hide(),f){const t=window.module_db_local.createProject(e.name,e.type);let i=utilweb.getLocalUrl("project.html?id="+t.id+"&newproject=true");utilweb.isFuture()&&(i=utilweb.addFutureParam(i)),utilweb.navigateToUrl(i)}else core_cmn.createRemoteProject(e).done(e=>{ide.loadProject(e.project_id,!0),utilweb.hideLightbox(".lightbox")}).fail(e=>{-1!==e.indexOf("Invalid characters")?utilweb.$("#name-error").text(msg.INVALID_CHARACTERS_IN_NAME).show():alert(msg.ERROR_C+msg.FAILED_CREATING_PROJECT_C+e),utilweb.$(u).prop("disabled",!1)})}}(create_project_dialog||(create_project_dialog={}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.