void 0!==window.nodeDebugMode?window.debugMode=window.nodeDebugMode:window.debugMode=!0,window.nodeDebugMode&&void 0,window.debugMode&&(void 0,window.$_logColor||(window.$_logColor="color:green",window.$_infoColor="color:magenta",window.$_nodeColor="color:blue",window.$_serverColor="color:dodgerblue",window.$_warnColor="color:darkorange",window.$_eventColor="color:blue")),!function(){function e(){if(arguments&&!(arguments.length<1))if(o){for(var e="",t=0;t";for(var s=0;s\n"}else if("string"==typeof t||null==t)o+=t;else if(-1",t)"function"!=typeof t[c]&&(o+=i?"\n"+a+" ["+c+"] : "+e(t[c],r):"\n"+a+" ["+c+"] : "+t[c]);o+="\n"+a+"\n"}else o+=t}catch(e){o="\n# log error : "+e}return o}(arguments[t]);n.apply(console,[e])}}var n=console.log,o=/android/i.test(navigator.userAgent);o&&(console.error=console.debug=console.log=function(){e.apply(null,arguments)})}(),window.VERSION={project:"Jik-Ji Editor",number:"3.1.43",company:window.$$_auth&&window.$$_auth.com?window.$$_auth.com:"none",developer:"ⓒ Dong-il Park",email:"pdi1066@naver.com",web:"https://github.com/vulcan9/jik-ji",auth:angular.copy(window.$$_auth),demo:window.$$_demo},window.$$__isEditTool&&-1오랫동안 프로그램이 응답이 없으면 강제 종료 하세요",s._buttonshowID=setTimeout(function(){m.open({message:n,delay:500,buttonLabel:"작업 강제 종료",buttonFn:t})},15e3))));(this._runningProcess=o).useSafetyCheck&&(h.isBusy(!0),h.freeze()),void 0,o.params.name!==l.PROJECT_SAVE||o.params.name!==l.PROJECT_SAVEAS||o.params.name!==l.PROJECT_OPEN?f.start(o,3*_.processTimeLimit):f.start(o)}var u=o instanceof d;o.execute(t,this)}}},new t}e.$inject=["$injector","CommandParam","CommandName","HistoryProcess","$history","$commandTimer","$busy","$applications","$timeout","$toast","$status","Default","$richEditor"],MODULE.core.instance.service("$command",e)}(),!function(){function e(n){function e(){}return e.prototype={_executeTimeRestart:!1,_lastProcess:null,_ignoreTimeCheck:function(){return this._lastProcess&&!this._lastProcess.useTimeCheck},_timeNum:n.processTimeLimit,__counter:0,counter:function(e){this.__counter=this.__counter+(e=void 0===e?1:e)},_hasInstance:function(){return 0'),t=s.$new(!0),n=(t.config=angular.copy(this._openConfig),t.message=p.trustAsHtml(t.config.message||""),t.progress=null,t.isOpened=!0,r(t,this),c(e)(t),this._getParent(t.config));this._domInstance=e,this._domInstanceScope=t,angular.element(n).append(this._domInstance),this._domInstanceScope.isOpened=!0,t.$applyAsync(function(){o&&o()})}function r(e,t){var n=t._openConfig;t._buttonshowID&&(clearTimeout(t._buttonshowID),t._buttonshowID=null),e.buttonShow=!1,n.buttonLabel&&(n.buttonLabel&&(e.buttonLabel=n.buttonLabel),n.buttonFn&&(e.buttonFn=n.buttonFn),n.buttonShowDelay?(t._buttonshowID=setTimeout(function(){t._buttonshowID=null,e.buttonShow=!0,e.$applyAsync()},n.buttonShowDelay),e.$on("$destroy",function(){t._buttonshowID&&(clearTimeout(t._buttonshowID),t._buttonshowID=null)})):e.buttonShow=!0)}if(!this._disable){if((e=e||{}).delay=e.delay||0,void 0===e.modal&&(e.modal=!0),this._closeID&&(u.cancel(this._closeID),this._closeID=null),e.message||void 0,this._domInstance&&this._domInstanceScope.isOpened)return this._openConfig=e,this._domInstanceScope.config=angular.copy(this._openConfig),r(this._domInstanceScope,this),this.message(this._openConfig.message,o),void this._domInstanceScope.$applyAsync();this._openID?(n=(new Date).getTime()-this._openTime,i=Math.min(this._openConfig.delay,e.delay),e.delay=n"):null,u=this,e=(a.callback=function(){s&&c&&c[0].removeEventListener("click",o),a.callback=null,u._close(a);var e=arguments;f.leave(s).then(function(){s&&s.remove(),a.$destroy(),t&&t.apply(null,e),s=a=null})},p(s)(a),this._getParent(n)),l=angular.element(e).find("[popup-dialog]").last()[0];return f.enter(s,e,l).then(function(){var e,t;e=a,(t=n).useEnterKey&&!e.enterKey&&void 0,t.useEscKey&&!e.escKey&&void 0,(t=s)&&c&&(t.prepend(c),c[0].addEventListener("click",o))}),r=a,i=n,++E,e={id:g.prefixImportID+v.createUID(),keyup:{esc:function(e){if(!(0<_.counter())&&i.useEscKey)return r.escKey?r.escKey():void void 0},enter:function(e){if(!(0<_.counter())&&i.useEnterKey)return r.enterKey?r.enterKey():void void 0}}},r.config._keyContext=e,g.currentContext(e.id),g.customKeyContext(e),$.unshift(Boolean(i.allowFileDrop)),!a||a.config&&!a.config.pauseCommandTimer||(m.counter(1),m.pause()),a},_close:function(e){var t,n;n=(t=e).config._keyContext,g.customKeyContext(n,!0),g.currentContext(g.CONTEXT_LAST),--E,0<$.length&&$.shift(),t.$applyAsync(),!e||e.config&&!e.config.pauseCommandTimer||(m.counter(-1),m.resume())}},new e}e.$inject=["$rootScope","$compile","$animate","$commandTimer","$templateCache","$key","$util","$notice"],MODULE.core.instance.service("$import",e)}(),!function(){function e(d,p,a,s,n,t,c){function f(e,t){var n,o,r,i;e.submit?e.submit=e.enterKey:(r=!1,n=1,t.useEnterKey&&(r=void 0!==t.enterValue,n=r?t.enterValue:1),e.submit||(e.enterKey?e.submit=e.enterKey:e.submit=function(){e.close(n)}),r&&!e.enterKey&&(e.enterKey=e.submit)),o=e,r=t,++l,a.counter(1),a.pause(),i={id:s.prefixNoticeID+c.createUID(),keyup:{esc:function(e){if(o.escKey)return o.escKey();void 0},enter:function(e){if(o.enterKey)return o.enterKey();void 0}}},r._keyContext=i,s.currentContext(i.id),s.customKeyContext(i),u.unshift(Boolean(r.allowFileDrop)),t.$applyAsync=function(){e.$applyAsync()}}function m(e){g=g&&!1,a.counter(-1),a.resume();var t=e._keyContext;s.customKeyContext(t,!0),s.currentContext(s.CONTEXT_LAST),--l,0|]+$/,folderName:/^[^\\/:*?"<>|]+$/},folderNameToEscapeChar:function(e){return e.replace(/\\|\/|\(|\)|\{|\}|\[|\]|\^|\$/g,"\\$&")},namesToFilter:function(e,t){var n,o=this;if(e&&!(e.length<1))return n="(^|[\\/\\\\])("+e.map(function(e){return o.folderNameToEscapeChar(e)}).join("|")+")([\\/\\\\].*)*$",t?new RegExp(n,"ig"):function(e){return new RegExp(n,"ig").test(e)}},toLogString:function(){if(arguments&&!(arguments.length<1)){for(var u=2,e="",t=0;t";for(var s=0;s\n"}else if("string"==typeof t||null==t)o+=t;else if(-1",t)"function"!=typeof t[c]&&(o+=i?"\n"+a+" ["+c+"] : "+e(t[c],r):"\n"+a+" ["+c+"] : "+t[c]);o+="\n"+a+"\n"}else o+=t}catch(e){o="\n# log error : "+e}return o}(arguments[t]);return e}},time2String:function(e){var t=Math.floor(e/3600)%24,n=Math.floor(e/60)%60,e=Math.floor(e%60),o="";return(o+=t<10?"0"+t+":":t+":")+(o&&n<10?"0"+n+":":n+":")+(e<10?"0"+e:e)},string2Time:function(e){if(e.indexOf(":")<0)return isNaN(e)?NaN:parseInt(e);var e=e.split(":"),t=(e.reverse(),parseInt(e[0],10)),n=0,o=(void 0!==e[2]&&(n=parseInt(e[1],10),n*=60),0);return void 0!==e[2]&&(o=parseInt(e[2],10),o*=3600),o+n+t},remainTimeFormat:function(e){var e=e/1e3,t="",n=Math.floor(e/3600)%24,o=Math.floor(e/60)%60,e=Math.floor(e%60);return n&&(t=n+"시간"),o&&(t=t+" "+o+"분"),t=n?t:t+" "+e+"초"},_timer:{},timer:function(e,t){var n=e in this._timer,o=(new Date).getTime();if(!t)return n&&(o=-1,void 0),void(this._timer[e]=o);t=this._timer[e];if(!n||t<0)return void 0,-1;n=o-t;return delete this._timer[e],n},debounce:function(){function n(){o&&(r.cancel(o),o=null)}var o;return{run:function(e,t){n(),o=r(function(){o=null,e()},t=void 0===t?250:t)},clear:n}},position:function(e,t){var n,o,r,i,a={};return t=t||{},e=angular.element(e),void 0===t.margin&&(t.margin=0),void 0!==t.left&&(a.left=(r=e,n=t.left,i=t.margin,r=r.width(),(o=angular.element(window.document).width())t.major?1:e.majort.minor?1:e.minort.build?1:e.build
',compile:function(e,t,n){return e.attr("aria-valuemin",0),e.attr("aria-valuemax",100),e.attr("role","progressbar"),o}}}e.$inject=["$mdTheming","$mdUtil","$log"],angular.module("material.components.progressLinear",["material.core"]).directive("mdProgressLinear",e)}(),!function(){function e(e){function n(t,n,o){this.$onInit=function(){var e=this;e.highlightAction&&(n.highlightClasses=["md-highlight",e.highlightClass]),e.action&&!e.actionKey&&o.warn("Toasts with actions should define an actionKey for accessibility.","Details: https://material.angularjs.org/latest/api/service/$mdToast#mdtoast-simple"),e.actionKey&&!e.actionHint&&(e.actionHint='Press Control-"'+e.actionKey+'" to '),e.dismissHint||(e.dismissHint="Press Escape to dismiss."),n.$watch(function(){return f},function(){e.content=f}),this.resolve=function(){t.hide(m)}}}function t(c,u,l,d,p,o){return{onShow:function(e,t,n){f=n.textContent;var o=!d("gt-sm"),r=(t=l.extractElementByName(t,"md-toast",!0),n.element=t,n.openClass=(s=n.position,d("gt-xs")?"md-toast-open-"+(-1')).append(angular.element(n.children[r].childNodes)),n.children[r].appendChild(o[0]));return n.innerHTML}return e||""}}}n.$inject=["$mdToast","$scope","$log"],t.$inject=["$animate","$mdToast","$mdUtil","$mdMedia","$document","$q"];var f,m="ok";return e("$mdToast").setDefaults({methods:["position","hideDelay","capsule","parent","position","toastClass"],options:t}).addPreset("simple",{argOption:"textContent",methods:["textContent","action","actionKey","actionHint","highlightAction","highlightClass","theme","parent","dismissHint"],options:["$mdToast","$mdTheming",function(e,t){return{template:'
{{ toast.content }} {{ toast.dismissHint }} {{ toast.actionHint }} {{ toast.action }}
',controller:n,theme:t.defaultTheme(),controllerAs:"toast",bindToController:!0}}]}).addMethod("updateTextContent",function(e){f=e})}e.$inject=["$$interimElementProvider"],MODULE.core.instance.provider("$mdToast",e)}(),!function(){function e(l,r,d,p,f){return{restrict:"EA",templateUrl:"external/jj-file-dialog-box.html",replace:!0,scope:!1,compile:function(){return function(i,a,e){function t(e){if("cancel"===e.type&&(c=a.val(),void 0,s()),"change"===e.type){var t=$(this)[0].files;if(i.config.multiple)for(var n=[],o=0;o'}}e.$inject=["$timeout"],MODULE.core.instance.directive("jjSlider",e)}(),!function(){function e(r,s,u,e,t,c,i,o,l,n,a,d,p,f,m,h){function g(){}function v(){}var _=e;return g.prototype={init:function(){void 0},signup:function(e,t){},signout:function(e,t){},login:function(e,t){},configuration:function(e,n){var o;e?(o=this,_.api.configuration(e=e||{},function(e,t){!e&&t||c.message("초기 설정값을 받지 못했습니다.",{warn:!0});e=r;e._platform=t.platform,e._nativeType=t.nativeType,e._appRoot=s.normalize(t.appRoot),e._chromeAppRoot=s.normalize(t.chromeAppRoot),e._setupRoot=s.normalize(t.setupRoot),e._userDataRoot=e._setupRoot+"/userdata",e._updatesRoot=e._setupRoot+"/download/updates",e._firstrunRoot=e._setupRoot+"/firstrun",e._desktop=s.normalize(t.desktop),window.$$_auth&&(window.$$_auth.allAddress=t.allAddress,t.allAddress||c.message("Mac Address를 찾을 수 없습니다.",{warn:!0,delay:0})),s.set(e),void 0,o.setTitle(),n&&n()})):n(!1)},component:function(e,n,t){_.api.component(e,function(e,t){n&&n(e,t)},t)},template:function(e,n,t){_.api.template(e,function(e,t){n&&n(e,t)},t)},setTitle:function(e,t){_.api.setTitle(e=e||"",t,{async:!0})},exit:function(){_.api.exit()},restart:function(e){_.api.restart(e)},explorer:function(e,t){_.api.explorer(e,t,{async:!0})},getSaveAsInformation:function(e,t){var n=(e=e||{}).old||"",n=_.path.parse(n);e.defaultSaveName=(n.name||s.defaultName)+s.ext,e.saveMode=!0,e.accept=s.ext,h.currentContext("FileDialogBox"),_.dialog.getSaveAsInformation(e,function(e){h.currentContext(h.CONTEXT_LAST),t(e.path)})},getOpenInformation:function(t,n){(t=t||{}).accept=t.accept||s.ext,t.context=this,h.currentContext("FileDialogBox"),_.dialog.getOpenInformation(t,function(e){h.currentContext(h.CONTEXT_LAST);e=t.multiple?e:e.path;n(e)})},getPublishInformation:function(e,t){var n=(e=e||{}).ext||"",o=e.old||"",o=_.path.parse(o),o=(o=o.name||s.defaultName).replace(l.pattern.pubName,"");e.defaultSaveName=o+n,e.saveMode=!0,e.accept||(e.accept=n),h.currentContext("FileDialogBox"),_.dialog.getPublishInformation(e,function(e){h.currentContext(h.CONTEXT_LAST),t(e.path)})},getFileExplorer:function(e,t){h.currentContext("FileDialogBox"),_.dialog.getFileExplorer(e,function(e){h.currentContext(h.CONTEXT_LAST),t(e.path)})},_zip:new t,newZip:function(){this._zip=new t},setMetaData:function(e,t,n){var e=e.project,o=m.get(e).meta(),e=(o.editor=f.version(),o.project=e,_.path.join(s.NEW_WORK_SPACE_MARKER,s.saveManifestFile)),e=s.pathToActual(e);this._zip.creator(s.saveManifestFile,e,angular.toJson(o,s.jsonPretty)),t(!0)},saveData:function(e,t,n){var o=this._getFilePath(e.uid),r=s.pathToActual(o),i=e.task;if("delete"===i)return this._zip.remover(o,r),void t(i);"json"===e.type&&(i=angular.toJson(e.data,s.jsonPretty)||"",this._zip.creator(o,r,i)),t(!0)},_getFileUID:function(e){return _.path.parse(e).base},_getFilePath:function(e){e=_.path.join(s.NEW_PROJECT_SPACE_MARKER,e);return s.normalize(e)},saveFiles:function(e,t,n){t(e.task)},saveBackup:function(e,n,o,t){var r=this,i="_onProgressName_saveBackup",e=(window[i]=e.onProcess||function(e,t,n){},{archiveDesc:e.archiveDesc||"",onProgress:i,base:s.pathToActual(s.NEW_WORK_SPACE_MARKER),tasks:this._zip.generate()});_.archive.backup(e,function(e,t){delete window[i],r._zip.clean(),e?o(e):n(t)},t)},restoreData:function(e,n,o){var r=this,t=[];t.push(function(e){r._zip.clean(),e()}),t.push(function(n){var t=_.path.join(s.NEW_WORK_SPACE_MARKER,s.saveManifestFile);void 0,r.exist(t,function(e){e?r.readFile(t,{encoding:"utf8"},function(e,t){e?n("manifest 파일을 읽는중 에러가 발생하여 복구를 취소합니다."):n(null,t)}):n("한번도 저장하지 않은 프로젝트는 복구할 수 없습니다.\n복구를 취소합니다.")})}),t.push(function(e,n){var o="_openDecompressProcess_restoreData",t=(window[o]=function(e,t,n){arguments.length<2?i.message(e):i.progress(e,t,n)},{onProgress:o,dest:s.pathToActual(s.NEW_WORK_SPACE_MARKER),dataFolderName:s.pathToActual(s.PROJECT_SPACE_MARKER)});_.archive.open(t,function(e,t){delete window[o],n(e,t)})}),t.push(function(e,n){r._openReadData(e,function(e,t){n(e,t)})}),async.waterfall(t,function(e,t){e?o(e):n(t)})},_openReadData:function(e,t){var n,o=angular.fromJson(e.meta),r=e.files,i={meta:o};for(n in r){var a,s=r[n],s=s?angular.fromJson(s):"",c=this._getFileUID(n);0===c.indexOf(u.APPLICATION)?(a=u.APPLICATION,s&&void 0===o.editor&&(i.meta.editor=s.version)):0===c.indexOf(u.PROJECT)?a=u.PROJECT:0===c.indexOf(u.DOCUMENT)?a=u.DOCUMENT:0===c.indexOf(u.ELEMENT)?a=u.ELEMENT:0===c.indexOf(u.SELECT)?a=u.SELECT:0===c.indexOf(u.ASSET)?a=u.ASSET:0===c.indexOf(u.GROUP)?a=u.GROUP:0===c.indexOf(u.TOOL)&&(a=u.TOOL),i[a]||(i[a]={}),i[a][c]=s}i[u.DOCUMENT]||(i[u.DOCUMENT]={}),t(null,i)},zip:function(e,n,t){_.archive.zip(e,function(e,t){n&&n(e,t)},t)},unzip:function(e,n,t){_.archive.unzip(e,function(e,t){n(e,t)},t)},getVersionFromProjectFolder:function(e,r){e=e+s._workspace+"/"+s.saveManifestFile;this.readFile(e,{encoding:"utf8"},function(e,t){var n=-1;try{var o=JSON.parse(t),n=f.isJIK2(o.editor)?2:3}catch(e){}r(e,n)})},getVersionFromProjectFile:function(e,o){var r=s.saveManifestFile,i=s._workspace.substring(1)+"/"+s.saveManifestFile;this.unzip({source:e,readContent:!0,file:["_save/",r,i],some:!0},function(e,t){var n=-1;"_save/"in t||r in t?n=1:i in t&&(t=JSON.parse(t[i]),n=f.isJIK2(t.editor)?2:3),o(e,n)})},legacyProject:function(e,r,t){function n(e,t){return e=s.pathToActual(e),e=t&&-1";n+=""}else n=t;r(n)},t)},openData:function(e,t,n){alert("openData 사용안함")},packaging:function(e,n,o,t){var r="_onProgressName_packaging",i=(window[r]=e.onProcess||function(e,t,n){},{archiveDesc:e.archiveDesc||"",onProgress:r,dest:e.savePath,tasks:n.generate()});e.pageThumbnailInfo&&(i.pageThumbnailInfo=e.pageThumbnailInfo),e.epubInfo&&(i.epubInfo=e.epubInfo),e.webInfo&&(i.webInfo=e.webInfo),e.binderInfo&&(i.binderInfo=e.binderInfo),e.binderWebInfo&&(i.binderWebInfo=e.binderWebInfo),_.archive.save(i,function(e,t){delete window[r],n.clean(),o&&o(e,t)},t)},less:function(e,n,t){void 0===e.content&&void 0===e.source?n("파일 소스가 지정되지 않았습니다."):_.api.less(e,function(e,t){if(e)return void 0,void n(e,t);n(e,t)},t)},getPdfInfomation:function(e,n,t){e.path?_.pdf.getPdfInfomation(e,function(e,t){if(e)return void 0,void n(e,t);n(e,t)},t):n("경로가 지정되지 않았습니다.")},convert:function(e,t,n,o){e?(t.destFolder=s.pathToActual(t.destFolder),t.thumbnailFolder=s.pathToActual(t.thumbnailFolder),t.ext=s.EXT_MASTER,_.pdf.convert(e,t,function(e,t){return e?void 0:t&&t.success||(e="Something went wrong: "+t.error),void(n&&n(e,t))},o)):n("경로가 지정되지 않았습니다.")},convertCancel:function(){_.pdf.convertCancel()},getPdfText:function(e,t,n,o){e?(e=s.pathToActual(e),_.pdf.getText(e,t,function(e,t){e&&void 0,n&&n(e,t)},o)):n("경로가 지정되지 않았습니다.")},getImageInfomation:function(o,r,i){r=r||{};var a="string"==typeof o;o=(o=a?[o]:o).map(function(e){return l.pattern.datauri.test(e)?e:s.pathToActual(e)}),_.image.size(o,r,function(e,t){var n;e&&1===e.length&&(void 0,r.silent||c.message("이미지 크기 정보를 얻지 못했습니다. 경로를 다시 확인 하세요.",{warn:!0})),a?(n=Array.isArray(e)?e[0]:void 0,i(n,t[0])):i(e,t)})},thumbnail:function(e,n,t){e.destFolder=s.pathToActual(e.destFolder),_.image.thumbnail(e,function(e,t){e||t&&t.success||(e="Something went wrong: "+t.error),n&&n(e,t)},t)},thumbnailCancel:function(){_.image.thumbnailCancel()},toThumbnailSize:function(e,n,t){e&&e.pages?(e.destFolder=s.pathToActual(e.destFolder),_.image.resize(e,function(e,t){e||t&&t.success||(e="Something went wrong: "+t.error),n&&n(e,t)},t)):n("이미지(page) 정보가 지정되지 않았습니다.")},toThumbnailSizeCancel:function(){_.image.resizeCancel()},toCapture:function(e,n){e&&e.input?(e.option=e.option||{},e.isData||(e.input=s.pathToActual(e.input)),e.base&&(e.base=s.pathToActual(e.base)),e.output?e.output=s.pathToActual(e.output):e.output=e.input,e.thumbnailConfig&&(e.thumbnailConfig.destFolder=s.pathToActual(e.thumbnailConfig.destFolder)),_.image.capture(e,function(e,t){e||t&&t.success||(e="Something went wrong: "+t.error),n&&n(e,t)},{async:!0})):n("이미지(input) 정보가 지정되지 않았습니다.")},toCaptureDocuments:function(e,n){e?e.cancel||e.documents&&!(e.documents.length<1)?_.image.captureDocuments(e,function(e,t){e||t&&t.success||(e="Something went wrong: "+t.error),n&&n(e,t)},{async:!0}):n&&n(null,{success:!0}):n&&n("toCaptureDocuments 정보가 지정되지 않았습니다.")},captureScreenshot:function(n,o){n&&n.url?_.image.captureScreenshot(n,function(e,t){e||t||(e="Something went wrong: "+n.url),o&&o(e,t)},{async:!0}):o&&o("captureScreenshot 정보가 지정되지 않았습니다.")},_noticeConfirm:function(e,t){var n=angular.merge({modal:!0,isTop:!0,content:"실행하시겠습니까?",title:"알림",ok:"예",cancel:"아니오",closeButton:!1},e);o.confirm(n).then(function(e){t(0DB 오류입니다.

"+e.resultMsg)}}))}e.$inject=["RequestAPIBase","$auth","$httpParamSerializer","$http","StatusCode","$util","$notice"],MODULE.core.instance.service("$requestAPI",e)}(),!function(){function e(e,i,d){var t=1,p=[],f=!1;return e.create("Communication",{toNative:function(e,t,n,o){var r=(o=o||{}).sendOnly||!1,o=o.async||!1;if(!o){if(f)return void p.push([e,t,n]);f=!0}e=this.getCallURL(e,t,n,r,o);return this._callAPI(e)},getCallURL:function(e,t,n,o,r){void 0===o&&(o=!1);t={project:i.uid()||"",api:e,parameters:t||{}};return o||(t.callBack=this.getCallbackMethod(n,e,r)),this._toJson(e,t)},_callAPI:function(e){return e},_toJson:function(e,t){t=angular.toJson(t);return"noteProtocol://"+e+"?data="+encodeURIComponent(t)},_fromJson:function(e){e=decodeURIComponent(e);return angular.fromJson(e)},getCallbackMethod:function(a,s,c){var u="callback_"+t++,l=this;return window[u]=function(e){e||alert("응답값이 없습니다.");try{var t,n=l._fromJson(e),o=n.error||null,r=n.response||"",i=("registExitHandler"!=s&&delete window[u],window.console);o?0===(t=o.message||o).indexOf("ENOSPC:")?alert("하드웨어 공간이 부족합니다.\n하드웨어 용량을 확인하신 후 다시 시도해 주세요."):"cancel"!==t&&(t=-1"+t:"# Native API 에러 : "+t,d.message(t,{warn:!0,delay:0}),i.error("# API 응답 에러 [",s,"] : ",n)):i.log("%c# Native 응답 [%s] : %o",window.$_nodeColor,s,n)}catch(e){alert("실행중 에러 : "+e)}a(o,r,n),c||(f=!1,0문제가 계속되면 프로그램 구입처에 확인하여 주십시오.",r;o=s.toArray(arguments);return o.unshift(r),this.checkErrorBeforeRequest.apply(this,o)},checkErrorBeforeRequest:function(e,t){return e},callRequest:function(e,t,n){var o,r,i=this.common_parameter_check(e);i.err?(e=i.err)?n(e):n(e,o):(t.url=i.requestURL,t.data=a(t.data),void 0,s.timer(i.task.name),r=this,c(t).then(function(e){r.success(i.task,e,n)},function(e){r.error(i.task,e,n)}))},error:function(e,t,n){var o=e.name,e=e.desc,o=s.timer(o,!0),r=t.data,i=t.status;void 0,n("
"+(-1===i?"서버와의 연결이 원활하지 않습니다.":"작업중 문제가 발생했습니다.")+"
"+("status "+i+" : "+u[i])+"
",r)},success:function(e,t,n){var o=e.name,r=e.desc,o=s.timer(o,!0),i=t.data,a=t.status;void 0,this.getErrorMessage(e,i,a,function(e){n(e,i)})},getErrorMessage:function(e,t,n,o){function r(e){e&&"cancel"!==e?(n&&(e+="
"+("(status "+n+" : "+u[n]+")")),o(i=i+'
'+e+"
")):o(e)}var i,a=e.desc;a&&(i=a+"(요청) 중에 다음 문제가 발생했습니다."),e.name&&(a=this.getResponseFunction(e))&&a.apply(this,[e,t,r]),this.getDefaultResponse(t,r)},getResponseFunction:function(e,t,n){return null},getDefaultResponse:function(e,t){var n=e.returnInt;1===n?t():(e=e.resultMsg||"알수 없음",t(e+=" (code: "+n+")"))},errorPopup:function(o,t){n.open({isTop:!0,templateUrl:"popup/alert.html",controller:["$scope","$notice","originalConfig",function(e,t,n){e.close=function(e){void 0,t.close(e)},e.config={modal:!0,title:o.title||"에러",yes:"확인",content:r.trustAsHtml(o.content||"")},e.$on("$destroy",function(){e.config=null}),n.enterValue=1,t.registNotice(e,n)}]}).then(function(e){t()},function(){t()})}})}e.$inject=["$superClass","$util","$httpParamSerializer","$http","StatusCode","$notice","$sce"],MODULE.core.instance.factory("RequestAPIBase",e)}(),MODULE.core.instance.factory("Zip",function(){function e(){this.clean()}return e.prototype={_archive:void 0,_list:{create:{},remove:{}},clean:function(){this._archive={},this._list={create:{},remove:{}},void 0},generate:function(){return angular.extend(this._list,{archive:this._archive})},addArchive:function(e){void 0===e.isFolder&&(e.isFolder=!1),this._archive[e.id||e.name]=e},removeArchive:function(e){delete this._archive[e.id||e.name]},creator:function(e,t,n){this._list.create[e]={task:"create",isFolder:!1,encoding:"utf8",name:e,data:n,origin:t}},remover:function(e,t){this._list.remove[e]={task:"remove",name:e,origin:t}},importer:function(e){this.addArchive(e)}},e}),!function(){function e(e){return e.extend("HistoryProcess",{commandName:void 0,command:void 0,callStep:"call",init:function(e,t){this._super.init.apply(this,[e]),this.command=t,this.commandName=e.name}})}e.$inject=["Process"],MODULE.core.instance.factory("HistoryProcess",e)}(),!function(){function e(e,s,t){var a=e.create("Process",{init:function(e){this.params=e},params:void 0,useTimeCheck:!1,useSafetyCheck:!0,ignoreHistory:!1,useCommandStackCheck:!0,_inProgress:!1,_total:0,onProgress:function(e,t){},status:-2,ignoreStoppedProcess:!1,_ignoreID:"$$process",_sequence:void 0,_list:void 0,_result:void 0,_callback:void 0,_registed:!1,_next:function(e){!this._list||this._list.length<1?this._destroy(1):(this.onProgress(this._total-this._list.length,this._total),this._list.shift().defer.resolve(e))},_stop:function(){if(this._list){for(;0t.length&&(n[e]=r.splice(0,t.length),o=!0)}else if(t&&angular.isObject(t)){r&&angular.isObject(r)||(n[e]={},r=n[e]);var a,s=0;for(a in t)++s,this.$$_setter(a,t[a],r)&&(o=!0);if(0==s){for(var c in n[e]){o=!0;break}n[e]={}}}else{if("$$__force_delete"===t)return delete n[e],!0;!t&&angular.isArray(r)?(n[e]=[],o=!0):!t&&angular.isObject(r)?(n[e]={},o=!0):(o=n[e]!==t,void 0===t?delete n[e]:n[e]=t)}return o},getNoneCopyValue:function(e){var t=this.$$_original;if(e in t)return t[e];throw new Error(e+" 속성이 정의되지 않았습니다.")},uid:function(){return this.value("uid")},name:function(){return this.value("name")},version:function(){return this.value("version")},copy:function(e){if(!e)return angular.copy(this.$$_original);var t,n=angular.copy(this.$$_original);for(t in this.$_readOnly)delete n[this.$_readOnly[t]];return n},publish:function(){return this.$$_original}})}e.$inject=["$superClass","$version"],MODULE.core.instance.factory("DataBase",e)}(),!function(){function e(e,t){return e.create("DataService",{init:function(){this.$$_data={},this.$$_current=null,this.$$_length=0,this.$$_saveQueue=[],this.$$_deleteQueue={},this.$$_backupQueue=[],this.$$_deleteBackupQueue={}},$$_data:void 0,$$_current:void 0,$$_length:0,getDatas:function(){return this.$$_data},getLength:function(){return this.$$_length},$$get:function(e,t){var n;if(t)return(n=this.$$_data[e])?n:void void 0;if(void 0===e){if(!this.$$_current)return null;e=this.$$_current}return(n=this.$$_data[e])||(n=this.$$new(e),this.$$_data[e]=n,++this.$$_length),this.$$_current=e,n},$$createUID:function(e){return e?(e+="-")+t.createUID():t.createUID()},createUID:function(){return this.$$createUID()},$$new:function(e){void 0},$$destroy:function(e){if(void 0===e){if(!this.$$_current)return;e=this.$$_current}this.$$addDeleteQueue(e);var t=this.$$_data[e];t||void 0,t&&"destroy"in t&&t.destroy(),e===this.$$_current&&(this.$$_current=null),this.$$_data[e]=null,delete this.$$_data[e],--this.$$_length},$$_saveQueue:void 0,$$_backupQueue:void 0,$$addSaveQueue:function(e){this.$$_saveQueue.indexOf(e)<0&&this.$$_saveQueue.push(e),this.$$_backupQueue.indexOf(e)<0&&this.$$_backupQueue.push(e)},$$removeSaveQueue:function(e){var t=this.$$_saveQueue.indexOf(e);-1=t.length||e.includes(t[o])||(r=t[n],t.splice(n,1),t.splice(o,0,r)));return t},indexChange:function(r,e,i){return isNaN(i)||(this._sort(r),e.sort(function(e,t){var n=0<=r.indexOf(e),o=0<=r.indexOf(t);return n&&o?e-t:n?i"),$.message(e,{warn:!0,delay:0})),void 0;e=t.data;n(null,e)})}),e.push(function(e,t){var e=e.thumbnail,n=0==e.ext.indexOf(".")?e.ext.substring(1):e.ext,n={asset:p,needToCopy:!0,data:{type:n,path:"WORK_ASSET_MASTER_THUMBNAIL_FOLDER",original:e.path,property:{width:e.width,height:e.height}}};i.assets.push(n),t()}),async.waterfall(e,function(e){if(e)return r(e);o(i)})},insertImage:function(e,o,r){var i=o.uid||P.getUID(e,!0);this._getImageAssetParam(e,i,"OUT_OF_PROJECT_FOLDER",function(e){var t,n;t=(e=e).document,n=angular.merge({},o.style,{backgroundImage:i}),t={document:t,elements:[{data:{type:a.IMAGE,state:{normal:{css:o.css,option:o.option,style:n}}},asset:{add:e}}]},y.addElement(t,r)})},insertItem:function(e,t){var e=r.getContent(e),n=e.type,o=g.pathToActual(e.source);n===a.MASTER?o?this.insertMaster({original:o,uid:e.uid},function(){t&&t()}):this.removeMaster(h.uid(),function(){t&&t()}):n===a.IMAGE&&(n=angular.merge({},e.css,{left:50,top:50}),this.insertImage(o,{uid:e.uid,css:n,option:e.option,style:e.style},function(){t&&t()}))}},new e}e.$inject=["$assets","CommandName","CommandParam","$command","$documents","FileSystem","Default","$externalAPI","$toast","UIDType","$util","$mime","$commandController","ElementType","$contentAssetSetting2","$projectWatcher"],MODULE.core.instance.service("$assetManager",e)}(),!function(){function e(r,i,a){function e(){}function s(e,t){var n=e.nodeType,o=e.nodeName.toUpperCase();if(n==Node.ELEMENT_NODE)if("A"==o)e=c(e);else{var r=angular.element(e).contents();if(0/g,">").replace(/([(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+~#?&//=]|.[\w\d])*)/gim,function(e,t,n,o){var r=0==e.indexOf("http")||0==e.indexOf(".")?e:"http://"+e;return c(''+e+"")}),angular.element(e).before(o),angular.element(e).remove())}function c(e){var t,n,o=typeof e,e=angular.element(e);return e.attr("target","_blank"),e.css({zIndex:8,cursor:"pointer"}),r._nativeType&&"web"!=r._nativeType&&"node"!=r._nativeType&&(n=e.attr("href"),t=e.attr("target"),n=i.getCallURL("link",{_pobj:"api",href:n,target:t},null,!0),"windows"===r._nativeType?(window.$$noteAppLinkAPI||(window.$$noteAppLinkAPI=function(e){a.note.link(e)}),e.attr("href","#"),e.attr("onclick",'window.$$noteAppLinkAPI("'+n+'"); return false;')):(e.attr("href","#"),e.attr("onclick",'window.location.assign("'+n+'"); return false;'))),"string"==o?e[0].outerHTML:e[0]}return e.prototype={create:function(e){e=$("
"+e+"
");return s(e[0],0),e[0].innerHTML},remove:function(e){return e.replace(/<\s*a([^<>]*\s+)(_autolink_)+(=[^<>]*)?(\s+[^<>]*)*>(.*)<\s*\/\s*a([^<>]*)>/gim,"$5")}},new e}e.$inject=["FileSystem","$communication","$nativeInterface"],MODULE.core.instance.service("$autolink",e)}(),!function(){function e(c,u,s,l,e,t,o,d,n,p,r,i,a){function f(){}function m(e){return s.RUNTIME_FOLDER+s.captureFolder+"/"+e+s.EXT_CAPTURE}function h(e){this._uid=e}var g={},v=!1,_=(h.prototype={_uid:void 0,_isRunning:!(f.prototype={getImagePath:m,_disable:!1,enable:function(){this._disable=!1,_._startMouseMoniter()},disable:function(){this._disable=!0,_._endMouseMoniter()},_create:function(e){var t=g[e];return t||(void 0,g[e]=new h(e),g[e])},_destroy:function(e){g[e]&&(void 0,g[e]=null,delete g[e])},_get:function(e,t){e=e||d.uid();var n=g[e];return n=!n&&t?this._create(e):n},isRunning:function(){var e=this._get();return!!e&&!(!e._delayID&&!e._isRunning)},add:function(e,t){this._disable||(this._create(e),t&&t())},update:function(e){this._disable||this._get(e,!0).update()},remove:function(e){var t;this._disable||((t=this._get(e))&&t.remove(),this._destroy(e))},clear:function(e){this._disable||this._get(e,!0).clear()},commandReady:function(e,t){if(this._disable)return t(!1);var n=!1;switch(e){case o.PROJECT_PUBLISH:case o.PROJECT_PREVIEW:case o.PROJECT_SAVE:case o.PROJECT_SAVEAS:case o.PROJECT_CLOSE:n=!0;break;case o.DOCUMENT_ADD:case o.DOCUMENT_SELECT:n=Boolean(d.get());break;default:o.PROJECT_BACKUP;n=!1}if(!n)return t(!1);e=this._get(null,!0);void 0,e.noDelayCapture(function(){void 0}),t(!0)},finishImmediately:function(e){if(this._disable)return e();this._get().noDelayCapture(e)},refresh:function(e,t){if(this._disable)return t();this._get(e,!0).refresh(t)},_refreshMultiCaptureInstance:null,onMultiCaptureData:function(e,t){if(this._refreshMultiCaptureInstance)return this._refreshMultiCaptureInstance._refreshMulti_onData(e,t)},refreshMulti:function(e,t){var n,o;this._disable||this._refreshMultiCaptureInstance||(n=this,o=new h,(this._refreshMultiCaptureInstance=o).refreshMulti(e,t,function(e){n._refreshMultiCaptureInstance=null}))},refreshMultiStop:function(e){if(!this._refreshMultiCaptureInstance)return e();this._refreshMultiCaptureInstance.refreshMultiStop(e)},_startMouseMoniter:function(){this._bindHandler||(this._bindHandler={_onMousedown:angular.bind(this,this._onMousedown),_onMouseup:angular.bind(this,this._onMouseup)}),v=!1,e.on(t.EVENT_MOUSE_DOWN,this._bindHandler._onMousedown),e.on(t.EVENT_MOUSE_UP,this._bindHandler._onMouseup)},_endMouseMoniter:function(){this._bindHandler&&(v=!1,e.off(t.EVENT_MOUSE_DOWN,this._bindHandler._onMousedown),e.off(t.EVENT_MOUSE_UP,this._bindHandler._onMouseup))},_onMousedown:function(){v=!0},_onMouseup:function(){v=!1;var e=this._get();e&&e._delayID&&e._delayTime()}}),_reTry:!1,_taskCode:0,remove:function(){this._taskCode=-1,this._isRunning?this._reTry=!0:(void 0,this._delayTime())},update:function(){this._taskCode=1,this._isRunning?this._reTry=!0:(void 0,this._delayTime())},clear:function(){this._closedCallbackListeners=null,this._isRunning=!1,this._reTry=!1,this._delayID&&(clearTimeout(this._delayID),this._delayID=null),this._taskCode=0},noDelayCapture:function(e){if(!this._delayID&&!this._isRunning)return e();this._closedCallbackListeners||(this._closedCallbackListeners=[]),this._closedCallbackListeners.push(e),this._isRunning?this._reTry=!0:(this._delayID&&clearTimeout(this._delayID),this._run())},refresh:function(e){this.clear(),this._taskCode=1,this._closedCallbackListeners||(this._closedCallbackListeners=[]),this._closedCallbackListeners.push(e);var n=this;this._capture(function(e,t){n._render(n._uid),n._close()})},_delayID:void 0,_closedCallbackListeners:null,_delayTime:function(){this._delayID&&clearTimeout(this._delayID);var e=this;this._delayID=setTimeout(function(){v?e._delayTime():e._run()},c.captureDelayTime)},_run:function(){this._delayID=null,this._isRunning=!0;var n=this;1===this._taskCode?this._capture(function(e,t){n._render(n._uid),n._close()}):-1===this._taskCode?this._removeCapture(function(){n._close()}):this._close(),this._taskCode=0},_close:function(){if(this._isRunning=!1,this._reTry)return void 0,this._reTry=!1,void this._delayTime();if(void 0,this._closedCallbackListeners){for(var e=this._closedCallbackListeners.length,t=0;te.value):"object"===e.type?(o={},t.forEach(e=>o[e.label]=e.value),o):(e.type,t):t)}}),service=new Service;return service}provider.$inject=["$superClass"];var application=MODULE.core.instance;application.service("$casting",provider)}(),!function(){function e(e,t){function n(){}var s;return n.prototype={copyTo:function(e,t){var n;if(t=t||document.body,window.clipboardData&&window.clipboardData.setData)n=window.clipboardData.setData("Text",e);else if(document.queryCommandSupported&&document.queryCommandSupported("copy")){var o=document.createElement("textarea");o.textContent=e,o.style.position="fixed",o.style.visible="hidden",t.appendChild(o),o.select(),o.setSelectionRange(0,9999);try{n=document.execCommand("copy")}catch(e){void 0,n=!1}finally{t.removeChild(o)}}return n},_tempCopydata:null,_initTempCopydata:function(){return{types:[],datas:{},paste:{}}},_delayedCopydata:null,_cloneDelayedCopydata:function(){var e=this._initTempCopydata();return this._delayedCopydata.types&&(e.types=angular.copy(this._delayedCopydata.types)),this._delayedCopydata.datas&&angular.merge(e.datas,this._delayedCopydata.datas),e},_isPause:!1,resume:function(){this._isPause=!1,this._delayedCopydata&&(this._tempCopydata=this._cloneDelayedCopydata(),this._delayedCopydata=null)},pause:function(){this._isPause=!0},isChanged:function(){return Boolean(this._delayedCopydata)},clear:function(){this._tempCopydata=null,this.pasteCounter(),s&&s.clear()},watch:function(r){var e,i,t;if((e=window.nw&&window.nw.Clipboard?window.nw.Clipboard.get():null)||void 0,s=e)return i=this,r.programmaticChangedClipboardFlag=!1,t=r.$watch(function(){if(r.programmaticChangedClipboardFlag)return"programmatic Changed Flag";var e=s.readAvailableTypes();return!e||e.length<1?void 0:{length:e.length,text:s.get("text"),html:s.get("html"),png:-1"),e=angular.element(e),n=(t.append(e),["title","meta","link"]);return t.contents().filter(function(){return-1"+e);u.apply(this,[e])}.apply(t,[n,o])}function o(){$(this.container).attr("title","")}function u(e){$(this.container).attr("title",e)}var l,d="인스턴스를 생성하지 않습니다.\n AVideo.create 함수를 이용하세요.",t=(s.enable=!0,s.allowLog=!1,s.log=function(){s.allowLog&&console.log.apply(window.console,arguments)},{0:"HAVE_NOTHING",1:"HAVE_METADATA",2:"HAVE_CURRENT_DATA",3:"HAVE_FUTURE_DATA",4:"HAVE_ENOUGH_DATA"}),p={0:"NETWORK_EMPTY",1:"NETWORK_IDLE",2:"NETWORK_LOADING",3:"NETWORK_NO_SOURCE"},f="loadstart, progress,suspend, abort,error, emptied,play, pause,loadedmetadata, loadeddata,waiting, playing,canplay, canplaythrough,seeking, seeked, timeupdate, ended,ratechange,durationchange, volumechange";return s.prototype={mediaType:void 0,_playerReady:!1,isReady:function(){return this._playerReady},_onReadyCallback:null,player:null,config:null,_queue:null,setInit:function(e){if(this.minWidth=50,this.minHeight=50,e)for(var t in e)t in this&&(this[t]=e[t]);this.currentTimeChangedByCode=!1},initialize:function(){this.initializeEvent(),this.initializeConfig(),this.initializeFunction()},initializeConfig:function(){for(var e in s.log("AVideo 설정"),this.config)this.set(e,this.config[e])},clearConfig:function(){for(var e in s.log("AVideo 설정 리셋"),this.config)this.set(e,null)},get:function(e){if(s.enable){if(!(e in this.player))throw new Error("요청한 ["+e+"]속성이 존재하지 않습니다.");if("duration"==e){var t=this.player.duration;if(isNaN(t))return 0}else if("currentTime"==e)return t=this.player.currentTime,isNaN(t)&&(t=0),Math.min(this.player.duration,t);return this.player[e]}},_tempCurrentTime:-1,set:function(t,n){if(s.enable){if(!this.player)throw void 0,new Error("player가 존재하지 않습니다.");if(!(t in this.player))throw new Error("요청한 속성이 존재하지 않습니다. ("+t+" : "+n+")");if("src"===t)return function(e){var t=this.player.src;if(0>>10&1023|55296),e=56320|1023&e),t+=O(e)}).join("")}function _(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function $(e,t,n){var o=0;for(e=n?S(e/l):e>>1,e+=S(e/t);R*w>>1S((E-l)/i))&&g("overflow"),l+=s*i,!(s<(s=a<=p?P:p+w<=a?w:a-p));a+=y)i>S(E/(s=y-s))&&g("overflow"),i*=s;p=$(l-r,t=c.length+1,0==r),S(l/t)>E-d&&g("overflow"),d+=S(l/t),l%=t,c.splice(l++,0,d)}return m(c)}function o(e){for(var t,n,o,r,i,a,s,c,u,l,d=[],p=(e=v(e)).length,f=b,m=C,h=t=0;hS((E-t)/(c=n+1))&&g("overflow"),t+=(r-f)*c,f=r,h=0;hE&&g("overflow"),s==f){for(i=t,a=y;!(i<(u=a<=m?P:m+w<=a?w:a-m));a+=y)d.push(O(_(u+(l=i-u)%(u=y-u),0))),i=S(l/u);d.push(O(_(i,0))),m=$(t,c,n==o),t=0,++n}++t,++f}return d.join("")}var i="object"==typeof x&&x&&!x.nodeType&&x,a="object"==typeof A&&A&&!A.nodeType&&A,s="object"==typeof global&&global;s.global!==s&&s.window!==s&&s.self!==s||(e=s);var c,E=2147483647,y=36,P=1,w=26,u=38,l=700,C=72,b=128,T="-",d=/^xn--/,p=/[^\x20-\x7E]/,f=/[\x2E\u3002\uFF0E\uFF61]/g,h={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},R=y-P,S=Math.floor,O=String.fromCharCode,D={version:"1.3.2",ucs2:{decode:v,encode:m},decode:n,encode:o,toASCII:function(e){return t(e,function(e){return p.test(e)?"xn--"+o(e):e})},toUnicode:function(e){return t(e,function(e){return d.test(e)?n(e.slice(4).toLowerCase()):e})}};if("function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return D});else if(i&&a)if(A.exports==i)a.exports=D;else for(c in D)D.hasOwnProperty(c)&&(i[c]=D[c]);else e.punycode=D;return A.exports}(),C=function(e){return"string"==typeof e},a=function(e){return"object"==typeof e&&null!==e},P=function(e){return null===e},b=function(e){return null==e},T=(x.parse=n,x.resolve=function(e,t){return n(e,!1,!0).resolve(t)},x.resolveObject=function(e,t){return e?n(e,!1,!0).resolveObject(t):t},x.format=function(e){return(e=C(e)?n(e):e)instanceof y?e.format():y.prototype.format.call(e)},x.Url=y,/^([a-z0-9.+-]+:)/i),o=/:[0-9]*$/,R=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,r=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),S=["'"].concat(r),O=["%","/","?",";","#"].concat(S),D=["/","?","#"],M=/^[+a-z0-9A-Z_-]{0,63}$/,N=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,I={javascript:!0,"javascript:":!0},j={javascript:!0,"javascript:":!0},L={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k={decode:t,parse:t,encode:e,stringify:e};return y.prototype.parse=function(e,t,n){if(!C(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var o=e.indexOf("?"),o=-1!==o&&oe-t);1페이지를 삭제합니다.",r.title="여러 페이지 삭제",r.content='

다음 페이지를 삭제합니다. 삭제된 페이지는 복구할 수 없습니다.

'+e+"

계속 진행하시겠습니까?"):(r.title=a[0]+" 페이지 삭제",r.content="

페이지를 삭제합니다. 삭제된 페이지는 복구할 수 없습니다.

계속 진행하시겠습니까?"),u.confirm(r).then(function(e){0'},t):t(null,e))},importTemplate:function(e,o){u.versionLimitMessage("템플릿 가져오기")||(e=new c(e=e||{}),e=ue.getProcess(e),s.execute(e,function(e){var t,n,e=e.importTemplate;e?e.error?(t="템플릿 가져오기 작업이 취소되었습니다.",n=e.error,u.alert({modal:!0,title:"가져오기 취소",content:n,ok:"확인"}),x.setMessage(t,l.ERROR,d.FAIL)):(t="템플릿이 등록되었습니다.",n=e.getResponse(),x.setMessage(t,l.INFO,d.SUCCESS),N.message(t)):x.setMessage(t="템플릿 가져오기 작업이 취소되었습니다.",l.ALERT,d.SUCCESS),void 0,o&&o(null,n),M.close()}))},insertTemplate:function(e,o){u.versionLimitMessage("템플릿 삽입하기")||(e=new c(e=e||{}),e=pe.getProcess(e),s.execute(e,function(e){var t,n,e=e.insertTemplate;e?e.error?(x.setMessage(t="템플릿이 페이지에 적용되지 않았습니다.",l.ERROR,d.FAIL),N.message(t,{warn:!0})):e.getResponse?(t="템플릿이 적용된 새로운 페이지가 추가되었습니다.",n=e.getResponse(),x.setMessage(t,l.INFO,d.SUCCESS)):(x.setMessage(t="템플릿 적용이 취소되었습니다.",l.ERROR,d.FAIL),N.message(t,{warn:!0})):x.setMessage(t="템플릿 적용이 취소되었습니다.",l.ALERT,d.SUCCESS),o&&o(null,n),M.close()}))},deleteTemplate:function(e,o){u.versionLimitMessage("템플릿 삭제")||(e=new c(e=e||{}),e=le.getProcess(e),s.execute(e,function(e){var t,n,e=e.deleteTemplate;e?!e.error&&e.getResponse?(t="템플릿이 삭제되었습니다.",n=e.getResponse(),x.setMessage(t,l.INFO,d.SUCCESS)):(x.setMessage(t="템플릿 페이지가 정상적으로 삭제되지 않았습니다.",l.ERROR,d.FAIL),N.message(t,{warn:!0})):x.setMessage(t="템플릿 삭제 작업이 취소되었습니다.",l.ALERT,d.SUCCESS),o&&o(null,n),M.close()}))},modifyTemplate:function(e,t){u.versionLimitMessage("템플릿 이름 변경")||e&&(void 0,e=new c(e),e=de.getProcess(e),s.execute(e,function(e){e&&e.modifyTemplate&&e.modifyTemplate.getResponse?(x.setMessage("템플릿이 수정되었습니다.",l.INFO,d.SUCCESS),e=e.modifyTemplate.getResponse(),t&&t(null,e)):x.setMessage("템플릿이 정상적으로 수정되지 않았습니다.",l.ERROR,d.FAIL)}))},createComponent:function(e,t){var n;u.versionLimitMessage("컴포넌트 만들기")||((n=this.getCopyList())?(e.elements=n,n=new c(e),e=Z.getProcess(n),s.execute(e,function(e){e&&e.createComponent&&e.createComponent.getResponse?((e=e.createComponent.getResponse())?x.setMessage("컴포넌트가 등록되었습니다.",l.INFO,d.SUCCESS):x.setMessage("컴포넌트 등록 작업이 취소되었습니다.",l.ALERT,d.SUCCESS),t&&t(null,e)):x.setMessage("컴포넌트가 등록되지 않았습니다.",l.ERROR,d.FAIL)})):t&&t("선택된 아이템이 없습니다.
화면에서 등록할 아이템을 먼저 선택해 주세요"))},installComponent:function(t){s._useCallStackProcess=!1;var e=new c({ignoreBackup:!0}),e=oe.getProcess(e);s.execute(e,function(e){s._useCallStackProcess=!0,t&&t(null,e)})},exportComponent:function(e,r){function t(e,t){if(e)return void 0,x.setMessage("컴포넌트 내보내기 작업이 취소되었습니다.",l.ALERT,d.SUCCESS),void(r&&r(e));void 0;e=new c(t),t=re.getProcess(e);s.execute(t,function(e){var t,n,o=e.exportComponent;o?o.error?(t="컴포넌트 내보내기 작업이 취소되었습니다.",n=o.error,u.alert({modal:!0,title:"내보내기 취소",content:n,ok:"확인"}),x.setMessage(t,l.ERROR,d.FAIL)):(t="컴포넌트 내보내기 작업이 완료되었습니다.",n=e.exportComponent.getResponse(),x.setMessage(t,l.INFO,d.SUCCESS)):x.setMessage(t="컴포넌트 내보내기 작업이 취소되었습니다.",l.ALERT,d.SUCCESS),void 0,r&&r(null,n),M.close()})}u.versionLimitMessage("컴포넌트 내보내기")||(!(e=e||{}).components||e.components.length<1?A.open({template:'
'},t):t(null,e))},importComponent:function(e,o){u.versionLimitMessage("컴포넌트 가져오기")||(e=new c(e=e||{}),e=ie.getProcess(e),s.execute(e,function(e){var t,n,e=e.importComponent;e?e.error?(n=e.error,x.setMessage(t="컴포넌트 가져오기 작업이 취소되었습니다.",l.ERROR,d.FAIL),u.alert({modal:!0,content:n,title:"가져오기 취소",ok:"예"}).then(function(e){},function(){})):(t=(n=e.getResponse()).component&&0'},function(e,t){e?void 0:(void 0,o.modifyProject(t,function(e){void 0,x.setMessage("출판 정보를 수정하였습니다."),n&&n(e)}))})},viewerSetting:function(n){var o=this;A.open({template:'
'},function(e,t){e?void 0:o.modifyProject({preview:"reloadAll",data:t},function(e){void 0,x.setMessage("뷰어 설정 정보를 수정하였습니다."),n&&n(e)})})},contentEditor:function(n){var o=this;A.open({template:'
'},function(e,t){e?void 0:(void 0,o.modifyProject({data:{navigation:t}},function(e){void 0,x.setMessage("목차를 수정하였습니다."),n&&n(e)}))})},openExplorer:function(){ge.openExplorer({templateUrl:"explorer/explorer.html",title:"Explorer",closeButton:!0,showButton:!1,useEnterKey:!1,selects:!0,style:{},options:{keepHierarchy:!0},filters:{}},function(e,t){e&&void 0})}})}e.$inject=["$superClass","$command","CommandName","CommandParam","$timeout","$notice","MessageType","StatusIcon","$applications","$projects","$documents","$elements","$history","$selects","$newApplicationMacro","$exitApplicationMacro","$importDocumentMacro","$newProjectMacro","$closeProjectMacro","$restoreProjectMacro","$saveProjectMacro","$saveAsProjectMacro","$modifyApplicationMacro","$previewProjectMacro","$publishProjectMacro","$modifyProjectMacro","$addDocumentMacro","$modifyDocumentMacro","$removeDocumentMacro","$selectDocumentMacro","$indexDocumentMacro","$addElementMacro","$modifyElementMacro","$removeElementMacro","$selectElementMacro","$indexElementMacro","$modifyAssetMacro","$groupEditableMacro","$elementEditableMacro","$maskElementBoundaryMacro","$indexedPositionMacro","$addGroupMacro","$removeGroupMacro","$modifyGroupMacro","$copyElementMacro","$cutElementMacro","$pasteElementMacro","$status","$import","$busy","$toast","Default","$createComponentMacro","$deleteComponentMacro","$insertComponentMacro","$modifyComponentMacro","$installComponentMacro","$exportComponentMacro","$importComponentMacro","$createTemplateMacro","$installTemplateMacro","$exportTemplateMacro","$importTemplateMacro","$deleteTemplateMacro","$modifyTemplateMacro","$insertTemplateMacro","$externalAPI","$richEditor","ContentViewName","$clipboard","$explorerPopup"],MODULE.core.instance.factory("CommandControllerService",e)}(),!function(){function e(e,r){return e.extend("ExitApplicationCommand",{_run:function(e,t){var n=this._process.params,o=n.getParam("application")||r.uid();n.setResponse({application:o}),void 0,this._success(n,e,t)}})}e.$inject=["CommandBase","$applications"],MODULE.core.instance.factory("ExitApplicationCommand",e)}(),!function(){function e(e,a,s){return e.extend("ModifyApplicationCommand",{_run:function(e,t){var n=this._process.params,o=n.getParam("data");a.modify(o);if(void 0!==o){for(var r in o){var i=o[r];s.data("application",r,i)}s.save()}n.setResponse({}),void 0,this._success(n,e,t)}})}e.$inject=["CommandBase","$applications","$store"],MODULE.core.instance.factory("ModifyApplicationCommand",e)}(),!function(){function e(e,a,s){return e.extend("NewApplicationCommand",{_run:function(e,t){var n=this._process.params,o=n.getParam("application"),r=n.getParam("data");void 0!==r&&(i=s.data("application"),r=angular.merge({},i,r));var i=a.create(o,r).uid();n.setResponse({application:i}),void 0,this._success(n,e,t)}})}e.$inject=["CommandBase","$applications","$store"],MODULE.core.instance.factory("NewApplicationCommand",e)}(),!function(){function e(e,p,f,m,h,g,v,_,$,E,y,P,t){return e.extend("UpdateApplicationCommand",{_run:function(n,o,e){function t(e,t){var n=u.version||"";if(P.data("updater","currentVersion",n,!0),e)for(var o in e)P.data("updater",o,e[o],!0);P.save(function(){t&&t()})}function r(){d=!0,E.close(),setTimeout(function(){a()},0)}function i(){t({shutdownForUpdate:!0},function(){var e;void 0,void 0,e={isPatch:!1,data:u},p.updateInstall(e,function(e,t){if(e||t.error)return P.data("updater","shutdownForUpdate",!1,!0),void P.save(function(){l._error({message:"업데이트 작업이 취소되었습니다.",error:e||t.error},n,o)});c.setResponse(t),l._success(c,n,o)})})}function a(e){if(h.setMessage("업데이트 작업을 종료합니다.",g.WARN,v.PROCESS),d)return c.setResponse(e),void l._success(c,n,o);E.message("업데이트 작업을 종료합니다."),t(null,function(){c.setResponse(e),_(function(){l._success(c,n,o)},1e3)})}var s,c=this._process.params,u=c.getParam("update"),l=this,d=!1;u.installer?(s=[],y.exitHack("업데이트 설치를 완료한 후 종료하시기 바랍니다."),s.push(function(n){h.setMessage("업데이트 파일을 압축 해지합니다.",g.WARN,v.WAIT);var o="_updateDecompressProcess",e=(window[o]=function(e,t,n){1===arguments.length?E.message(e):E.progress(e,t,n)},f._firstrunRoot),e={isPatch:!0,onProgress:o,baseFolder:e,data:u};p.updateInstall(e,function(e,t){delete window[o],n(e||t.error,t)})}),async.waterfall(s,function(e,t){E.close(),y.exitHack(),void 0,e?l._error({message:"업데이트 작업이 취소되었습니다.",error:e},n,o):a(t)})):m.confirm({modal:!1,isTop:!0,content:"업데이트 버전 설치를 위해 프로그램을 종료합니다.
프로그램이 종료되면 설치가 계속 됩니다.",title:$.version(u.version)+" 설치",ok:"확인",cancel:"취소",closeButton:!1}).then(function(e){(1!==e?r:i)()},function(){void 0,r()})}})}e.$inject=["CommandBase","$externalAPI","FileSystem","$notice","$status","MessageType","StatusIcon","$timeout","$version","$busy","$exitApplicationMacro","$store","$toast"],MODULE.core.instance.factory("UpdateApplicationCommand",e)}(),!function(){function e(e,c,v,_,$,E,y,P){var w={WORK_ASSET_MASTER_THUMBNAIL_FOLDER:E.RUNTIME_FOLDER+E.masterThumbnailFolder,WORK_ASSET_MASTER_FOLDER:E.CLIENT_PUBLISH_FOLDER+E.masterFolder};return e.extend("AddAssetCommand",{_run:function(t,n){var e=this._process.params.getParam(),o=e.asset,r=e.assets||[];if(!r&&!o)throw new Error("asset 데이터가 전달되지 않았습니다.");o&&(r.push({data:e.data,asset:o}),delete e.asset,e.assets=r);var i=this;this._run_array(e,function(){var e;(e=i._process.params).setResponse({}),void 0,i._success(e,t,n)})},_run_array:function(e,t){var n,o=angular.copy(e),r=(delete o.assets,e.assets||[]),i=[],a=[];for(n in r){var s=angular.merge({},o,r[n]),s=this._run_single(s);s&&(s.copy?i.push(s.copy):a.push(s.move))}e=[];0기존 설치된 컴포넌트를 삭제한 후 설치합니다. 아래 목록을 다시 설치하시겠습니까?",cancel:"취소",no:"건너뛰기",yes:"다시설치",closeButton:!1},e.$on("$destroy",function(){e.config=null}),n.enterValue=1,t.registNotice(e,n)}]}).then(function(e){c=Boolean(0데이터가 없거나 잘못된 파일 형식입니다.",null)}),e.push(function(t,n){if(u)return n(null,t);if(E.message("컴포넌트를 설치합니다."),!c)return n(null,t);var e=new g({remove:t.conflict.map(function(e){return{uid:e.uid}})}),e=h.getProcess(e);e.useCommandStackCheck=!1,v.execute(e,function(e){void 0,n(null,t)})}),e.push(function(n,o){if(u)return o(null,n);if(!n)return o(null,n);if(c&&(n.add=n.add.concat(n.conflict)),!n.add||n.add.length<1)return o(null,n);var e=n.add,i={},e=e.map(function(e){var t,n;try{t=JSON.parse(e.data),m._convert(t);var o=P.isJIK2(t.version)?{isCopy:!1,source:l+e.categoryPath,dest:e.categoryPath,files:[e.uid,"asset-"+e.uid]}:(n=function(e,t){function n(e){t[e]||(t[e]=!0,r.push(e))}var o,r=[],i=e.assets;for(o in i)n(i[o].path);return e.include.forEach(function(e){n(e.path)}),r}(t,i),{isCopy:!1,useTempFolder:l,dest:e.categoryPath,source:e.categoryPath,files:[e.uid],assets:n}),r=t.capture;r&&r.path&&(r=r.path.replace(_.USER_DATA_COMPONENT_MARKER+"/",""),o.files.push(r))}catch(e){void 0}return o}),i=null,e={pathInfo:_.pathMarkerInfo(),move:[{dataName:"component",folder:_.USER_DATA_COMPONENT_MARKER,content:e}]};$.component(e,function(e,t){e&&void 0;e=t.move;e&&(t=e[0].content,void 0),o(null,n)})}),e.push(function(t,n){return u||!t.add||t.add.length<1?n():(E.message("컴포넌트를 등록합니다."),void y(function(){var e=t.add;e.forEach(function(e){f.setComponent(e)}),a=e,n()},100))}),async.waterfall(e,function(e){var t,n;t=function(){e?s._error({error:e},o,r):u?s._success(null,o,r):(i.setResponse({component:a}),s._success(i,o,r))},n={path:_.USER_DATA_COMPONENT_MARKER+l},$.remove(n,null,function(e){e&&void 0,t()})})}})}e.$inject=["CommandBase","$components","$contentComponentSetting","$componentLoader","$subversion_component","$deleteComponentMacro","CommandParam","$command","FileSystem","$externalAPI","$busy","$timeout","$notice","$version"],MODULE.core.instance.factory("ImportComponentCommand",e)}(),!function(){function e(e,T,R,S,O,D,x,A,M,N,I,j,L,k,U,F,B,K,V,H,G){return e.extend("InsertComponentCommand",{_run:function(r,i){function t(){K.message("컴포넌트 삽입...");var o,e=new N,t=(l&&0"),t=angular.element(e),r=(o.append(t),[]);if(o.find("img").each(function(e,o){var t=o.src;a.pattern.source.test(t)||r.push(function(n){void 0;i.getImageInfomation(t,{silent:!0,base64:!0},function(e,t){void 0,o.src=t.data||"",n(null,t)})})}),r.length<1)return n(e);async.parallel(r,function(e,t){void 0;t=o[0].innerHTML;n(t)})},_checkScriptTag:function(t,n){var o,r=//gim;t.search(r)<0?n(t):(o=function(e){e<1?n():(1===e&&(t=t.replace(r,"")),n(t))},s.confirm({content:'붙여넣기할 데이터에 스크립트가 포함되어 있습니다.

스크립트 출처를 신뢰할 수 있는지 확인하시기 바랍니다.
이 스크립트로 인해 예상하지 못한 문제가 발생할 수도 있습니다.

스크립트를 제거한 후 붙여넣기 하시겠습니까?',title:"스크립트 제거",ok:"예",cancel:"취소",optionButton:"아니오",isTop:!0,modal:!0,closeButton:!1}).then(function(e){o(e)},function(){void 0,o(-1)}))}})}e.$inject=["HistoryCommandBase","$clipboard","$externalAPI","$util","$documents","$selects","$groups","CommandName","$command","CommandParam","Process","$timeout","$notice"],MODULE.core.instance.factory("PasteCommandBase",e)}(),!function(){function e(e,r){return e.extend("PasteElementCommand",{_createElementParam:function(e,t,n,o){t=t.data,t=this._createElementMap(t),n=this._createOffsetCSS(n,t),t=r.get(t);t.document=e,o(r.getElementParams(t,n))},_createOffsetCSS:function(e,t){return{left:t.boundary.x,top:t.boundary.y,offsetX:e,offsetY:e}},_createElementMap:function(e){return{indexes:e.indexes,elements:e.elements,groups:e.groups,assets:e.assets,boundary:e.boundary}}})}e.$inject=["PasteCommandBase","$pasteData"],MODULE.core.instance.factory("PasteElementCommand",e)}(),!function(){function e(e,s,c,u,l){return e.extend("PasteHtmlCommand",{_createElementParam:function(o,e,r,i){var e=e.data,n=this,t=[],a=e;t.push(function(t){n._checkScriptTag(a,function(e){void 0===e?t("취소"):(a=e,t())})}),l.convertPasteLocalImageToDataURI&&t.push(function(t){n._toDataURI(a,function(e){a=e,t()})}),async.waterfall(t,function(e){if(e)return i();var t,n;u.changeHtmlString(a),e=a,t=r,n=c.getSetting(s.HTML),e={data:{type:n.type,property:{code:{html:encodeURIComponent(e),js:"",css:""}},state:{normal:{css:angular.merge({},n.css,{left:100+t,top:100+t,width:600,height:300}),option:angular.copy(n.option),style:angular.copy(n.style)}}}},i({document:o,elements:[e]})})}})}e.$inject=["PasteCommandBase","ElementType","$contentItemSetting","$clipboard","Default"],MODULE.core.instance.factory("PasteHtmlCommand",e)}(),!function(){function e(e,l,d,p,f){return e.extend("PasteImageCommand",{_createElementParam:function(r,e,n,t){var i,a,o,s=d.getSetting(l.IMAGE),c=f.createUID(),u=e.data,e=[];e.push(function(t){var n,o;n=u,o=function(e){a=e.data.property,i={document:r,assets:[e]},t()},p.getImageInfomation(n,null,function(e,t){t={asset:c,needToCopy:!1,data:{type:l.IMAGE,path:n,original:"",property:{width:t.width,height:t.height}}};o(t)})}),e.push(function(t){var e={type:s.type,css:angular.merge({},s.css,a,{left:100+n,top:100+n}),option:angular.copy(s.option),style:angular.merge({},s.style,{backgroundImage:c})};(function(e){e.asset={add:i},o={document:r,elements:[e]},t()})({data:{type:e.type,state:{normal:{css:e.css,option:e.option,style:e.style}}}})}),async.waterfall(e,function(e){t(o)})}})}e.$inject=["PasteCommandBase","ElementType","$contentItemSetting","$externalAPI","$assets"],MODULE.core.instance.factory("PasteImageCommand",e)}(),!function(){function e(e,c,u,l,d){return e.extend("PasteTextCommand",{_createElementParam:function(r,e,t,n){function o(e,t,n){var o=u.getSetting(c.TEXT),t={data:{type:o.type,state:{normal:{css:angular.merge({},o.css,{left:100+t,top:100+t,width:600}),option:angular.merge({},o.option,{text:e}),style:angular.copy(o.style)}}}},o=(n&&(delete t.data.state.normal.css.width,t.data.state.normal.style.fontSize="16px"),a._measureElementHeight(t.data.state.normal,e));return t.data.state.normal.css.width=o.width,t.data.state.normal.css.height=o.height,{document:r,elements:[t]}}var i=e.type,e=e.data,a=this;if("text"===i)return i=o(e,t),void n(i);var i=[],s=e;i.push(function(t){a._checkScriptTag(s,function(e){void 0===e?t("취소"):(s=e,t())})}),d.convertPasteLocalImageToDataURI&&i.push(function(t){a._toDataURI(s,function(e){s=e,t()})}),async.waterfall(i,function(e){if(e)return n();l.changeHtmlString(s);e=o(s,t,!0);n(e)})},_measureElementHeight:function(e,t){var n,o=e.option.useRichtext,r=e.option._$$flexibleSize;return r?(t=$('
'+t+"
"),n={},isNaN(e.css.width)||(n.width=e.css.width),r&&t.addClass("flexible"),r=t.find("[jj-element-text]").css(n),o&&r.addClass("richtext"),t.find("[richTextEditor]").css(angular.merge({},e.style,n)),angular.element("[jj-page]").append(t),r=t.outerWidth(),n=t.outerHeight(),t.remove(),{width:r,height:n}):{width:e.css.width,height:e.css.height}}})}e.$inject=["PasteCommandBase","ElementType","$contentItemSetting","$clipboard","Default"],MODULE.core.instance.factory("PasteTextCommand",e)}(),!function(){function e(e,u,l,d,p,f,m,h){return e.extend("AddDocumentCommand",{_run:function(t,n){var o=this._process.params,e=o.getParam("document"),r=o.getParam("position"),i=o.getParam("data"),a=o.getParam("ignoreUpdatePage")||!1,s=u.add(e,i).uid(),e=(u.select(s),l.add(s),l.select(s),p.add(s),p.select(s),d.get().addDocument(s,r),new m),c=(e.add("update",function(e,t){f.add(s,function(){e()})},this),a||e.add("updateFiles",function(e,t){h.updatePage({add:[s]},function(){e()})},this),this);e.execute(function(e){o.setResponse({document:s}),void 0,c._success(o,t,n)})}})}e.$inject=["CommandBase","$documents","$selects","$projects","$history","$capture","Process","$epubCreator"],MODULE.core.instance.factory("AddDocumentCommand",e)}(),!function(){function e(e,l,d){return e.extend("IndexDocumentCommand",{_run:function(e,t){var n=this._process.params,o=n.getParam("document"),r=n.getParam("position"),i=l.get(),a="string"==typeof o?[o]:o,s=a.map(function(e){return i.getIndex(e)}),c=(i.moveDocument(a,r),a.map(function(e){return i.getIndex(e)})),u=this;d.updatePage({info:!0,opf:!0,nav:!0},function(){n.setResponse({document:a,old_indexes:s,new_indexes:c}),void 0,u._success(n,e,t)})}})}e.$inject=["CommandBase","$projects","$epubCreator"],MODULE.core.instance.factory("IndexDocumentCommand",e)}(),!function(){function e(e,n,t,o,y,P,w,C,b,T){return e.extend("ModifyDocumentCommand",{_run:function(e,t){function n(e,t,n){if(t&&void 0!==t[n]){e=y.get(e).value(n);if(e!==t[n])return!0}}var o=this._process.params,r=o.getParam("document"),i=o.getParam("data"),a=o.getParam("ignoreUpdatePage")||!1,s=o.getParam("asset"),c=new w;if(o.isHistoryProcess&&this._process.callStep,i){var u,l=y.get(r),d=angular.copy(i);for(u in i)l.isReplaceOnly(u)?d[u]=l.value(u):this.setOldData(i[u],u,d,l.value(u));void 0}var p,f,m,h,g,v,_={};s&&(_.remove=P.toRemoveParam(s.add),_.add=P.toAddParam(s.remove),void 0),s&&(s.remove&&P.removeAssetProcess(s.remove,c),s.add&&(m="undo"===this._process.callStep||"redo"===this._process.callStep,P.addAssetProcess(s.add,c,null,m))),p=r,f=i,c.add("dataProcess",function(e,t){f&&y.modify(p,f),e()}),a||(s=c,h={info:!1,update:void 0},g=n(m=r,a=i,"subject"),v=n(m,a,"search"),(g||v)&&(h.update=[m]),n(m,a,"master")&&(h.info=!0),(h.info||h.update)&&s.add("updateFile",function(e,t){b.updatePage(h,function(){e()})}));$={document:r,data:i,oldData:d,oldAsset:_},c.add("responseProcess",function(e,t){$.redoParam=function(){var e=angular.copy(o.getParam());if(!e.asset||!e.asset.add)return e;var t=e.asset.add.assets;return t&&t.forEach(function(e){var t;e.data&&(t=e.asset,t=T.get(t),e.data.original=t.value("original"),e.data.path=t.value("path"))}),e}(),o.setResponse($),void 0,e()});var $,E=this;c.execute(function(){E._success(o,e,t),o.getParam("ignoreCapture")||C.update(r)})},_getRedoCommand:function(){return o.define(t.DOCUMENT_MODIFY,this._redoParam)},_setRedoParam:function(e,t){t=t.getResponse();return new n(t.redoParam)},_getUndoCommand:function(){return o.define(t.DOCUMENT_MODIFY,this._undoParam)},_setUndoParam:function(e){var e=e.getResponse(),t=e.document;return new n({document:t,data:e.oldData,asset:e.oldAsset})}})}e.$inject=["HistoryCommandBase","CommandParam","CommandName","$command","$documents","$assetManager","Process","$capture","$epubCreator","$assets"],MODULE.core.instance.factory("ModifyDocumentCommand",e)}(),!function(){function e(e,c,u,l,d,p,f,m,a){return e.extend("RemoveDocumentCommand",{_run:function(e,t){var n=this._process.params,o=n.getParam("document"),r="string"==typeof o?[o]:o,i=(r.forEach(function(e){u.remove(e),l.remove(e);var t,n=c.get(e),o=n.value("elements");for(t in o){var r=o[t];d.remove(r)}var i,a=n.value("groups");for(i in a){var s=a[i];m.remove(s)}c.remove(e),p.get().removeDocument(e),f.remove(e)}),this);a.updatePage({remove:r},function(){n.setResponse({document:r}),void 0,i._success(n,e,t)})}})}e.$inject=["CommandBase","$documents","$history","$selects","$elements","$projects","$capture","$groups","$epubCreator"],MODULE.core.instance.factory("RemoveDocumentCommand",e)}(),!function(){function e(e,i,a,s,c){return e.extend("SelectDocumentCommand",{_run:function(e,t){var n=this._process.params,o=n.getParam("document"),r=i.uid(),o=(i.select(o),i.uid());s.select(o),a.select(o),n.setResponse({old_uid:r,new_uid:o}),void 0,this._success(n,e,t),c.reloadAll=!0}})}e.$inject=["CommandBase","$documents","$history","$selects","$preview"],MODULE.core.instance.factory("SelectDocumentCommand",e)}(),!function(){function e(e,$,E,y,P,w,C,b,t,T,R,S,O){return e.extend("AddElementCommand",{_run:function(e,t){function s(e){return _?e.oldData:e.data}var n=this._process.params,o=n.getParam("document"),r=n.getParam("elements"),i=n.getParam("groups"),c=n.getParam("selects");if(!o)throw new Error("document uid가 지정되지 않았습니다.");var u=P.get(o),a=C.get(o),l=a.get(),d=[],p=i;if(p)for(var f in p){var m=p[f];b.add(f,m),u.addGroup(f),void 0}var h,g=new R,v=((r=r||[]).length<1&&(r[0]={}),r.sort(function(e,t){return void 0===t.index?1:e.index===t.index?0:e.index.jjs 설치가 필요한 프로젝트입니다.',content2:"지금 공유 에셋 파일을 설치 하시겠습니까?",infoDesc:"공유 에셋 파일을 설치하지 않는 경우 이미지가 표시되지 않거나 정상 동작하지 않을 수도 있습니다.",yes:"지금 설치",no:"나중에 설치",checkboxLabel:"다시 표시 안함",checkboxValue:!1},saveMenifest:!1},w.open(r,function(e){e.cancel?o(e.data.checkboxValue):o(!0)})):t(n)}),t.add("upgradability",function(t,n,o){if(!o)return u=!0,m._rollBackData(),void t();$.message("버전 호환성 검사");var e,r,i=o;for(r in i[P.APPLICATION])if(e=i[P.APPLICATION][r].version)break;f.upgradabilityMessage(e,function(e){e?a(function(){t(o)}):$.message("작업을 취소합니다.",function(){n()})})}),t.add("parse",function(t,e,n){if(!n||u)return u=!0,m._rollBackData(),void a(t);$.message("데이터 유효성 검사"),f.run(n,function(e){a(function(){t(e)})},o)}),t.add("verification",function(t,e){var n,o;u?t():(n=g.uid(),(o=_.project(n))?y.open({isTop:!0,templateUrl:"popup/verificationResult.html",controller:["$scope","$notice","originalConfig",function(e,t,n){e.close=function(e){t.close(e)},e.config={modal:!0,content:o,title:"데이터 보정 알림",ok:"확인",closeButton:!1},e.$on("$destroy",function(){e.config=null}),n.enterValue=1,t.registNotice(e,n)}]}).then(function(e){t(!0)},function(){t(!0)}):t())}),t.add("selectDocument",function(t,e){f.selectDocument(function(){var e=g.getDefaultFontName();b.setDefaultFont(e),t()})}),this);t.execute(function(t){var e=t.parse;if(void 0===e)return void 0,h.get().$$_resetChangedFlag(),void l._error("",r,i);var n=t.verification,e=(e||n?(void 0,void 0,void 0,$.message("보정된 데이터가 있습니다. 자동 백업 준비 중입니다.")):(h.get().$$_resetChangedFlag(),$.message("프로젝트 열기 작업을 완료합니다.")),[]),o=(e.push(function(e){R(t.open,e)}),e.push(function(e){t.open,e()}),T.legacyBundleFonts_3_1_31());o&&0기존 설치된 템플릿을 삭제한 후 설치합니다. 아래 목록을 다시 설치하시겠습니까?",cancel:"취소",no:"건너뛰기",yes:"다시설치",closeButton:!1},e.$on("$destroy",function(){e.config=null}),n.enterValue=1,t.registNotice(e,n)}]}).then(function(e){c=Boolean(0데이터가 없거나 잘못된 파일 형식입니다.",null)}),e.push(function(t,n){return!u&&t&&t.add.concat(c?t.conflict:[]).some(function(e){var e=JSON.parse(e.data).document.version,t=m.hasUpperVersion(e);return t&&(o=e),t})?void h.upgradabilityMessage(o,function(e){e||(y.message("작업을 취소합니다."),u=!0),n(null,t)}):n(null,t);var o}),e.push(function(t,n){if(u)return n(null,t);if(y.message("템플릿을 설치합니다."),!c)return n(null,t);var e=new v({remove:t.conflict.map(function(e){return{uid:e.uid}})}),e=g.getProcess(e);e.useCommandStackCheck=!1,_.execute(e,function(e){void 0,n(null,t)})}),e.push(function(n,o){if(u)return o(null,n);if(!n)return o(null,n);if(c&&(n.add=n.add.concat(n.conflict)),!n.add||n.add.length<1)return o(null,n);var e=n.add,i={},e=e.map(function(e){var t,n;try{t=JSON.parse(e.data),m._convert(t);var o=w.isJIK2(t.version)?{isCopy:!1,source:l+e.categoryPath,dest:e.categoryPath,files:[e.uid,"asset-"+e.uid]}:(n=function(e,t){function n(e){t[e]||(t[e]=!0,r.push(e))}var o,r=[],i=e.assets;for(o in i)n(i[o].path);return e.include.forEach(function(e){n(e.path)}),r}(t,i),{isCopy:!1,useTempFolder:l,dest:e.categoryPath,source:e.categoryPath,files:[e.uid],assets:n}),r=t.capture;r&&r.path&&(r=r.path.replace($.USER_DATA_TEMPLATE_MARKER+"/",""),o.files.push(r))}catch(e){void 0}return o}),i=null,e={pathInfo:$.pathMarkerInfo(),move:[{dataName:"template",folder:$.USER_DATA_TEMPLATE_MARKER,content:e}]};E.template(e,function(e,t){e&&void 0;e=t.move;e&&(t=e[0].content,void 0),o(null,n)})}),e.push(function(t,n){return u||!t.add||t.add.length<1?n():(y.message("템플릿을 등록합니다."),void P(function(){var e=t.add;e.forEach(function(e){f.setTemplate(e)}),a=e,n()},100))}),async.waterfall(e,function(e){var t,n;t=function(){e?s._error({error:e},o,r):u?s._success(null,o,r):(i.setResponse({template:a}),s._success(i,o,r))},n={path:$.USER_DATA_TEMPLATE_MARKER+l},E.remove(n,null,function(e){e&&void 0,t()})})}})}e.$inject=["CommandBase","$templates","$contentTemplateSetting","$templateLoader","$subversion_template","$openParser","$deleteTemplateMacro","CommandParam","$command","FileSystem","$externalAPI","$busy","$timeout","$notice","$version"],MODULE.core.instance.factory("ImportTemplateCommand",e)}(),!function(){function e(e,s,l,d,p,f,m,h,g,v,_,$,E,y,P,w,C,t,b,T,R){return e.extend("InsertTemplateCommand",{_run:function(t,c){var u,o,n=this._process.params,r=n.getParam("template"),i=n.getParam("position"),a=this,e=[];e.push(function(t){var e=s.get(r);l.get(e,function(e){void 0,o=(u=e).document.uid,t()})}),e.push(function(t){var e=u.document.version;w.upgradabilityMessage(e,function(e){e?t():(f.message("작업을 취소합니다."),t("작업을 취소합니다."))})}),e.push(function(n){var e,t,o=g.get().value("fileMap"),r=u.project.fileMap,i=[],a=[],s=u.name;for(e in r)e in o?s!==(t=E.get(e).value("property").template)&&a.push({uid:e,oldTemplate:t,newTemplate:s,label:r[e]}):i.push({uid:e,newTemplate:s});if(a.length<1)return n(null,i);p.open({template:'
',newTemplate:s,overlapFiles:a},function(e,t){if(e)return void 0;void 0,1===t?(i=i.concat(a),n(null,i)):c()})}),e.push(function(e,t){f.message("템플릿 페이지 추가...");var n,o,r=u.project.fileMap,i=!0;for(n in r){i=!1;break}i||(void 0,g.modify(g.uid(),{fileMap:r})),void 0,o=u.assets,e.forEach(function(e){var t=e.uid,e=e.newTemplate;o[t].property.template=e,void 0}),t(null,e)}),e.push(function(e,t){for(var n in u.assets){var o=u.assets[n],r=E.get(n);r?(r=o.property?E.modify(n,{property:o.property}):r).counter(o._counter):(r=E.add(n,o),e.forEach(function(e){e=e.uid;n===e&&r.counter(1)}))}t()}),e.push(function(e){for(var t in u.groups){var n=u.groups[t];y.add(t,n)}e()}),e.push(function(e){for(var t in u.elements){var n=u.elements[t];P.add(t,n)}m(function(){e()},C.busyDelayTime)}),e.push(function(n){f.message("템플릿 파일 적용...");var e,t=[];for(e in u.assets){var o=u.assets[e];t.push({src:o.original,dest:o.path})}var r=u.include;r&&0"+(-1===r?"서버와의 연결이 원활하지 않습니다.":"작업중 문제가 발생했습니다.")+"
"+("status "+r+" : "+m[r])+"
",o)}function p(e,t,n){var o,r,i,a,s=f.timer(e,!0),c=t.data,u=t.status;{var l,d;(void 0,s=c,r=u,i=function(e){n(e,c)},"login"===(t=e))?(a="사용자 등록 과정에 다음 문제가 발생했습니다.",e=p,-5===(u=s).returnInt&&(u.resultMsg="

다른 컴퓨터에 로그인이 되어 있습니다.
로그아웃 후 이용해 주세요.

"+u.resultMsg),g(u,e)):"check"===t?(a="사용자 인증 과정에 다음 문제가 발생했습니다.",e=p,-4===(u=s).returnInt&&(u.resultMsg="

다른 컴퓨터에 로그인이 되어 있습니다.
로그아웃 후 이용해 주세요.

"+u.resultMsg),g(u,e)):"logout"===t?(a="로그아웃 과정에 다음 문제가 발생했습니다.",g(s,p)):"user"===t?(a="사용자 정보 조회 과정에 다음 문제가 발생했습니다.",e=p,-1===(u=s).returnInt&&(u.logout=!0),g(u,e)):"checkContentsUpload"===t?(a="업로드 콘텐츠 조회 과정에 다음 문제가 발생했습니다.",d=p,-1===(l=s).returnInt?(o=function(e){1===e?d():(l.reload=!0,d("cancel"))},h.confirm({content:'이미 업로드된 BookID 콘텐츠가 있습니다.

계속 진행하면 기존 콘텐츠를 삭제후 다시 등록합니다.
아니오를 선택하고 Book ID를 변경하면 새로운 콘텐츠로 등록할 수 있습니다.

계속 진행하시겠습니까?',title:"중복 업로드 알림",ok:"예",cancel:"아니오",isTop:!0,closeButton:!1}).then(function(e){o(e)},function(){void 0,o(-1)})):(-2===l.returnInt&&(l.logout=!0),g(l,d))):"contentsUpload"===t?(a="콘텐츠 업로드 과정에 다음 문제가 발생했습니다.",e=p,-5===(u=s).returnInt&&(u.logout=!0),g(u,e)):p()}function p(e){e&&"cancel"!==e?(r&&(e+="
"+("(status "+r+" : "+m[r]+")")),i(a=a+'
'+e+"
")):i(e)}}function g(e,t){var n=e.returnInt;1===n?t():(e=e.resultMsg||"알수 없음",t(e+=" (code: "+n+")"))}var e=!1,v=!1,n=!1;return{preventDefault:function(){e=!0},defaultPrevented:function(){return e},isSuccess:function(){return Boolean(v&&this._auth.id&&this._auth.licenseKey)},getAuth:function(){return this._auth||this._setAuth(),this._auth},_setAuth:function(){var e;this._auth||((e=angular.copy(window.$$_auth)||{}).apiSetting=window.$$_apiSetting,delete window.$$_auth,delete window.$$_apiSetting,(this._auth=e).testMode=!1,(n=e.testMode)&&void 0)},_getSettingValue:function(e){var t=this.getAuth().apiSetting.upload;return e?t[e]:t},getRequestURL:function(e){return(this._getSettingValue("URLS")||{})[e]},common_parameter_check:function(e,t){var n;switch(e){case"api_checkLoginLicense":n="라이선스 인증";break;case"api_checkLogin":n="라이선스 등록";break;case"api_checkLogoutLicense":n="로그아웃";break;case"api_getMemberInfo":n="사용자 정보";break;case"api_checkBookDuplicate":n="업로드 콘텐츠 정보";break;case"api_insertBookContents":n="Epub 업로드";break;default:n="(지정되지 않은 작업)"}e=this.getRequestURL(e);if(!e)return{err:n+" 요청 URL이 없습니다.
문제가 계속되면 프로그램 구입처에 확인하여 주십시오.",requestURL:e};if(t){if(!t.id||!t.password)return{err:"라이선스 등록에 필요한 정보를 확인할 수 없습니다.
문제가 계속되면 프로그램 구입처에 확인하여 주십시오.",requestURL:e}}else if(!this.getAuth().allAddress)return{err:n+" 요청에 필요한 정보를 확인할 수 없습니다. (unknown address)
문제가 계속되면 프로그램 구입처에 확인하여 주십시오.",requestURL:e};return{err:null,requestURL:e}},common_upload_limit_check:function(e){var t=this.getAuth(),n=(void 0,void 0,void 0,t.upload.trafficSize),o=t.upload.trafficSizeStr,e=(e.epub_file.size||0)+(e.jik_file.size||0);if(n["+t.code+"]
브라우저에서 페이지를 열 수 없읍니다.",n=o,a.alert({modal:!0,isTop:!0,closeButton:!1,title:"알림",ok:"확인",content:t}).then(function(e){n&&n()},function(){n&&n()}))},{async:!0})}var c={timeout:1e4};return{open:function(e,t){var n,o,r=e.request.method;if("POST"!==r.toUpperCase()){if("GET"===r.toUpperCase())return r=e,n=t,o=(r=angular.merge({},c,r.request)).url,r={data:r.data},void i.browser(o,r,null,function(e,t){n&&n()},{async:!0});throw new Error("request.method 설정되지 않음")}s(e,t)}}}e.$inject=["FileSystem","$httpParamSerializer","$externalAPI","$notice"],MODULE.core.instance.service("$openBrowser",e)}(),!function(){function e(e,t){var n=window.$$__nodeAPI,o=0==window.location.protocol.indexOf("http"),r=(void 0,void 0,!1);return n?void 0:(r=!0,o?void 0:void 0),void 0,void 0,new(r?e.extend("Call",{_callAPI:function(e){return n?(n(e),e):o?t.callServer(e):(window.location.assign(e),e)}}):e.extend("NodeCall",{_toJson:function(e,t){return t},_fromJson:function(e){return e},_callAPI:function(e){return n(e),e}}))}e.$inject=["Communication","$server"],MODULE.core.instance.service("$communication",e)}(),!function(){function e(e,t,n){var o=window.$$__nodeAPI;return new(0==window.location.protocol.indexOf("http")?e.extend("NativeServer",n):o?e.extend("NativeNode",t):e.extend("Native",{}))}e.$inject=["NativeInterface","NativeInterface_node","NativeInterface_server"],MODULE.core.instance.service("$nativeInterface",e)}(),!function(){function e(a,e,p,t,o,i){function n(n,o){document.activeElement.blur(),a.inputAllow(0),n=n||{};var r=angular.element('
'),i=(n.isDirectory&&(n.directoryDesc=n.directoryDesc||"Select Folder"),a.$new(!0));i.config=angular.copy(n),i.config.show=!0,i.config.autoRemove=!0,i.callback=function(e){a.inputAllow(1),r&&r.remove(),i.$destroy();var t="";e&&(t=n.multiple?e.map(function(e){return e.path=e.path.replace(/\\/g,"/"),e}):e.path.replace(/\\/g,"/")),o&&o(t),r=i=null},e(r)(i),angular.element("body").append(r)}function s(n,o,r){if("string"==typeof n){var i=n;if(p.isOpsSubFolder(i))return i=p.pathToVirtual(i),void r(i);f(i,{applyAllLabel:"",checkConflictLabel:""},function(e){return"cancel"!==e&&(t=e.path.fullPath)?void(e.needCopy&&i!==t?(e=[{src:i,dest:t}],o.copy(e,null,function(e){r(t)},{async:!0})):r(t)):r();var t})}else{var l,d=[],e=[];e.push(function(t){var e=n.length<2?{applyAllLabel:"",checkConflictLabel:""}:{skipConflict:!0,applyAll:!1};!function o(r,i,a,s){function t(e){void 0!==e.skipConflict&&(i.skipConflict=e.skipConflict),void 0!==e.applyAll&&(i.applyAll=e.applyAll);var t=e.path,n=(l=t).fullPath;e.needCopy&&u!==n&&d.push({src:u,dest:n}),c.name=t.file.substring(1),c.path=n,o(r,i,a,++s)}var c,u,e,n;{if((s=s||0)!==r.length)return c=r[s],u=c.path,p.isOpsSubFolder(u)?(u=p.pathToVirtual(u),c.path=u,void o(r,i,a,++s)):i.applyAll&&l?(e=p.parsePath(u),n=l.root,e="/"+e.file,void t({conflict:!1,needCopy:!0,skipConflict:i.skipConflict,applyAll:!0,path:{root:n,folder:l.folder,file:e,fullPath:n+l.folder+e}})):void f(u,i,function(e){"cancel"===e?a("cancel"):t(e)});a()}}(n,e,function(e){t(e)})}),e.push(function(t){if(d.length<1)return t();o.copy(d,null,function(e){t()},{async:!0})}),async.waterfall(e,function(e){l=null,e?r():r(n)})}}function f(e,t,n){t=t||{};e=angular.merge({},{template:'
',title:"자동 복사",content:"프로젝트 폴더로 파일을 복사합니다.",ok:"확인",cancel:"취소",applyAllLabel:"이후 같은 옵션을 적용합니다.",applyAll:!1,checkConflictLabel:"중복된 파일(폴더) 덮어쓰기",skipConflict:!1,path:e},t);o.open(e,function(e){n(e)})}return{dialog:{getSaveAsInformation:function(e,t){n(e,function(e){t({path:e})})},getPublishInformation:function(e,t){n(e,function(e){t({path:e})})},getFileExplorer:function(e,t){n(e,function(e){t({path:e})})},getOpenInformation:function(o,r){void 0===o.autoCopy&&(o.autoCopy=!0),n(o,function(e){var t,n;o.autoCopy?(n=function(e){r({path:e})},!(t=e)||t.length<1||["importTOC","newProject","openProject","openProjectFile","openShareFile","thumbnailFile"].includes(o.task)||["importIMG","importPDF"].includes(o.task)?n(t):["assetFile","importJS","importFONT","importCSS"].includes(o.task)?i(function(){var e=o.context;s(t,e,function(e){n(e)})}):(alert("TODO: getOpenInformation 자동 복사 기능 구현 안됨 : "+o.task),n(t))):r({path:e})})}}}}e.$inject=["$rootScope","$compile","FileSystem","$node_path","$import","$timeout"],MODULE.core.instance.service("NativeInterface_node",e)}(),!function(){function e(e){function n(e){void 0}return{api:{configuration:e.prototype.configuration,setTitle:function(e,t){n("setTitle"),t&&t(null,{})},exit:function(){n("exit")}}}}e.$inject=["NativeInterface"],MODULE.core.instance.service("NativeInterface_server",e)}(),!function(){function e(i,s,n,o,t,p,f,m,c,u,e,r,a,h,l,d,g,v,_,$,E,y,P,w,C){var b;return{_versionDatas:{},getVersions:function(){return this._versionDatas},getVersionData:function(e){return this._versionDatas.versions&&this._versionDatas.versions[e]||{}},getAvailableUpdateVersions:function(){var e,n,o,r,i,t=this.getVersions();if(!this.getRrequestError()&&t.versions)return e=t.installers,n=t.versions,o=this.getCurrentVersion(),r=o.installer||o.version,i=[],e.forEach(function(e){var t=n[e];e===r&&t.patches&&0현재 실행중인 버전은 설치할수 없습니다.

설치 버전 : '+m.versionName()+" "+i._selectVersion.version+"

",void p.alert({content:e,title:"실행중인 버전",ok:"확인",isTop:!0}).then(function(){t({message:o})},function(e){t({message:o})})}else{if(i._selectIsCurrentVersion)return t(o);if(n)return t("최신 버전입니다.")}var r=i._getDownloadedFile();a.exist(r,function(e){void 0,i._hasDownloadFile=e,t()})}},_firstRunAlert:function(){var d=this;return function(t){function n(e,t){void 0===t||t<=0?e({}):(2===t&&(d._hasDownloadFile=!1),3===t?d._executeApp(function(){e({})}):(d._ignoreAlert=!0,e()))}if(!d._isAutoRun)return t();if(d._hideUpdateAlarm)return t();var c=d._isAutoRun,u=(d._isAutoRun=!1,d._hasDownloadFile),l=!1;d.isInstalledVersion(function(e){var o,r,i,a,s;l=e,i=u?b?(o="패치 버전 적용",r="다운로드된 패치 버전이 있습니다. 업데이트 하시겠습니까?","업데이트"):(o="업데이트 버전 설치",r="다운로드된 업데이트 설치 파일이 있습니다. 설치 하시겠습니까?","설치"):(r=b?(o="패치 파일 다운로드","아래 패치 버전을 다운로드할 수 있습니다. 다운로드 하시겠습니까?"):(o="설치 파일 다운로드","아래 업데이트 버전을 위한 설치 파일을 다운로드할 수 있습니다. 다운로드 하시겠습니까?"),"다운로드"),a=void 0===d._originalHideUpdateAlarm&&c,s={currentVersionName:m.version(),newVersionName:m.version(d._selectVersion.version),version:d._selectVersion,hideUpdateAlarm:d._hideUpdateAlarm},p.open({isTop:!0,templateUrl:"updater/updateAlarm.html",controller:["$scope","$notice","originalConfig",function(e,t,n){e.close=function(e){t.close(e)},e.config={content:f.trustAsHtml(r),title:o,no:c?"취소":"다음에 알림",ok:i,redownload:u?"다시 다운로드":null,execute:l?"실행 (이미 설치됨)":null,showHideOption:a},e.info=s,e.link_api=function(){var e=(s.version.common&&s.version.common.release?s.version:d._versionDatas).common.release;h.weblink(e)},e.$on("$destroy",function(){e.config=null}),n.enterValue=1,t.registNotice(e,n)}]}).then(function(e){s.hideUpdateAlarm===d._hideUpdateAlarm?n(t,e):d._setUpdateAlarm(s.hideUpdateAlarm)(function(){n(t,e)})},function(){t("업데이트 알림창 취소")})})}},_firstRunToast:function(){var o=this;return function(e){if(!o._isAutoRun)return e();if(o._ignoreAlert)return e();o._isAutoRun=!1;var t=m.version(o._selectVersion.version),n=o._hasDownloadFile?""+t+" 다운로드 완료.
지금 업데이트할 수 있습니다.":""+t+" "+(n=b?" 업데이트 파일을":" 설치 파일을")+"
지금 다운로드할 수 있습니다.";u.open(n,{hasBackdrop:!0,warn:!0,clickOutsideToClose:!0,className:"updateAlarm"}),e("사용자 액션 기다림")}},_downloadOrUpdateConfirm:function(){var i=this;return function(n){if(i._ignoreAlert)return n();var o=i._hasDownloadFile,r=!1;i.isInstalledVersion(function(e){var t;r=e,e="

"+m.version(i._selectVersion.version)+" "+(b?" 업데이트":" 설치")+"

",t=b?"업데이트":" 설치",t=o?(e+="

다운로드된 "+(b?"업데이트 버전":" 설치 파일")+"이 있습니다
"+t+"하시겠습니까?

",t):(e+="

"+(b?"업데이트 버전":"설치 파일")+"을 다운로드할 수 있습니다.
다운로드 후 "+t+"하시겠습니까?

","다운로드"),u.open(e,{warn:!0,template:"updater/toast-download.html",hasBackdrop:!0,clickOutsideToClose:!0,redownload:o?"다시 다운로드":null,ok:t,no:"아니오",execute:r?"실행 (이미 설치됨)":null,link_api:function(){var e=(i._selectVersion.common&&i._selectVersion.common.release?i._selectVersion:i._versionDatas).common.release;h.weblink(e)}}).then(function(e){0'+e.replace(/(\r|\n)/g,"
")+"

":"
")+"업데이트 작업을 종료합니다.";p.alert({modal:Boolean(e),isTop:!0,content:o,title:n+" 업데이트 중지",ok:"확인",closeButton:!1}).then(function(e){t()},function(e){t()})}var e=m.version(a._selectVersion.version),e=(v.setMessage("업데이트 버전을 "+(b?"적용":"설치")+"합니다. ("+e+")",_.ALERT,$.PROCESS),angular.copy(a._selectVersion)),e=(e.file=a._getDownloadedFile(),new d({update:e})),e=(l._allowStatus=!0,g.getProcess(e));l.execute(e,function(e){var t;if(l._allowStatus=!1,s.close(),void 0,e){e=e.installProcess;if(!e)return void i();if(e.getResponse)var n=e.getResponse().pathString;else if(void 0!==(t=e.message)&&v.setMessage(t,_.ALERT,$.NORMAL),void 0!==e.error)return void i(e.error)}n?"exit"!==n?o():(c(function(){s.message("프로그램 설치 파일이 시작됩니다.
잠시만 기다려 주세요.")}),c(function(){o("exit"),s.close(),u.message("프로그램 설치 파일이 응답이 없습니다.",{warn:!0})},1e4)):i()})}},_installComplete:function(){var n=this;return function(t){var e='업데이트 작업이 정상적으로 완료되었습니다.

'+m.version(n._selectVersion.version)+"

프로그램 종료 후 새 버전을 시작합니다."+(y.get()?"
저장하지 않은 데이터는 삭제됩니다.":"")+"
계속하시겠습니까?";p.confirm({content:e,title:"업데이트 완료",cancel:"설치 종료",ok:"새 버전 시작",closeButton:!1}).then(function(e){n._isRestart=0 "+o:""),{warn:!0}),void 0,s.close(1e3)}),i.promise;c.message("서버 요청을 할 수 없습니다.",{warn:!0})}})}e.$inject=["$superClass","StatusCode","$http","$q","$busy","$toast","$httpParamSerializer"],MODULE.core.instance.factory("Server",e)}(),MODULE.core.instance.constant("StatusCode",{100:"Continue",101:"Switching protocols",200:"OK, 전송 성공",201:"Created, POST 명령 실행 및 성공",202:"Accepted, 서버가 클라이언트 명령을 받음",203:"Non-authoritative information, 서버가 클라이언트 요구 중 일부만 전송",204:"No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음",205:"Reset content",206:"Partial content",300:"Multiple choices, 최근에 옮겨진 데이터를 요청",301:"Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음",302:"Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시",303:"See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음",304:"Not modified 웹페이지에서 요청만하고 자신의 브라우저의 캐쉬를 사용하는 경우",305:"Use proxy",400:"Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음",401:"Unauthorized, 클라이언트의 인증 실패",402:"Payment required, 예약됨",403:"Forbidden, 접근이 거부된 문서를 요청함",404:"Not found, 요청에 응답할 문서를 찾을 수 없음",405:"Method not allowed, 리소스를 허용안함",406:"Not acceptable, 허용할 수 없음",407:"Proxy authentication required, 프록시 인증 필요",408:"Request timeout, 요청시간이 지남",409:"Conflict",410:"Gone, 영구적으로 사용할 수 없음",411:"Length required",412:"Precondition failed, 전체조건 실패",413:"Request entity too large,",414:"Request-URI too long, URL이 너무 김",415:"Unsupported media type",500:"Internal server error, 내부서버 오류(잘못된 스크립트 실행시)",501:"Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요구함",502:"Bad gateway, 서버의 과부하 상태",503:"Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태",504:"Gateway timeout",505:"HTTP version not supported"}),!function(){function e(e,n,o,r,i){return new(e.extend("ApplicationSettingMacro",{$$getCommandParam:function(e){return e},$$getProcess:function(e,t){return e.getParam("bundleFontLoad")&&t.add("bundleFontLoad",function(e,t){i.bundleSource(function(){setTimeout(e)})}),e=new r({showBusy:!0,ignoreBackup:!0}),e=n.define(o.TEMPLATE_INSTALL,e).getProcess(),t.add("installTemplateProcess",e),e=new r({showBusy:!0,ignoreBackup:!0}),e=n.define(o.COMPONENT_INSTALL,e).getProcess(),t.add("installComponentProcess",e),t}}))}e.$inject=["MacroBase","$command","CommandName","CommandParam","$fontfaceManager"],MODULE.core.instance.service("$applicationSettingMacro",e)}(),!function(){function e(e,o,i,a,r,s,n,c,u,l,d,p){return new(e.extend("ExitApplicationMacro",{$$getCommandParam:function(e){return e},$$getProcess:function(e,t){var n=r.get();return n&&(n=new i({project:n.uid()}),n=s.getProcess(n),t.add("process_close",n)),a.define(o.APPLICATION_EXIT,e,t,"exitApplication"),t.add("exit",function(e,t,n){void 0,e()}),t},onExit:function(e,o){var r,t;this._hackMessage?u.message(this._hackMessage):(r=this,o=o||{},(t=[]).push(function(e){l.isSuccess()?e():(d.close("exit"),c(function(){e()},300))}),o._ignoreSave||t.push(function(t){var n=r.getProcess(new i(o||{}));a.execute(n,function(e){void 0,0재설치 버튼을 선택하면 설치된 버전을 삭제 후 다시 설치합니다.

'+e+"

재설치 하시겠습니까?",title:e+" 재설치",cancel:"취소",ok:"재설치",closeButton:!1}).then(function(e){1===e?t():n({error:"업데이트(재설치) 작업을 취소합니다."})},function(){void 0,n({error:"업데이트 작업을 취소합니다."})})):t()}),f.get());return i?(i=new s({project:i.uid()}),i=m.getProcess(i),t.add("process_close",i)):t.add("process_close",function(e,t){h.closeData(function(){e()})}),c.define(a.APPLICATION_UPDATE,e,t,"installProcess"),t}}))}e.$inject=["MacroBase","Process","CommandName","CommandParam","$command","$version","$externalAPI","FileSystem","$node_path","$notice","$projects","$closeProjectMacro","$projectSetting"],MODULE.core.instance.service("$updateApplicationMacro",e)}(),!function(){function e(e,m,h,g,v){return new(e.extend("ModifyAssetMacro",{$$getCommandParam:function(e){var t=e.getParam("assets");if(!t||t.length<1)throw new Error("assets uid가 지정되지 않았습니다.");return e},$$getProcess:function(e,t){void 0;var n=e.getParam("project"),o=e.getParam("document");if(!n&&!o)throw new Error("document (또는 project) uid가 지정되지 않았습니다.");var r=e.getParam("assets");if(!r||r.length<1)throw new Error("assets uid가 지정되지 않았습니다.");for(var i=[],a=[],s=[],c=0;ce-t)[0])<1?0:n그룹을 해지할수 없습니다.",ok:"확인"}).then(function(e){},function(){})}}))}e.$inject=["MacroBase","CommandName","$command","$groups","$notice"],MODULE.core.instance.service("$removeGroupMacro",e)}(),!function(){function e(e,n,o,t){return new(e.extend("BackupProjectMacro",{$$getCommandParam:function(e){if(!e)throw new Error("parameter가 전달되지 않았습니다.");if(e.getParam("project"))return e;throw new Error("uid가 전달되지 않았습니다.")},$$getProcess:function(e,t){return o.define(n.PROJECT_BACKUP,e,t,"backupProject").getProcess(),t}}))}e.$inject=["MacroBase","CommandName","$command","$projects"],MODULE.core.instance.service("$backupProjectMacro",e)}(),!function(){function e(e,t,n,o,s,c,r,u,l,i,d,a){return new(e.extend("CloseProjectMacro",{$$getCommandParam:function(e){if(e.getParam("project"))return e;throw new Error("project uid가 지정되지 않았습니다.")},$$getProcess:function(e,t){return e.getParam("ignoreSave")||r.get().needToSave()&&t.add("save",function(r,i){void 0;var a=d.getProcess(new s({ignoreCapture:!0,project:e.getParam("project")}));a.execute(function(e){var t,n,o;void 0,0계속 진행할 경우 문서가 닫히고 저장되지 않은 데이터는 사라집니다.
문서를 닫으시겠습니까?")},e.$on("$destroy",function(){e.config=null}),n.enterValue=1,t.registNotice(e,n)}]}).then(function(e){1===e?n(t):o(),u.close()},function(){o(-1),u.close()}))})}),n.define(o.PROJECT_CLOSE,e,t,"closeProject"),t}}))}e.$inject=["MacroBase","Process","$command","CommandName","CommandParam","$sce","$applications","$busy","$notice","$toast","$saveProjectMacro","$cleanProjectAsset"],MODULE.core.instance.service("$closeProjectMacro",e)}(),!function(){function e(e,o,r,i){return new(e.extend("ModifyProjectMacro",{$$getCommandParam:function(e){if(!e.getParam("project"))throw new Error("uid가 지정되지 않았습니다.");if(e.getParam("data"))return e;throw new Error("data가 지정되지 않았습니다.")},$$createProcess:function(e){return null},$$getProcess:function(e,t){e.getParam("addHistory")||!1?e.setParam("ignoreHistory",!1):e.setParam("ignoreHistory",!0);e.getParam("data").paper?(e.setParam("ignorePreviewReload",!1),i.paperResized=!0):e.setParam("ignorePreviewReload",!0);var n=e.getParam("preview");return n&&(Boolean("reloadAll"===n)&&(i.reloadAll=!0),e.setParam("ignorePreviewReload",!1)),t=r.define(o.PROJECT_MODIFY,e,t,"modifyProject").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command","$preview"],MODULE.core.instance.service("$modifyProjectMacro",e)}(),!function(){function e(e,a,s,c,u,l,d,p,f,m,h,g,v,_){return new(e.extend("NewProjectMacro",{$$getCommandParam:function(e){return e},$$getProcess:function(o,e){var n,t=o.getParam()||{},r=(t.path||e.add("processPath",function(t,n){f.newProjectDialog(function(e){if(e&&e.task&&e.path){if("newProject"!==e.task)return alert("비어있는 폴더가 아닌 폴더를 선택하여 새 프로젝트 만들기를 시도하였습니다."),void n();o._args=angular.extend(o._args||{},e),t()}else n()})}),l.get()),r=(r?(r=new s({project:r.uid(),ignoreSave:t.ignoreSave,ignoreBusyMessage:t.ignoreBusyMessage}),r=u.getProcess(r),e.add(e._ignoreID,r)):e.add("process_close",function(e,t){m.closeData(function(){e()})}),v.defaultFontFamily),i=_._findAssetItem(r);return r&&i&&o.setParam("data",{fontFamily:r}),c.define(a.PROJECT_NEW,o,e,"newProject"),r&&i&&(r={project:l.uid(),asset:i.uid,data:i},n=new s(r),e.add("confirm New ProjectUID",function(e,t){n.setParam("project",l.uid()),e()}),i=c.define(a.ASSET_ADD,n).getProcess(),e.add("addDefaultFontAsset",i)),t.ignoreAddDocument?t.skipUpdatePage||e.add("updateFiles",function(e,t,n){h.updatePage({info:!0,opf:!0,nav:!0},function(){e()})},this):(r=c.define(a.DOCUMENT_ADD,o).getProcess(),e.add("newDocument",r),e.add("updateFiles",function(e,t,n){n=n.getResponse().document;h.updatePage({add:[n]},function(){e()})},this)),e.add("updateRecentProjects",function(e,t){var n={path:o.getParam("path")};f.updateRecentProjects("update",n,function(){e()})}),t.ignoreAddDocument||(e.add("server",function(t,e){var n={_processName:"new",project:o.getParam("project")};g.server(n,function(e){l.get().$$_needScaleFitFlag(!0),t()})}),e.add("scrollPosition",function(e,t){void 0,l.get().$$_needScaleFitFlag(!0),e(),d.execute({ignoreCapture:!0},0,function(){p.projectIsOpen(!0)})})),e}}))}e.$inject=["MacroBase","CommandName","CommandParam","$command","$closeProjectMacro","$projects","$autoBackup","$applications","$workspaceDialog","$projectSetting","$epubCreator","$preview","Default","$bundleFontHelper"],MODULE.core.instance.service("$newProjectMacro",e)}(),!function(){function e(e,t,n,o,i,a,s,c,u,r){return new(e.extend("OpenProjectMacro",{$$getCommandParam:function(e){if(e)return e;throw new Error("["+this.className+"] parameter가 전달되지 않았습니다.")},$$getProcess:function(r,e){alert("TODO: legacy .jik 파일 열기로 사용");r.getParam("path")||e.add("processPath",function(n,o,e){c.getOpenInformation({task:"openProject"},function(e){if(e)return(t=a.get())&&(void 0,e===t.value("savePath")||e===t.uid())?(void 0,void o()):(r.setParam("path",e),void n(e));var t;void 0,o()})});var t=a.get();return t&&(t=new o({project:t.uid()}),t=s.getProcess(t),e.add(e._ignoreID,t)),i.define(n.PROJECT_OPEN,r,e,"openProject"),e.add("scrollPosition",function(e,t){void 0,a.get().$$_needScaleFitFlag(!0),e(),u.execute({ignoreCapture:!0},0,function(){})}),e}}))}e.$inject=["MacroBase","Process","CommandName","CommandParam","$command","$projects","$closeProjectMacro","$externalAPI","$autoBackup","$applications"],MODULE.core.instance.service("$openProjectMacro",e)}(),!function(){function e(e,n,o,i,a){return new(e.extend("PreviewProjectMacro",{$$getCommandParam:function(e){if(!e)throw new Error("parameter가 전달되지 않았습니다.");if(e.getParam("project"))return e;throw new Error("uid가 전달되지 않았습니다.")},$$getProcess:function(r,e){e.add("save",function(t,e,n){var o=new a({project:r.getParam("project")});i.getProcess(o).execute(function(e){t(e)})});var t=o.define(n.PROJECT_PREVIEW,r).getProcess();return e.add("preview",t),e}}))}e.$inject=["MacroBase","CommandName","$command","$saveProjectMacro","CommandParam"],MODULE.core.instance.service("$previewProjectMacro",e)}(),!function(){function e(e,t,n,o,i,v,_,$,a,E,y,P,r,s,w,C,c,b,T,R){function S(e,n){if(r.companyLimit())return n({epub:!0});c.open({template:'
',data:e},function(e,t){if(e)return void 0;void 0,t||void 0,n(t)})}function O(r,t){var e=r.publishType,o=r.info,n=[],i=!1;n.push(function(n){if(!e.epub_upload)return n();s.checkContents(o.bookID,function(e,t){e?(i=t&&void 0!==t.reload,n(e)):n()})}),n.push(function(t){var e,n=r,o=function(e){e?t():t("App 출판 옵션 문제로 작업을 중지합니다.")};!n.publishType.binder||(n=n.available).appID&&n.appName?o(!0):(e='Jik-ji Binder App 설정이 잘못되었습니다.

',n.appID||(e+="App ID"),n.appID||n.appName||(e+=", "),n.appName||(e+="App Name"),e+=" 형식이 잘못되었습니다.\n출판된 Jik-ji Binder를 실행할때 오류가 발생할 수 있습니다.

출판을 계속 진행 하시겠습니까?",a.confirm({modal:!0,content:e.replace(/\n/g,"
"),title:"Jik-ji Binder 출판",ok:"예",cancel:"아니오",isTop:!0,closeButton:!1}).then(function(e){o(1===e)},function(){void 0,o(!1)}))}),async.waterfall(n,function(e){e&&"cancel"!==e?a.alert({modal:!0,isTop:!0,content:e,title:"작업 취소",ok:"확인"}).then(function(){t&&t(e,i)},function(){}):t&&t(e,i)})}return new(e.extend("PublishProjectMacro",{$$getCommandParam:function(e){if(!e)throw new Error("parameter가 전달되지 않았습니다.");if(e.getParam("project"))return e;throw new Error("uid가 전달되지 않았습니다.")},$$getProcess:function(a,e){var s,r,c=a.getParam("project"),u=a.getParam("path"),l=$.get(c),d=a.getParam("publishType"),p=!1,f=l.getBookID(),m=l.getEpubUploadTitle(),h=l.getEpubUploadContentPublic(),g=l.getEpubUploadContentTag();return d||e.add("publishType",function(r,i){S({publishType:{epub:!1,epub_upload:!1,web:!1,binder:!1,binder_web:!1},exportType:{user_capture_pages:!1,capsulize_file:!1},info:{bookID:f,epubUploadName:m,epubUploadContentPublic:h,epubUploadContentTag:g,domain:l.value("domain"),appID:l.value("appID")||c,appName:l.value("appName")||c,userCapturePagesOption:l.value("userCapturePagesOption"),capsulizeFileOption:l.value("capsulizeFileOption")},project:c},function n(o){o?O(o,function(e,t){if(e)return t?void w(function(){S(o,n)}):void i();d=(e=o).publishType,s=e.exportType,a.setParam("publishType",d),p=function(){for(var e in d)if(d[e])return p=!0;return!1}(),e.exclude&&l.value("exclude",e.exclude),e.include&&l.value("include",e.include),e.ignore&&a.setParam("ignore",e.ignore),l.value("capsulizeFileOption",angular.merge({},e.info.capsulizeFileOption)),l.value("userCapturePagesOption",angular.merge({},e.info.userCapturePagesOption)),f!==e.info.bookID&&l.value("bookID",e.info.bookID),d.epub_upload&&(m!==e.info.epubUploadName&&l.value("epubUploadName",e.info.epubUploadName),h!==e.info.epubUploadContentPublic&&l.value("epubUploadContentPublic",e.info.epubUploadContentPublic),g!==e.info.epubUploadContentTag&&l.value("epubUploadContentTag",e.info.epubUploadContentTag),e=function(){for(var e in d)if("epub_upload"!==e&&d[e])return!1;return!0}(),a.setParam("onlyUpload",e),e&&(e={dir:v.PUBLISH_FOLDER,name:"epub_upload_temp",ext:v.publishExt},u="call://epub-upload",a.setParam("pathObj",e))),r()}):i()})}),e.add("publishPath",function(t,n){if(u)return t();if(!p)return t();var e=l.value("publishPath")||"",o=function(e){var t,n,o,r=0;for(t in e)e[t]&&++r;if(!(r<1))return o=n="",1===r?(e.epub&&(o=v.publishExt),e.web&&(o=v.compressExt),e.binder&&(o=v.compressExt),n=o=e.binder_web?v.compressExt:o):(e.epub&&(n=(n?n+",":"")+"application/epub+zip"),(e.web||e.binder||e.binder_web)&&(n=(n?n+",":"")+"application/zip")),{accept:n,ext:o}}(d);_.getPublishInformation({accept:o.accept,ext:o.ext,old:e,project:c},function(e){if(!e)return void 0,void n();e=e.replace(/\\/g,"/"),(e=y.path.parse(e)).name=e.name.replace(P.pattern.pubName,""),a.setParam("pathObj",e),t()})}),e.add("save",function(t,n,e){C.getProcess(new o({project:a.getParam("project"),thumbnailSkipable:!0,thumbnailCancelLabel:"출판 취소"})).execute(function(e){"cancel"===e.saveProject?n("cancel"):t(e)})}),e.add("userCapturePages",function(n,e){if(!s||!s.user_capture_pages)return n();b.userCapturePages(c,function(e,t){n({error:e,data:t})})}),e.add("capsulizeFile",function(n,e){if(!s||!s.capsulize_file)return n();T.run(c,function(e,t){n({error:e,data:t})})}),e.add("viewerOptionJSON",function(n,o){R.getPublishOptionData(function(e,t){e&&(E.message("문제가 발생되어 뷰어 옵션 설정값이 적용되지 않았습니다."),o()),r=l.getSelectViewerName(),a.setParam("viewerOptionJSON",t),a.setParam("viewerName",r),n()})}),e.add("viewerConfigJSON",function(n,o){d.web?R.getPublishConfigData(r,function(e,t){if(e)return E.message("문제가 발생되어 뷰어 설정 파일에 데이터를 적용하지 못했습니다."),void o();a.setParam("viewerConfigJSON",t),n()}):n()}),e.add("publish",function(t,e){p?i.define(n.PROJECT_PUBLISH,a).getProcess().execute(function(e){void 0,t(e)}):t()}),e.useTimeCheck=!1,e}}))}e.$inject=["MacroBase","Process","CommandName","CommandParam","$command","FileSystem","$externalAPI","$projects","$notice","$toast","$nativeInterface","$util","$version","$epubUpload","$timeout","$saveProjectMacro","$import","$captureRunner","$exportCapsulize","$viewerOptionAdapter"],MODULE.core.instance.service("$publishProjectMacro",e)}(),!function(){function e(e,t,r,i,s,c,u,l,d,p,f,m,h,g,n,v){return new(e.extend("RestoreProjectMacro",{$$getCommandParam:function(e){if(e)return e;throw new Error("["+this.className+"] parameter가 전달되지 않았습니다.")},$$getProcess:function(a,e){var t=a.getParam("ignoreSave"),n=a.getParam("ignoreBusyMessage"),o=l.get();o&&(o=new i({project:o.uid(),ignoreSave:t,ignoreBusyMessage:n}),t=d.getProcess(o),e.add(e._ignoreID,t)),s.define(r.PROJECT_RESTORE,a,e,"restoreProject"),e.add("updateRecentProjects",function(e,t){var n={path:a.getParam("path")};u.updateRecentProjects("update",n,function(){e()})}),e.add("updateFiles",function(e,t,n){h.updatePage({info:!0,opf:!0,nav:!0},function(){e()})}),e.add("patchProjectFiles",function(e,t){var n,o=a.getParam("editor"),r=a.getParam("project"),i=p.version();0<(o?p.getLast(o,i):-1)?e():(n=e,o=m.CLIENT_FRAMEWORK_FOLDER,o=[{src:m.BUNDLE_FRAMEWORK_FOLDER+m.cssFolder,dest:o+m.cssFolder},{src:m.BUNDLE_FRAMEWORK_FOLDER+m.jsFolder,dest:o+m.jsFolder},{src:m.BUNDLE_FRAMEWORK_FOLDER+m.HTML_ELEMENT_PATH,dest:o+m.HTML_ELEMENT_PATH}],f.buildProject(o,{project:r},function(e){n()}))});return e.add("save",function(t,e,n){var o=new i({ignoreCapture:!0,project:a.getParam("project")});v.getProcess(o).execute(function(e){t(e)})}),e.add("server",function(t,e){var n={_processName:"open",project:a.getParam("project")};g.server(n,function(e){t()})}),e.add("scrollPosition",function(e,t){void 0,l.get().$$_needScaleFitFlag(!0),e(),c.execute({ignoreCapture:!0},0,function(){})}),e}}))}e.$inject=["MacroBase","Process","CommandName","CommandParam","$command","$autoBackup","$workspaceDialog","$projects","$closeProjectMacro","$version","$projectSetting","FileSystem","$epubCreator","$preview","$notice","$saveProjectMacro"],MODULE.core.instance.service("$restoreProjectMacro",e)}(),!function(){function e(e,t,n,o,s,c,u){return new(e.extend("SaveAsProjectMacro",{$$getCommandParam:function(e){if(!e)throw new Error("parameter가 전달되지 않았습니다.");if(e.getParam("project"))return e;throw new Error("uid가 전달되지 않았습니다.")},$$getProcess:function(r,e){var i=r.getParam("project"),a=u.get(i);return e.add("processPath",function(t,n,e){void 0;var o=a.value("savePath")||"";c.getSaveAsInformation({old:o,project:i},function(e){if(!e)return void 0,void n();r.setParam("path",e),t(e)})}),s.define(n.PROJECT_SAVEAS,r,e,"saveProject"),e}}))}e.$inject=["MacroBase","Process","CommandName","CommandParam","$command","$externalAPI","$projects"],MODULE.core.instance.service("$saveAsProjectMacro",e)}(),!function(){function e(e,t,n,i){return new(e.extend("SaveProjectMacro",{$$getCommandParam:function(e){if(!e)throw new Error("parameter가 전달되지 않았습니다.");if(e.getParam("project"))return e;throw new Error("uid가 전달되지 않았습니다.")},$$getProcess:function(o,e){var r=o.getParam("project");return o.getParam("checkCleanProject")&&e.add("checkCleanProject",function(t,n){i.open({project:r},function(e){e?(e&&!e.thumbnail_needUpdate&&o.setParam("ignoreCapture",!0),t()):n()})}),n.define(t.PROJECT_SAVE,o,e,"saveProject").getProcess(),e}}))}e.$inject=["MacroBase","CommandName","$command","$cleanProjectAsset"],MODULE.core.instance.service("$saveProjectMacro",e)}(),!function(){function e(e,r,i,a){return new(e.extend("ModifySelectMacro",{$$getCommandParam:function(e){if(e.getParam("document"))return e;throw new Error("document가 지정되지 않았습니다.")},$$createProcess:function(e){return null},$$getProcess:function(e,t){var n=e.getParam("document"),o=e.getParam("group"),n=a.get(n);if(!o&&!n.currentEditGroup())return null;return o===n.currentEditGroup()?null:i.define(r.GROUP_EDITABLE,e,t,"groupEditable").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command","$selects"],MODULE.core.instance.service("$groupEditableMacro",e)}(),!function(){function e(e,o,r,i){return new(e.extend("IndexedPositionMacro",{$$getCommandParam:function(e){if(!e.getParam("document"))throw new Error("document가 지정되지 않았습니다.");if(void 0===e.getParam("index"))throw new Error("index가 지정되지 않았습니다.");var t=e.getParam("selects");if(!t||t.length<1)throw new Error("selects가 지정되지 않았습니다.");return e},$$createProcess:function(e){return null},$$getProcess:function(e,t){var n;return e.getParam("selects").every(function(e){e=i.get(e).parentGroup();return(n=void 0===n?e:n)==e})?r.define(o.INDEXED_POSITION,e,t,"indexedPosition").getProcess():null}}))}e.$inject=["MacroBase","CommandName","$command","$elements"],MODULE.core.instance.service("$indexedPositionMacro",e)}(),!function(){function e(e,s,c,u){return new(e.extend("ModifySelectMacro",{$$getCommandParam:function(e){if(!e.getParam("document"))throw new Error("document가 지정되지 않았습니다.");if(e.getParam("group"))return e;throw new Error("group이 지정되지 않았습니다.")},$$createProcess:function(e){return null},$$getProcess:function(e,t){var n,o=e.getParam("document"),r=e.getParam("data"),i=u.get(o),a=!0;for(n in i){if("map"===n||"length"===n||"currentGroup"===n)return void 0,null;if(!(a=i.isReplaceOnly(n)?angular.equals(i.value(n),r[n]):function e(t,n){for(var o in t){var r=t[o],o=n[o];if(!(angular.isArray(o)||angular.isObject(o)?e(r,o):angular.equals(r,o)))return!1}return!0}(r,i.$$_original)))break}return a?(void 0,null):c.define(s.SELECT_MODIFY,e,t,"modifySelect").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command","$selects"],MODULE.core.instance.service("__$modifySelectMacro",e)}(),!function(){function e(e,n,o){return new(e.extend("CreateTemplateMacro",{$$getCommandParam:function(e){if(e.getParam("document"))return e;throw new Error("템플릿 등록 대상이 지정되지 않았습니다.")},$$getProcess:function(e,t){return t=o.define(n.TEMPLATE_CREATE,e,t,"createTemplate").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command"],MODULE.core.instance.service("$createTemplateMacro",e)}(),!function(){function e(e,n,o,t,r){return new(e.extend("DeleteTemplateMacro",{$$getCommandParam:function(e){var t=e.getParam("remove");if(!t||t.length<1||!t[0])throw new Error("템플릿 제거 대상이 지정되지 않았습니다.");return e},$$getProcess:function(e,t){return o.define(n.TEMPLATE_DELETE,e,t,"deleteTemplate"),t}}))}e.$inject=["MacroBase","CommandName","$command","$templates","$notice"],MODULE.core.instance.service("$deleteTemplateMacro",e)}(),!function(){function e(e,t,n,r,i){return new(e.extend("ExportTemplateMacro",{$$getCommandParam:function(e){var t=e.getParam("templates");if(!t||t.length<1)throw new Error("템플릿이 지정되지 않았습니다.");return e},$$getProcess:function(o,e){return o.getParam("path")||e.add("processPath",function(t,n,e){i.getFileExplorer({task:"exportTemplate",saveMode:!0,accept:r.ext_template},function(e){if(!e)return void 0,void n();o.setParam("path",e),t()})}),e=n.define(t.TEMPLATE_EXPORT,o,e,"exportTemplate").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command","FileSystem","$externalAPI"],MODULE.core.instance.service("$exportTemplateMacro",e)}(),!function(){function e(e,t,n,r,i){return new(e.extend("ImportTemplateMacro",{$$getCommandParam:function(e){return e},$$getProcess:function(o,e){return o.getParam("path")||e.add("processPath",function(t,n,e){i.getFileExplorer({task:"importTemplate",saveMode:!1,accept:r.ext_template},function(e){if(!e)return void 0,void n();o.setParam("path",e),t()})}),e=n.define(t.TEMPLATE_IMPORT,o,e,"importTemplate").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command","FileSystem","$externalAPI"],MODULE.core.instance.service("$importTemplateMacro",e)}(),!function(){function e(e,i,a,s){return new(e.extend("InsertTemplateMacro",{$$getCommandParam:function(e){if(e.getParam("template"))return e;throw new Error("uid가 지정되지 않았습니다.")},$$getProcess:function(e,t){var n,o,r=e.getParam("position");return null==r&&(r=(o=(n=s.get()).getSelectDocument())?n.getIndex(o)+1:n.getNoneCopyValue("documents").length,e.setParam("position",r)),t=a.define(i.TEMPLATE_INSERT,e,t,"insertTemplate").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command","$projects"],MODULE.core.instance.service("$insertTemplateMacro",e)}(),!function(){function e(e,n,o){return new(e.extend("InstallTemplateMacro",{$$getCommandParam:function(e){return e},$$getProcess:function(e,t){return t=o.define(n.TEMPLATE_INSTALL,e,t,"installTemplate").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command"],MODULE.core.instance.service("$installTemplateMacro",e)}(),!function(){function e(e,n,o){return new(e.extend("ModifyTemplateMacro",{$$getCommandParam:function(e){return e},$$getProcess:function(e,t){return t=o.define(n.TEMPLATE_MODIFY,e,t,"modifyTemplate").getProcess()}}))}e.$inject=["MacroBase","CommandName","$command"],MODULE.core.instance.service("$modifyTemplateMacro",e)}(),MODULE.core.instance.provider("$applications",function(){return{$get:["DataService","ApplicationData","CommandName","State","UIDType",function(e,t,n,o,r){return new(e.extend("ApplicationService",{type:r.APPLICATION,createUID:function(){return this.$$createUID(this.type)},$$new:function(e){e=e||this.createUID();e=new t(e);return e.setDataService(this),e},$$destroy:function(e){this._super.$$destroy.apply(this,arguments),this._fnMap=null},power:!0,protect:!1,_projectIsOpen:!1,projectIsOpen:function(e){if(arguments.length<1)return this._projectIsOpen;this._projectIsOpen=e},_elementCreationComplete:!1,elementCreationComplete:function(e){if(arguments.length<1)return this._elementCreationComplete;this._elementCreationComplete=e},_safeWatch:!0,freeze:function(){this._safeWatch&&(void 0,this._safeWatch=!1)},flush:function(){this._safeWatch||(void 0,this._safeWatch=!0)},safety:function(){return this._safeWatch},_isBusy:!1,isBusy:function(){if(arguments.length<1)return this._isBusy;this._isBusy=Boolean(arguments[0])},_fnMap:void 0,safetyCall:function(n,o){function r(){var e=t[i];e&&(e.unwatch(),e.$off(),t[i]=null,delete t[i])}this._fnMap||(this._fnMap={});var t=this._fnMap,i=n.$id+o.toString();if(r(),this.safety())return o();var e=this,a=n.$watch(function(){return e._safeWatch&&e.power},function(e,t){e&&(r(),o(),n.$applyAsync())});t[i]={unwatch:a,$off:n.$on("$destroy",r)}},refresh:function(){this.get().refresh(),this.$$_saveQueue=[],this.$$_deleteQueue={},this.$$_backupQueue=[],this.$$_deleteBackupQueue={}},create:function(e,t){if(1==this.getLength())throw new Error("Application 데이터는 하나 이상 생성할 수 없습니다.");e=e||this.createUID();var n,o=this.$$get(e);if(void 0===t)return o;for(n in t)o.value(n,t[n],!0);return this.get()},close:function(e){if(!e)throw new Error("uid 인자를 지정하지 않았습니다.");this.$$destroy(e)},get:function(){if(0e&&this.$$_map.shift();else for(var n=this.$$_map.length-1;n>this.$$_caret;)this.$$_map.pop(),n=this.$$_map.length-1;this.$$_caret=this.$$_map.length-1},undo:function(){if(o.isBusy()||!o.safety())return null;var e=this.$$_caret;if(e<0)return null;var e=this.$$_map[e],t=e.command.getUndoProcess();return t.callStep="undo",void 0,t},redo:function(){if(o.isBusy()||!o.safety())return null;var e=this.$$_caret+1;if(e>this.$$_map.length-1)return null;var e=this.$$_map[e],t=e.command.getRedoProcess();return t.callStep="redo",void 0,t}},r}e.$inject=["HistoryProcess","$applications"],MODULE.core.instance.factory("HistoryData",e)}(),MODULE.core.instance.provider("$projects",function(){return{$get:["DataService","ProjectData","UIDType","Default",function(e,t,n,r){return new(e.extend("ProjectService",{type:n.PROJECT,createUID:function(){return this.$$createUID(this.type)},$$new:function(e){e=e||this.createUID();e=new t(e);return e.setDataService(this,!0),e},create:function(e,t){if(1==this.getLength())throw new Error("Project 데이터는 하나 이상 생성할 수 없습니다.");e=e||this.createUID();var n,o=this.$$get(e);if(this.setPaper(r.paperWidth,r.paperHeight),void 0===t)return o;for(n in t)o.value(n,t[n],!0);return this.get()},close:function(e){if(!e)throw new Error("uid 가 지정되지 않았습니다.");if(!this.$$_data[e])throw new Error("해당 데티터가 없습니다. : "+e);this.$$destroy(e)},get:function(e){return e?this.$$get(e,!0):this.$$get()},modify:function(e,t,n){if(void 0===e)throw new Error("uid가 지정되지 않았습니다. 데이터를 찾을수 없습니다.");if(void 0===t)throw new Error("수정할 내용이 전달되지 않았습니다.");var o,r,i,a=this.$$get(e,!0);for(o in t)"paper"==o?(i=this.get().getNoneCopyValue("paper"),r=(isNaN(t[o].width)?i:t[o]).width,i=(isNaN(t[o].height)?i:t[o]).height,this.setPaper(r,i)):a.value(o,t[o],n);return this.$$_data[e]},$$addDeleteQueue:function(e){},$$removeDeleteQueue:function(e){},getDeleteQueue:function(){},uid:function(){return this.$$_current},setPaper:function(e,t){e=e||r.paperWidth,t=t||r.paperHeight,this.get().value("paper",{width:e,height:t});e=this.$$checkThumbnailRatio(e,t);this.get().value("thumbnail",{width:e.width,height:e.height})},getDefaultFontName:function(){var e=this.get();return e&&e.value("fontFamily")||""},$$checkThumbnailRatio:function(e,t,n,o){n=n||r.thumbnailLimitWidth,o=o||r.thumbnailLimitHeight,n=Math.min(n/e,o/t);return{width:Math.ceil(e*n),height:Math.ceil(t*n),scale:n}},$$checkThumbnail_paper:function(e){var t=this.get().getNoneCopyValue("paper");return{width:(e=e?(e=r.thumbnailSizeRange,this.$$checkThumbnailRatio(t.width,t.height,e,e)):this.$$checkThumbnailRatio(t.width,t.height)).width,height:e.height}},$$checkThumbnail_capture:function(e,t,n,o){var r=this.get();if(!r)return null;var i=r.getNoneCopyValue("paper"),o=this.$$checkThumbnail_paper(o),a={x:o.width/i.width,y:o.height/i.height},e={width:e||o.width,height:t||o.height},t=r.tooldata("capture"),t=(r=t&&t[n]?{width:(o=t[n]).originalWidth,height:o.originalHeight}:{width:i.width,height:i.height},{x:e.width/r.width,y:e.height/r.height});return{C:r,CT:e,Cs:t,CTs:{x:a.x,y:a.y}}},$$checkThumbnail_master:function(e,t,n){var o=this.get().getNoneCopyValue("paper"),n=this.$$checkThumbnail_paper(n),r={x:n.width/o.width,y:n.height/o.height},o=(e=e||{width:o.width,height:o.height},{x:(t=t||{width:n.width,height:n.height,url:""}).width/e.width,y:t.height/e.height});return{M:e,MT:t,Ms:o,MTs:{x:r.x,y:r.y}}}}))}]}}),!function(){function e(e,t,n,o,r){return e.extend("ProjectData",{$$_createName:function(e){e=e||"instance",this.$$_original._nameCounter++;e=e+"_"+this.$$_original._nameCounter;return this.isChanged(!0),e},init:function(){window.$$_createNameCounter=null,this.$$addReplaceOnly("navigation"),this._super.init.apply(this,arguments);var e=this;window.$$_createNameCounter=function(){return e.$$_createName.apply(e,arguments)}},destroy:function(){this._super.destroy.apply(this,arguments),window.$$_createNameCounter=null},$$define:function(){return{_nameCounter:0,domain:"",appID:"",appName:"",subject:"",description:"",bookID:"",language:"ko-KR",creator:"",publisher:"",contributor:"",cover:"",epubUploadName:"",epubUploadContentPublic:!0,epubUploadContentTag:"",userCapturePagesOption:void 0,capsulizeFileOption:void 0,exclude:void 0,include:void 0,projectFileOption:void 0,shareFileOption:void 0,publishPath:void 0,viewer:void 0,assets:void 0,fileMap:void 0,files:void 0,currentDocument:void 0,documents:void 0,paper:void 0,thumbnail:void 0,fontFamily:void 0,navigation:void 0,app:void 0,allowExternalCSS_inEditor:void 0}},$$setDefault:function(){this.value("domain","jikji.binder.cdbook"),this.value("appID",""),this.value("appName",""),this.value("publishPath",""),this.value("currentDocument",""),this.value("documents",[]),this.value("assets",{}),this.value("fileMap",{}),this.value("files",[]),this.value("exclude",[]),this.value("include",[]),this.value("projectFileOption",{}),this.value("shareFileOption",{}),this.value("navigation",[]),this.value("paper",{width:n.paperWidth,height:n.paperHeight}),this.value("thumbnail",{}),this.value("fontFamily","");var e=this.defaultScrollPosition(1);this.value("app",{scale:1,scrollX:e.x,scrollY:e.y}),this.value("userCapturePagesOption",{size:800,folderName:"user-capture-pages",fileName:"page-",beforeClean:!1,allowExternalJS:n.allowExternalJSCapture,allowScript:n.allowScriptCapture,waitCaptureRenderingTime:n.waitCaptureRenderingTime}),this.value("capsulizeFileOption",{propertyNameFilter:"",typeFilter:""}),this.value("allowExternalCSS_inEditor",n.allowExternalCSS_inEditor),this.value("viewer",angular.copy(n.viewer))},defaultScrollPosition:function(e){return{x:(n.screenPadding-100)*(e=e||1),y:(n.screenPadding-100)*e}},_restoreOpenFlag:"",$$_restoreOpenFlag:function(e){if(arguments.length<1)return this._restoreOpenFlag;this._restoreOpenFlag=e},$$_checkName:function(){var e=this.$$_original;e.name||(e.name=e.uid)},_needScaleFitFlag:!1,$$_needScaleFitFlag:function(e){if(arguments.length<1)return this._needScaleFitFlag;this._needScaleFitFlag=e},publish:function(){return this.copy()},getBookID:function(){var e=this.value("bookID");if(e)return e;var t=o.com();return e=this.value("uid").replace(r.PROJECT,t)},getEpubUploadTitle:function(){return this.value("epubUploadName")||this.value("subject")},getEpubUploadContentPublic:function(){return this.value("epubUploadContentPublic")},getEpubUploadContentTag:function(){return this.value("epubUploadContentTag")},getSelectViewerName:function(){return this.getNoneCopyValue("viewer").instance},assets:function(){return this.value("assets")},addAsset:function(e){var t=this.$$_original.assets;t[e]?t[e]=t[e]+1:t[e]=1,this.isChanged(!0)},removeAsset:function(e){var t=this.$$_original.assets;t[e]&&(t[e]=t[e]-1),t[e]<1&&(t[e]=null,delete t[e]),this.isChanged(!0)},files:function(){return this.value("files")},documents:function(){return this.value("documents")},addDocument:function(e,t){this.moveDocument(e,t)},removeDocument:function(e){var t=this.$$_original.documents,n=this.getIndex(e);n<0||(t.splice(n,1),this.$$_original.currentDocument===e&&this.value("currentDocument",""),this.isChanged(!0))},moveDocument:function(e,t){var n,o=this.$$_original.documents;"number"!=typeof(t=null==t?-1:t)&&(t=parseInt(t,10),isNaN(t))||(t<0&&(t=(n=this.getSelectDocument())?this.getIndex(n)+1:o.length),n=!1,n=(Array.isArray(e)?function(e,t,n){var o,r;if(!(n<0))return o=e.slice(0,n),r=e.slice(n),t.forEach(function(e){var t=o.indexOf(e),t=(-1',project:s.uid()},e),o.open(e,function(e,t){if(e)return void 0;void 0,t||void 0,n&&n(t)})}},new n}e.$inject=["$assets","$projects","$fsTree","FileSystem","$util","$import"],MODULE.core.instance.service("$cleanProjectAsset",e)}(),!function(){function e(r,u,y,p,P,w,C,b,T,R,t,S){function m(e){return e.replace(/\$/g,"$$$$")}function e(){}var s,l,c,h,f,g="\r\n",v=" ",d=/#_VERSION_#/g,_=/#_WIDTH_#/g,$=/#_HEIGHT_#/g,E=/#_TITLE_#/g,O=/#_DESCRIPTION_#/g,D=/#_SEARCH_CONTENT_#/g,x=//g,n=/#_JS_DATA_#/g,A=/#_BOOK_ID_#/g,i=/#_LANGUAGE_#/g,a=/#_CREATER_#/g,M=/#_DATE_#/g,N=/#_PUBLISHER_#/g,L=/#_GENERATOR_#/g,k=/#_MANIFEST_LIST_#/g,U=/#_SPINE_LIST_#/g,I=/#_NAV_MAP_#/g,j=/#_PRINT_MAP_#/g;return e.prototype={_clear:function(t){var e={path:[y.PUBLISH_FOLDER]};p.remove(e,null,function(e){t(e)})},build:function(t){this._clear(function(e){if(e)return t(e);e={path:y.PUBLISH_FOLDER};p.newFolder(e,function(e){t&&t(e)})})},cerateOPF:function(n,o,r){function i(){var t=o.dest+"/"+y.content_opf,e=a.getOPF(n);p.outputFile(t,e,{encoding:"utf8"},function(e){void 0,e?r(e):r()})}var a;void 0,o.dest?(a=this,s?i():p.readFile(y.OPF_SAMPLE,{encoding:"utf8"},function(e,t){s=t,i()})):r("OPF 생성 경로가 지정되지 않았습니다.")},getOPF:function(e){var t=this._getMetadata(e.metadata),n=this._getManifest(e.manifest,t.cover),e=this._getSpine(e.spine,t.cover),o=s;return o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.replace(A,m(t.uid))).replace(E,m(t.title))).replace(i,m(t.language))).replace(a,m(t.creator))).replace(M,m(t.date))).replace(N,m(t.publisher))).replace(O,m(t.description))).replace(L,m(t.generator))).replace(k,m(n))).replace(U,m(e))},_getMetadata:function(e,t){var n={},o=e.uid,o=(o.indexOf("urn:uuid")<0&&(o="urn:uuid:"+o),n.uid=o,n.creator=e.creator||"",e.date||new Date);return n.date=r("date")(o,"yyyy-MM-ddTHH:mm:ss")+"Z",n.title=e.title||"",n.language=e.language||"en-US",n.publisher=e.publisher||"",n.description=e.description||"",n.generator=u.version(),n.cover=e.cover||"",n},_getManifest:function(e,t){var n,o=e.length,r=g;t&&(n=(t=T.get(t)).value("path"),"jpg"===(t=t.value("type")).toLowerCase()&&(t="jpeg"),r=r+(' '+g+g);for(var i=0;i'+g}return r},_getSpine:function(e,t){for(var n=e.length,o=g,r=0;r'+g;return o},createHTML:function(n,e,o){function r(){var e=a._getPageHTML(n),t=i+"/"+n.path;p.outputFile(t,e,{encoding:"utf8"},function(e){void 0,o(e||null)})}var i,a;void 0,e.dest?(i=e.dest,e=t.usePageSampleCache,a=this,e&&l?r():(e=y.getTemplatePagePath(),p.readFile(e,{encoding:"utf8"},function(e,t){l=t,r()}))):o("HTML 생성 경로가 지정되지 않았습니다.")},_getPageHTML:function(e){var t,n,o,r=u.version(),i=w.get(e.projectUID),a=i.getNoneCopyValue("paper"),s=a.width,a=a.height,c=C.get(e.documentUID),i=(c&&(""===(t=c.getNoneCopyValue("subject"))&&(t=i.getNoneCopyValue("subject")||""),n=c.getNoneCopyValue("description"),o=c.getNoneCopyValue("search")),void 0===t&&(t=""),void 0===n&&(n=""),void 0===o&&(o=""),l),c=(i=(i=(i=(i=(i=(i=i.replace(d,m(r))).replace(_,s)).replace($,a)).replace(E,m(t))).replace(O,m(n))).replace(D,m(o)),this._getScriptResourceSetting(e));return i=i.replace(x,m(c))},_getScriptResourceSetting:function(e){var t=g+v,n="",o=(e.isPreview?n+=t+"\x3c!-- //////////////////////////////////////////////////////"+t+"// Jikji 미리보기 페이지 세팅"+t+"////////////////////////////////////////////////////////--\x3e"+t+t+"\x3c!--socket.io-client v2.3.0--\x3e"+t+'